Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:56

0001 #ifndef HitRZCompatibility_H
0002 #define HitRZCompatibility_H
0003 
0004 /** abstract class to check if r-z coordinates or comptible with the region */
0005 #include "RecoTracker/TkMSParametrization/interface/PixelRecoRange.h"
0006 #include "RecoTracker/TkTrackingRegions/interface/TkTrackingRegionsMargin.h"
0007 
0008 class HitRZCompatibility {
0009 public:
0010   // only three algos are implemented..
0011   enum Algo { zAlgo = 0, rAlgo = 1, etaAlgo = 2 };
0012 
0013 public:
0014   typedef PixelRecoRange<float> Range;
0015 
0016   explicit HitRZCompatibility(Algo a) : m_algo(a) {}
0017   virtual ~HitRZCompatibility() {}
0018   virtual bool operator()(const float& r, const float& z) const = 0;
0019   virtual Range range(const float& rORz) const = 0;
0020   virtual HitRZCompatibility* clone() const = 0;
0021   Algo algo() const { return m_algo; }
0022   Algo m_algo;
0023 };
0024 #endif