CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
StraightLinePlaneCrossing.h
Go to the documentation of this file.
1 #ifndef StraightLinePlaneCrossing_H_
2 #define StraightLinePlaneCrossing_H_
3 
6 
7 #include <utility>
8 
9 class Plane;
10 
15 public:
23 
24 public:
28  const DirectionType& momentum,
29  const PropagationDirection propDir = alongMomentum) :
30  theX0(point),
31  theP0(momentum.unit()),
32  thePropDir(propDir) {}
33 
34  // destructor
36 
40  std::pair<bool,double> pathLength (const Plane& plane) const;
41 
44  PositionType position (float s) const {return PositionType(theX0+s*theP0);}
45 
48  std::pair<bool,PositionType> position(const Plane& plane) const;
49 
50 private:
51  //
52  // single precision vectors sufficient for internal use
53  //
54 
58 };
59 
60 #endif
const PropagationDirection thePropDir
Basic3DVector< float > PositionType
StraightLinePlaneCrossing(const PositionType &point, const DirectionType &momentum, const PropagationDirection propDir=alongMomentum)
PropagationDirection
Definition: Plane.h:17
string unit
Definition: csvLumiCalc.py:46
PositionType position(float s) const
std::pair< bool, double > pathLength(const Plane &plane) const
*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