#include <HelixForwardPlaneCrossing.h>
Public Member Functions | |
virtual DirectionType | direction (double s) const |
HelixForwardPlaneCrossing (const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=alongMomentum) | |
virtual std::pair< bool, double > | pathLength (const Plane &plane) |
virtual PositionType | position (double s) const |
virtual | ~HelixForwardPlaneCrossing () |
Private Types | |
typedef Basic3DVector< double > | DirectionTypeDouble |
typedef Basic3DVector< double > | PositionTypeDouble |
Private Attributes | |
double | theCachedCDPhi |
double | theCachedDPhi |
double | theCachedS |
double | theCachedSDPhi |
double | theCosPhi0 |
double | theCosTheta |
const PropagationDirection | thePropDir |
const double | theRho |
double | theSinPhi0 |
double | theSinTheta |
const double | theX0 |
const double | theY0 |
const double | theZ0 |
Static Private Attributes | |
static const float | theNumericalPrecision = 5.e-7 |
Additional Inherited Members | |
Public Types inherited from HelixPlaneCrossing | |
typedef Basic3DVector< float > | DirectionType |
typedef Basic3DVector< float > | PositionType |
the helix is passed to the constructor and does not appear in the interface More... | |
Calculates intersections of a helix with planes perpendicular to the z-axis.
Definition at line 10 of file HelixForwardPlaneCrossing.h.
|
private |
Definition at line 39 of file HelixForwardPlaneCrossing.h.
|
private |
Definition at line 38 of file HelixForwardPlaneCrossing.h.
HelixForwardPlaneCrossing::HelixForwardPlaneCrossing | ( | const PositionType & | point, |
const DirectionType & | direction, | ||
const float | curvature, | ||
const PropagationDirection | propDir = alongMomentum |
||
) |
Constructor using point, direction and (transverse!) curvature.
Definition at line 7 of file HelixForwardPlaneCrossing.cc.
References p2, mathSSE::sqrt(), theCosPhi0, theCosTheta, theSinPhi0, theSinTheta, Basic3DVector< T >::x(), Basic3DVector< T >::y(), and Basic3DVector< T >::z().
|
inlinevirtual |
Definition at line 19 of file HelixForwardPlaneCrossing.h.
|
virtual |
Direction at pathlength s from the starting point.
Implements HelixPlaneCrossing.
Definition at line 94 of file HelixForwardPlaneCrossing.cc.
References funct::cos(), alignCSCRings::e, alignCSCRings::s, funct::sin(), theCachedCDPhi, theCachedDPhi, theCachedS, theCachedSDPhi, theCosPhi0, theCosTheta, theRho, theSinPhi0, and theSinTheta.
|
virtual |
Propagation status (true if valid) and (signed) path length along the helix from the starting point to the plane.
Implements HelixPlaneCrossing.
Definition at line 41 of file HelixForwardPlaneCrossing.cc.
References abs, alongMomentum, oppositeToMomentum, GloballyPositioned< T >::position(), theCosTheta, thePropDir, theSinTheta, theZ0, and Basic3DVector< T >::z().
|
virtual |
Position at pathlength s from the starting point.
Implements HelixPlaneCrossing.
Definition at line 60 of file HelixForwardPlaneCrossing.cc.
References abs, funct::cos(), alignCSCRings::e, python.connectstrParser::o, alignCSCRings::s, funct::sin(), theCachedCDPhi, theCachedDPhi, theCachedS, theCachedSDPhi, theCosPhi0, theCosTheta, theRho, theSinPhi0, theSinTheta, theX0, theY0, and theZ0.
|
mutableprivate |
Definition at line 51 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
mutableprivate |
Definition at line 49 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
mutableprivate |
Definition at line 48 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
mutableprivate |
Definition at line 50 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
private |
Definition at line 42 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), and position().
|
private |
Definition at line 43 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), pathLength(), and position().
|
staticprivate |
Definition at line 53 of file HelixForwardPlaneCrossing.h.
|
private |
Definition at line 46 of file HelixForwardPlaneCrossing.h.
Referenced by pathLength().
|
private |
Definition at line 44 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
private |
Definition at line 42 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), and position().
|
private |
Definition at line 43 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), pathLength(), and position().
|
private |
Definition at line 41 of file HelixForwardPlaneCrossing.h.
Referenced by position().
|
private |
Definition at line 41 of file HelixForwardPlaneCrossing.h.
Referenced by position().
|
private |
Definition at line 41 of file HelixForwardPlaneCrossing.h.
Referenced by pathLength(), and position().