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 
9 class Cylinder;
10 
15 
16  typedef double TmpType;
17  typedef Basic2DVector<TmpType> Point; // for private use only
18  typedef Basic2DVector<TmpType> Vector; // for private use only
19 
20 public:
21 
24 
25  HelixBarrelCylinderCrossing( const GlobalPoint& startingPos,
26  const GlobalVector& startingDir,
27  double rho, PropagationDirection propDir,
28  const Cylinder& cyl);
29 
30  bool hasSolution() const { return theSolExists;}
31 
36  double pathLength() const { return theS;}
37 
44  PositionType position() const { return thePos;}
45 
51  DirectionType direction() const { return theDir;}
52 
53 private:
54 
56  double theS;
61 
62  void chooseSolution( const Point& p1, const Point& p2,
63  const PositionType& startingPos,
64  const DirectionType& startingDir,
65  PropagationDirection propDir);
66 
67 };
68 
69 #endif
void chooseSolution(const Point &p1, const Point &p2, const PositionType &startingPos, const DirectionType &startingDir, PropagationDirection propDir)
Definition: DDAxes.h:10
PropagationDirection
HelixBarrelCylinderCrossing(const GlobalPoint &startingPos, const GlobalVector &startingDir, double rho, PropagationDirection propDir, const Cylinder &cyl)
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89