CMS 3D CMS Logo

IterativeHelixExtrapolatorToLine.h
Go to the documentation of this file.
1 #ifndef IterativeHelixExtrapolatorToLine_h_
2 #define IterativeHelixExtrapolatorToLine_h_
3 
8 
14 public:
18  const DirectionType& direction,
19  const float curvature,
20  const PropagationDirection propDir = anyDirection);
21  // destructor
23 
28  std::pair<bool, double> pathLength(const GlobalPoint& point) const override;
29 
34  std::pair<bool, double> pathLength(const Line& line) const override;
35 
38  PositionType position(double s) const override;
39 
42  DirectionType direction(double s) const override;
43 
47 
51 
52 private:
54  template <class T>
55  std::pair<bool, double> genericPathLength(const T& object) const dso_internal;
56 
57 private:
58  const double theX0, theY0, theZ0;
61  const double theRho;
62 
64 
66 
67  mutable double theCachedS;
68  mutable double theCachedDPhi;
69  mutable double theCachedSDPhi;
70  mutable double theCachedCDPhi;
71 };
72 
73 #endif
Visibility.h
IterativeHelixExtrapolatorToLine::theCosPhi0
double theCosPhi0
Definition: IterativeHelixExtrapolatorToLine.h:59
anyDirection
Definition: PropagationDirection.h:4
IterativeHelixExtrapolatorToLine::theCachedSDPhi
double theCachedSDPhi
Definition: IterativeHelixExtrapolatorToLine.h:69
IterativeHelixExtrapolatorToLine::theCachedS
double theCachedS
Definition: IterativeHelixExtrapolatorToLine.h:67
IterativeHelixExtrapolatorToLine::theCachedCDPhi
double theCachedCDPhi
Definition: IterativeHelixExtrapolatorToLine.h:70
IterativeHelixExtrapolatorToLine
Definition: IterativeHelixExtrapolatorToLine.h:13
IterativeHelixExtrapolatorToLine::pathLength
std::pair< bool, double > pathLength(const GlobalPoint &point) const override
Definition: IterativeHelixExtrapolatorToLine.cc:37
IterativeHelixExtrapolatorToLine::~IterativeHelixExtrapolatorToLine
~IterativeHelixExtrapolatorToLine() override
Definition: IterativeHelixExtrapolatorToLine.h:22
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:42
HelixExtrapolatorToLine2Order
Definition: HelixExtrapolatorToLine2Order.h:11
IterativeHelixExtrapolatorToLine::theCosTheta
double theCosTheta
Definition: IterativeHelixExtrapolatorToLine.h:60
IterativeHelixExtrapolatorToLine::theQuadraticSolutionFromStart
HelixExtrapolatorToLine2Order theQuadraticSolutionFromStart
Definition: IterativeHelixExtrapolatorToLine.h:63
alignCSCRings.s
s
Definition: alignCSCRings.py:92
HelixLineExtrapolation
Definition: HelixLineExtrapolation.h:15
IterativeHelixExtrapolatorToLine::theCachedDPhi
double theCachedDPhi
Definition: IterativeHelixExtrapolatorToLine.h:68
IterativeHelixExtrapolatorToLine::directionInDouble
DirectionTypeDouble directionInDouble(double s) const
Definition: IterativeHelixExtrapolatorToLine.cc:184
IterativeHelixExtrapolatorToLine::position
PositionType position(double s) const override
Definition: IterativeHelixExtrapolatorToLine.cc:128
Point3DBase< float, GlobalTag >
IterativeHelixExtrapolatorToLine::theZ0
const double theZ0
Definition: IterativeHelixExtrapolatorToLine.h:58
IterativeHelixExtrapolatorToLine::IterativeHelixExtrapolatorToLine
IterativeHelixExtrapolatorToLine(const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=anyDirection)
Definition: IterativeHelixExtrapolatorToLine.cc:4
HelixLineExtrapolation::PositionType
Basic3DVector< float > PositionType
Definition: HelixLineExtrapolation.h:22
HelixExtrapolatorToLine2Order.h
dso_internal
#define dso_internal
Definition: Visibility.h:13
IterativeHelixExtrapolatorToLine::thePropDir
const PropagationDirection thePropDir
Definition: IterativeHelixExtrapolatorToLine.h:65
HelixLineExtrapolation::DirectionType
Basic3DVector< float > DirectionType
Definition: HelixLineExtrapolation.h:23
Line
Definition: Line.h:10
HelixLineExtrapolation::PositionTypeDouble
Basic3DVector< double > PositionTypeDouble
Definition: HelixLineExtrapolation.h:24
IterativeHelixExtrapolatorToLine::theX0
const double theX0
Definition: IterativeHelixExtrapolatorToLine.h:58
IterativeHelixExtrapolatorToLine::theSinTheta
double theSinTheta
Definition: IterativeHelixExtrapolatorToLine.h:60
PropagationDirection.h
IterativeHelixExtrapolatorToLine::theSinPhi0
double theSinPhi0
Definition: IterativeHelixExtrapolatorToLine.h:59
T
long double T
Definition: Basic3DVectorLD.h:48
IterativeHelixExtrapolatorToLine::genericPathLength
std::pair< bool, double > genericPathLength(const T &object) const
common functionality for extrapolation to line or point
Definition: IterativeHelixExtrapolatorToLine.cc:53
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
IterativeHelixExtrapolatorToLine::direction
DirectionType direction(double s) const override
Definition: IterativeHelixExtrapolatorToLine.cc:174
IterativeHelixExtrapolatorToLine::theRho
const double theRho
Definition: IterativeHelixExtrapolatorToLine.h:61
HelixLineExtrapolation::DirectionTypeDouble
Basic3DVector< double > DirectionTypeDouble
Definition: HelixLineExtrapolation.h:25
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
HelixLineExtrapolation.h
mps_splice.line
line
Definition: mps_splice.py:76
IterativeHelixExtrapolatorToLine::positionInDouble
PositionTypeDouble positionInDouble(double s) const
Definition: IterativeHelixExtrapolatorToLine.cc:136
IterativeHelixExtrapolatorToLine::theY0
const double theY0
Definition: IterativeHelixExtrapolatorToLine.h:58
Basic3DVector< float >