#include <StraightLinePlaneCrossing.h>
Public Types | |
using | DirectionType = Basic3DVector< float > |
using | PositionType = Basic3DVector< float > |
Public Member Functions | |
std::pair< bool, double > | pathLength (const Plane &plane) const |
PositionType | position (float s) const |
std::pair< bool, PositionType > | position (const Plane &plane) const |
StraightLinePlaneCrossing (const PositionType &point, const DirectionType &momentum, const PropagationDirection propDir=alongMomentum) | |
~StraightLinePlaneCrossing () | |
Private Attributes | |
const PositionType | theP0 |
const PropagationDirection | thePropDir |
const PositionType | theX0 |
Calculates intersections of a line with a plane.
Definition at line 14 of file StraightLinePlaneCrossing.h.
using StraightLinePlaneCrossing::DirectionType = Basic3DVector<float> |
Definition at line 22 of file StraightLinePlaneCrossing.h.
using StraightLinePlaneCrossing::PositionType = Basic3DVector<float> |
The types for position and direction are frame-neutral (not global, local, etc.) so this interface can be used in any frame. Of course, the helix and the plane must be defined in the same frame, which is also the frame of the result.
Definition at line 21 of file StraightLinePlaneCrossing.h.
|
inline |
Constructor using point and momentum.
Definition at line 27 of file StraightLinePlaneCrossing.h.
|
inline |
std::pair< bool, double > StraightLinePlaneCrossing::pathLength | ( | const Plane & | plane | ) | const |
Propagation status (true if valid) and (signed) path length along the helix from the starting point to the plane.
Definition at line 9 of file StraightLinePlaneCrossing.cc.
References alongMomentum, Basic3DVector< T >::dot(), f, Plane::normalVector(), oppositeToMomentum, GloballyPositioned< T >::position(), theP0, thePropDir, and theX0.
Referenced by HelixBarrelPlaneCrossingByCircle::pathLength(), position(), RKPropagatorInS::propagateParametersOnPlane(), AnalyticalPropagator::propagateParametersOnPlane(), and ~StraightLinePlaneCrossing().
|
inline |
Position at pathlength s from the starting point.
Definition at line 44 of file StraightLinePlaneCrossing.h.
Referenced by position(), CtfSpecialSeedGenerator::postCheck(), RKPropagatorInS::propagateParametersOnPlane(), and AnalyticalPropagator::propagateParametersOnPlane().
std::pair< bool, StraightLinePlaneCrossing::PositionType > StraightLinePlaneCrossing::position | ( | const Plane & | plane | ) | const |
Simplified interface in case the path length is not needed
Definition at line 27 of file StraightLinePlaneCrossing.cc.
References pathLength(), and position().
|
private |
Definition at line 56 of file StraightLinePlaneCrossing.h.
Referenced by pathLength(), and position().
|
private |
Definition at line 57 of file StraightLinePlaneCrossing.h.
Referenced by pathLength().
|
private |
Definition at line 55 of file StraightLinePlaneCrossing.h.
Referenced by pathLength(), and position().