1 #ifndef HELIXARBITRARYPLANECROSSING2ORDER_H_
2 #define HELIXARBITRARYPLANECROSSING2ORDER_H_
23 const double& cosPhi0,
const double& sinPhi0,
24 const double& cosTheta,
const double& sinTheta,
66 const double secondPathLength)
const {
67 return fabs(firstPathLength)<fabs(secondPathLength) ? firstPathLength : secondPathLength;
HelixArbitraryPlaneCrossing2Order(const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=alongMomentum)
DirectionTypeDouble directionInDouble(double s) const
virtual std::pair< bool, double > pathLength(const Plane &)
HelixArbitraryPlaneCrossing2Order(const double &x0, const double &y0, const double &z0, const double &cosPhi0, const double &sinPhi0, const double &cosTheta, const double &sinTheta, const double &rho, const PropagationDirection propDir=alongMomentum)
virtual ~HelixArbitraryPlaneCrossing2Order()
double smallestPathLength(const double firstPathLength, const double secondPathLength) const
Basic3DVector< double > PositionTypeDouble
T curvature(T InversePt, const edm::EventSetup &iSetup)
PositionTypeDouble positionInDouble(double s) const
std::pair< bool, double > solutionByDirection(const double dS1, const double dS2) const
Basic3DVector< float > PositionType
the helix is passed to the constructor and does not appear in the interface
Basic3DVector< float > DirectionType
Basic3DVector< double > DirectionTypeDouble
virtual PositionType position(double s) const
const PropagationDirection thePropDir
virtual DirectionType direction(double s) 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