Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoTracker_PixelSeeding_ThirdHitRZPredictionBase_h
0002 #define RecoTracker_PixelSeeding_ThirdHitRZPredictionBase_h
0003 
0004 /** predicts a range in r-z for the position of third hit.
0005  *  The is the base class with common code, the actual implementation
0006  *  is interfaced in the ThirdHitRZPrediction template.
0007  *  The margin is defined by hit errors and multiple scattering.
0008  */
0009 
0010 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0011 #include "RecoTracker/TkMSParametrization/interface/PixelRecoRange.h"
0012 #include "RecoTracker/TkTrackingRegions/interface/TkTrackingRegionsMargin.h"
0013 
0014 class DetLayer;
0015 class OrderedHitPair;
0016 class MultipleScatteringParametrisation;
0017 
0018 class ThirdHitRZPredictionBase {
0019 public:
0020   typedef PixelRecoRange<float> Range;
0021   typedef TkTrackingRegionsMargin<float> Margin;
0022 
0023   ThirdHitRZPredictionBase();
0024   ThirdHitRZPredictionBase(float tolerance, const DetLayer* layer = nullptr);
0025 
0026   const Range& detRange() const { return theDetRange; }
0027   const Range& detSize() const { return theDetSize; }
0028 
0029   void initTolerance(float tolerance) { theTolerance = Margin(tolerance, tolerance); }
0030   void initLayer(const DetLayer* layer);
0031 
0032 protected:
0033   bool theBarrel, theForward;
0034   Range theDetRange, theDetSize;
0035   Margin theTolerance;
0036 };
0037 #endif