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 
14 public:
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 
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
PositionTypeDouble positionInDouble(double s) const
IterativeHelixExtrapolatorToLine(const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=anyDirection)
DirectionTypeDouble directionInDouble(double s) const
virtual PositionType position(double s) const
Definition: Line.h:10
Basic3DVector< double > PositionTypeDouble
virtual DirectionType direction(double s) const
PropagationDirection
Basic3DVector< double > DirectionTypeDouble
virtual std::pair< bool, double > pathLength(const GlobalPoint &point) const
std::pair< bool, double > genericPathLength(const T &object) const
common functionality for extrapolation to line or point
Basic3DVector< float > DirectionType
T curvature(T InversePt, const edm::EventSetup &iSetup)
Basic3DVector< float > PositionType
#define dso_internal
HelixExtrapolatorToLine2Order theQuadraticSolutionFromStart
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