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