CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoTracker/TkTrackingRegions/interface/OuterHitCompatibility.h

Go to the documentation of this file.
00001 #ifndef RecoTracker_TkTrackingRegions_OuterHitCompatibility_H
00002 #define RecoTracker_TkTrackingRegions_OuterHitCompatibility_H
00003 
00004 
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00012 #include "RecoTracker/TkTrackingRegions/interface/OuterHitPhiPrediction.h"
00013 #include "RecoTracker/TkTrackingRegions/interface/HitRZCompatibility.h"
00014 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00015 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00016 class OuterHitCompatibility {
00017 public:
00018 
00019   OuterHitCompatibility(
00020       const OuterHitPhiPrediction & phiPrediction,
00021       const HitRZCompatibility & rzCompatibility) 
00022     : thePhiPrediction(phiPrediction) 
00023   { theRZCompatibility = rzCompatibility.clone(); }
00024 
00025   OuterHitCompatibility(const OuterHitCompatibility & ohc) 
00026     : thePhiPrediction(ohc.thePhiPrediction)
00027   { theRZCompatibility = ohc.theRZCompatibility->clone(); } 
00028 
00029    ~OuterHitCompatibility() 
00030    { delete theRZCompatibility; }  
00031 
00032 
00033   bool operator() (const TransientTrackingRecHit * hit) const;
00034   bool operator() (const TrackingRecHit* hit,  const edm::EventSetup& iSetup) const;
00035 
00036   bool checkPhi(const float & phi, const float & r) const;
00037 
00038   OuterHitCompatibility* clone() const { 
00039     return new OuterHitCompatibility(*this);
00040   }
00041 
00042 protected:
00043   const HitRZCompatibility * theRZCompatibility;
00044   OuterHitPhiPrediction thePhiPrediction;
00045 };
00046 #endif