CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IterativeHelixExtrapolatorToLine.h
Go to the documentation of this file.
1 #ifndef IterativeHelixExtrapolatorToLine_h_
2 #define IterativeHelixExtrapolatorToLine_h_
3 
8 
13 class IterativeHelixExtrapolatorToLine GCC11_FINAL : public HelixLineExtrapolation {
14 public:
17  IterativeHelixExtrapolatorToLine (const PositionType& point,
18  const DirectionType& direction,
19  const float curvature,
20  const PropagationDirection propDir = anyDirection);
21  // destructor
23 
28  virtual std::pair<bool,double> pathLength (const GlobalPoint& point) const;
29 
34  virtual std::pair<bool,double> pathLength (const Line& line) const;
35 
38  virtual PositionType position (double s) const;
39 
42  virtual DirectionType direction (double s) const;
43 
46  PositionTypeDouble positionInDouble (double s) const;
47 
50  DirectionTypeDouble directionInDouble (double s) const;
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;
59  double theCosPhi0,theSinPhi0;
60  double theCosTheta,theSinTheta;
61  const double theRho;
62 
63  HelixExtrapolatorToLine2Order theQuadraticSolutionFromStart;
64 
65  const PropagationDirection thePropDir;
66 
67  mutable double theCachedS;
68  mutable double theCachedDPhi;
69  mutable double theCachedSDPhi;
70  mutable double theCachedCDPhi;
71 };
72 
73 #endif
Definition: Line.h:10
HelixExtrapolatorToLine2Order theQuadraticSolutionFromStart
PropagationDirection
Point3DBase< Scalar, GlobalTag > PositionType
Definition: Definitions.h:30
T curvature(T InversePt, const edm::EventSetup &iSetup)
virtual PositionType position(double s) const =0
virtual std::pair< bool, double > pathLength(const GlobalPoint &point) const =0
#define dso_internal
Definition: Visibility.h:13
virtual DirectionType direction(double s) const =0
long double T
*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
Unlimited (trivial) bounds.