CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HelixBarrelCylinderCrossing.h
Go to the documentation of this file.
1 #ifndef HelixBarrelCylinderCrossing_H
2 #define HelixBarrelCylinderCrossing_H
3 
8 
10 
11 class Cylinder;
12 
17 
18  typedef double TmpType;
19  typedef Basic2DVector<TmpType> Point; // for private use only
20  typedef Basic2DVector<TmpType> Vector; // for private use only
21 
22 public:
23 
26 
27  HelixBarrelCylinderCrossing( const GlobalPoint& startingPos,
28  const GlobalVector& startingDir,
29  double rho, PropagationDirection propDir,
30  const Cylinder& cyl);
31 
32  bool hasSolution() const { return theSolExists;}
33 
38  double pathLength() const { return theS;}
39 
46  PositionType position() const { return thePos;}
47 
49  PositionType position1() const { return thePos1;}
50 
52  PositionType position2() const { return thePos2;}
53 
54 
60  DirectionType direction() const { return theDir;}
61 
62 private:
63 
65  double theS;
70 
73 
74 
75  void chooseSolution( const Point& p1, const Point& p2,
76  const PositionType& startingPos,
77  const DirectionType& startingDir,
79 
80 };
81 
82 #endif
void chooseSolution(const Point &p1, const Point &p2, const PositionType &startingPos, const DirectionType &startingDir, PropagationDirection propDir) dso_internal
Definition: DDAxes.h:10
PropagationDirection
HelixBarrelCylinderCrossing(const GlobalPoint &startingPos, const GlobalVector &startingDir, double rho, PropagationDirection propDir, const Cylinder &cyl)
#define dso_internal
Definition: Visibility.h:13
double p2[4]
Definition: TauolaWrapper.h:90
PositionType position1() const
Method to access separately each solution of the helix-cylinder crossing equations.
double p1[4]
Definition: TauolaWrapper.h:89
PositionType position2() const
Method to access separately each solution of the helix-cylinder crossing equations.