00001 #ifndef GlobalTrackingRegion_H 00002 #define GlobalTrackingRegion_H 00003 00010 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegionBase.h" 00011 #include <vector> 00012 00013 class GlobalTrackingRegion : public TrackingRegionBase { 00014 public: 00015 00022 GlobalTrackingRegion ( float ptMin, const GlobalPoint & origin, 00023 float originRadius, float originHalfLength, bool precise=false) 00024 : TrackingRegionBase(GlobalVector( 0, 0, 0), origin, 00025 Range( -1/ptMin, 1/ptMin), originRadius, originHalfLength), 00026 thePrecise(precise) { } 00027 00028 GlobalTrackingRegion ( float ptMin = 1., float originRadius = 0.2, 00029 float originHalfLength = 22.7, float originZPos = 0., 00030 bool precise = false) 00031 : TrackingRegionBase(GlobalVector( 0, 0, 0), GlobalPoint( 0, 0, originZPos), 00032 Range( -1/ptMin, 1/ptMin), originRadius, originHalfLength), 00033 thePrecise(precise) { } 00034 00035 virtual std::vector<ctfseeding::SeedingHit> hits( 00036 const edm::Event& ev, 00037 const edm::EventSetup& es, 00038 const ctfseeding::SeedingLayer* layer) const; 00039 00040 00041 virtual HitRZCompatibility * checkRZ(const DetLayer* layer, 00042 const TrackingRecHit* outerHit, 00043 const edm::EventSetup& iSetup) const; 00044 00045 virtual GlobalTrackingRegion* clone() const { 00046 return new GlobalTrackingRegion(*this); 00047 } 00048 00049 virtual std::string name() const { return "GlobalTrackingRegion"; } 00050 virtual std::string print() const; 00051 00052 private: 00053 bool thePrecise; 00054 }; 00055 #endif