Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef OuterHitPhiPrediction_H
0002 #define OuterHitPhiPrediction_H
0003 
0004 /** predicts phi range at a given radius r */
0005 
0006 #include "RecoTracker/TkMSParametrization/interface/PixelRecoRange.h"
0007 
0008 #include "FWCore/Utilities/interface/Visibility.h"
0009 
0010 #include <cassert>
0011 
0012 class dso_internal OuterHitPhiPrediction {
0013 public:
0014   using Range = PixelRecoRange<float>;
0015 
0016   OuterHitPhiPrediction(const Range& phiAtVertex, const Range& curvature, float originRBound)
0017       : thePhiAtVertex(phiAtVertex), theCurvature(curvature), theOriginRBound(originRBound) {
0018     //       assert(theCurvature.max()>0);
0019     assert(theCurvature.max() == -theCurvature.min());
0020   }
0021 
0022   void setTolerance(float tolerance) { theTolerance = tolerance; }
0023 
0024   Range operator()(float radius) const { return sym(radius); }
0025 
0026 private:
0027   Range sym(float radius) const;
0028   Range asym(float radius) const;
0029 
0030   Range thePhiAtVertex;
0031   Range theCurvature;
0032   float theOriginRBound;
0033   float theTolerance = 0.f;
0034 };
0035 
0036 #endif