File indexing completed on 2024-04-06 12:28:58
0001 #ifndef OuterHitPhiPrediction_H
0002 #define OuterHitPhiPrediction_H
0003
0004
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
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