73 if( fabs(rho)<1.
e-10 ) {
78 float sign =
p.dot(
x-xold);
79 s = sign>0 ? dx.
mag() : -dx.
mag();
87 IterativeHelixExtrapolatorToLine extrapolator(helixPos,helixDir,rho,
anyDirection);
129 double pmag(p.
mag());
133 std::pair<bool,double> propResult = extrapolator.pathLength(line);
134 if ( !propResult.first )
return false;
135 s = propResult.second;
145 pGen *= pmag/pGen.
mag();
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
const GlobalTrajectoryParameters & parameters() const
const AlgebraicMatrix55 & jacobian() const
ReturnType plane(const PositionType &pos, const RotationType &rot) const
Global3DPoint GlobalPoint
virtual Propagator * clone() const =0
TrackCharge charge() const
const CurvilinearTrajectoryError & curvilinearError() const
const SurfaceType & surface() const
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
GlobalVector momentum() const
GlobalPoint position() const
GlobalPoint position() const
GlobalPoint closerPointToLine(const Line &aLine) const
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
double transverseCurvature() const
virtual const MagneticField * magneticField() const =0
const AlgebraicSymMatrix55 & matrix() const
std::vector< TrajectoryStateOnSurface > components() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
tuple AnalyticalPropagator
Global3DVector GlobalVector