CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h

Go to the documentation of this file.
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 TrackingRegion::Hits 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 Hit &  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