1 #ifndef _COMMONRECO_ANALYTICALPROPAGATOR_H_
2 #define _COMMONRECO_ANALYTICALPROPAGATOR_H_
29 float maxDPhi = 1.6,
bool isOld=
true) :
50 std::pair<TrajectoryStateOnSurface,double>
52 const Plane& plane)
const override;
56 std::pair<TrajectoryStateOnSurface,double>
58 const Cylinder& cylinder)
const override;
86 std::pair<TrajectoryStateOnSurface,double>
114 GlobalPoint&, GlobalVector&,
double&
s)
const dso_internal;
119 typedef std::pair<TrajectoryStateOnSurface,double>
TsosWP;
AnalyticalPropagator(const MagneticField *field, PropagationDirection dir=alongMomentum, float maxDPhi=1.6, bool isOld=true)
bool propagateWithLineCrossing(const GlobalPoint &, const GlobalVector &, const Plane &, GlobalPoint &, double &) const
straight line parameter propagation to a plane
bool propagateParametersOnPlane(const FreeTrajectoryState &fts, const Plane &plane, GlobalPoint &x, GlobalVector &p, double &s) const
parameter propagation to plane (returns position, momentum and path length)
bool isOldPropagationType
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &fts, const Plane &plane) const override
propagation to plane with path length
std::pair< TrajectoryStateOnSurface, double > propagatedStateWithPath(const FreeTrajectoryState &fts, const Surface &surface, const GlobalTrajectoryParameters >p, const double &s) const
propagation of errors (if needed) and generation of a new TSOS
virtual bool setMaxDirectionChange(float phiMax) override
bool propagateWithHelixCrossing(HelixPlaneCrossing &, const Plane &, const float, GlobalPoint &, GlobalVector &, double &s) const
helix parameter propagation to a plane using HelixPlaneCrossing
virtual AnalyticalPropagator * clone() const override
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
bool propagateParametersOnCylinder(const FreeTrajectoryState &fts, const Cylinder &cylinder, GlobalPoint &x, GlobalVector &p, double &s) const
parameter propagation to cylinder (returns position, momentum and path length)
void setMaxRelativeChangeInBz(const float maxDBz)
virtual const MagneticField * magneticField() const override
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
std::pair< TrajectoryStateOnSurface, double > TsosWP
const MagneticField * theField