1 #ifndef _COMMONRECO_ANALYTICALPROPAGATOR_H_
2 #define _COMMONRECO_ANALYTICALPROPAGATOR_H_
29 float maxDPhi = 1.6,
bool isOld=
true) :
31 theMaxDPhi2(maxDPhi*maxDPhi),
34 isOldPropagationType(isOld) {}
49 const Plane& plane)
const {
53 std::pair<TrajectoryStateOnSurface,double>
55 const Plane& plane)
const;
63 std::pair<TrajectoryStateOnSurface,double>
70 theMaxDPhi2 = phiMax*
phiMax;
74 #ifndef CMS_NO_RELAXED_RETURN_TYPE
88 theMaxDBzRatio = maxDBz;
94 std::pair<TrajectoryStateOnSurface,double>
122 GlobalPoint&, GlobalVector&,
double&
s)
const dso_internal;
127 typedef std::pair<TrajectoryStateOnSurface,double>
TsosWP;
std::pair< TrajectoryStateOnSurface, double > TsosWP
bool isOldPropagationType
const MagneticField * theField
virtual Propagator * clone() const =0
AnalyticalPropagator(const MagneticField *field, PropagationDirection dir=alongMomentum, float maxDPhi=1.6, bool isOld=true)
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
virtual bool setMaxDirectionChange(float phiMax)
TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Cylinder &cylinder) const
propagation to cylinder
void setMaxRelativeChangeInBz(const float maxDBz)
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Plane &plane) const
propagation to plane
tuple AnalyticalPropagator
virtual AnalyticalPropagator * clone() const
Unlimited (trivial) bounds.