#include <HelixLineExtrapolation.h>
Public Types | |
typedef Basic3DVector< float > | DirectionType |
typedef Basic3DVector< double > | DirectionTypeDouble |
typedef Basic3DVector< float > | PositionType |
typedef Basic3DVector< double > | PositionTypeDouble |
Public Member Functions | |
virtual DirectionType | direction (double s) const =0 |
virtual std::pair< bool, double > | pathLength (const Line &line) const =0 |
virtual std::pair< bool, double > | pathLength (const GlobalPoint &point) const =0 |
virtual PositionType | position (double s) const =0 |
Abstract interface for the extrapolation of a helix to the closest approach to a line.
Definition at line 17 of file HelixLineExtrapolation.h.
typedef Basic3DVector<float> HelixLineExtrapolation::DirectionType |
Definition at line 25 of file HelixLineExtrapolation.h.
typedef Basic3DVector<double> HelixLineExtrapolation::DirectionTypeDouble |
Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
Definition at line 27 of file HelixLineExtrapolation.h.
typedef Basic3DVector<float> HelixLineExtrapolation::PositionType |
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 24 of file HelixLineExtrapolation.h.
typedef Basic3DVector<double> HelixLineExtrapolation::PositionTypeDouble |
Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
Definition at line 26 of file HelixLineExtrapolation.h.
virtual DirectionType HelixLineExtrapolation::direction | ( | double | s | ) | const [pure virtual] |
Returns the direction along the helix that corresponds to path length "s" from the starting point. As for position, the direction at the closest approach (if it exists!) is given by direction( pathLength(line) ).
Implemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
virtual std::pair<bool,double> HelixLineExtrapolation::pathLength | ( | const Line & | line | ) | const [pure virtual] |
Propagation status (true if valid) and (signed) path length along the helix from the starting point to the closest approach to the line. The starting point is given in the constructor.
Implemented in GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
virtual std::pair<bool,double> HelixLineExtrapolation::pathLength | ( | const GlobalPoint & | point | ) | const [pure virtual] |
Propagation status (true if valid) and (signed) path length along the helix from the starting point to the closest approach to the point. The starting point is given in the constructor.
virtual PositionType HelixLineExtrapolation::position | ( | double | s | ) | const [pure virtual] |
Returns the position along the helix that corresponds to path length "s" from the starting point. If s is obtained from the pathLength method the position is the destination point, i.e. the position at the closest approach (if it exists!) is given by position( pathLength(line) ).
Implemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.