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) {}
50 std::pair<TrajectoryStateOnSurface,double>
52 const Plane& plane)
const override;
56 std::pair<TrajectoryStateOnSurface,double>
58 const Cylinder& cylinder)
const override;
66 theMaxDPhi2 = phiMax*phiMax;
80 theMaxDBzRatio = maxDBz;
86 std::pair<TrajectoryStateOnSurface,double>
114 GlobalPoint&, GlobalVector&,
double&
s)
const dso_internal;
119 typedef std::pair<TrajectoryStateOnSurface,double>
TsosWP;
std::pair< TrajectoryStateOnSurface, double > TsosWP
bool isOldPropagationType
const MagneticField * theField
AnalyticalPropagator(const MagneticField *field, PropagationDirection dir=alongMomentum, float maxDPhi=1.6, bool isOld=true)
virtual bool setMaxDirectionChange(float phiMax)
void setMaxRelativeChangeInBz(const float maxDBz)
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
tuple AnalyticalPropagator
virtual AnalyticalPropagator * clone() const
Unlimited (trivial) bounds.