#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 12 of file HelixForwardPlaneCrossing.h.
|
private |
Definition at line 55 of file HelixForwardPlaneCrossing.h.
|
private |
Definition at line 54 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 6 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 21 of file HelixForwardPlaneCrossing.h.
|
virtual |
Direction at pathlength s from the starting point.
Implements HelixPlaneCrossing.
Definition at line 73 of file HelixForwardPlaneCrossing.cc.
References alignCSCRings::e, alignCSCRings::s, theCachedCDPhi, theCachedDPhi, theCachedS, theCachedSDPhi, theCosPhi0, theCosTheta, theRho, theSinPhi0, and theSinTheta.
|
inlinevirtual |
Propagation status (true if valid) and (signed) path length along the helix from the starting point to the plane.
Implements HelixPlaneCrossing.
Definition at line 26 of file HelixForwardPlaneCrossing.h.
References funct::abs(), alongMomentum, min(), oppositeToMomentum, GloballyPositioned< T >::position(), theCosTheta, thePropDir, theZ0, unlikely, and Basic3DVector< T >::z().
Referenced by CompositeTECWedge::computeCrossings(), TIDRing::computeCrossings(), and CompositeTECPetal::computeCrossings().
|
virtual |
Position at pathlength s from the starting point.
Implements HelixPlaneCrossing.
Definition at line 41 of file HelixForwardPlaneCrossing.cc.
References funct::abs(), alignCSCRings::e, connectstrParser::o, alignCSCRings::s, theCachedCDPhi, theCachedDPhi, theCachedS, theCachedSDPhi, theCosPhi0, theCosTheta, theRho, theSinPhi0, theSinTheta, theX0, theY0, and theZ0.
Referenced by CompositeTECWedge::computeCrossings(), TIDRing::computeCrossings(), and CompositeTECPetal::computeCrossings().
|
mutableprivate |
Definition at line 67 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
mutableprivate |
Definition at line 65 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
mutableprivate |
Definition at line 64 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
mutableprivate |
Definition at line 66 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
private |
Definition at line 58 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), and position().
|
private |
Definition at line 59 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), pathLength(), and position().
|
staticprivate |
Definition at line 69 of file HelixForwardPlaneCrossing.h.
|
private |
Definition at line 62 of file HelixForwardPlaneCrossing.h.
Referenced by pathLength().
|
private |
Definition at line 60 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), and position().
|
private |
Definition at line 58 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), and position().
|
private |
Definition at line 59 of file HelixForwardPlaneCrossing.h.
Referenced by direction(), HelixForwardPlaneCrossing(), and position().
|
private |
Definition at line 57 of file HelixForwardPlaneCrossing.h.
Referenced by position().
|
private |
Definition at line 57 of file HelixForwardPlaneCrossing.h.
Referenced by position().
|
private |
Definition at line 57 of file HelixForwardPlaneCrossing.h.
Referenced by pathLength(), and position().