1 #ifndef CommonDet_Propagator_H
2 #define CommonDet_Propagator_H
49 template <
typename STA,
typename SUR>
70 virtual std::pair<TrajectoryStateOnSurface,
double>
propagateWithPath(const FreeTrajectoryState&,
83 virtual std::pair<TrajectoryStateOnSurface,
double>
propagateWithPath(const TrajectoryStateOnSurface& tsos,
84 const
Surface& sur) const final;
86 virtual std::pair<TrajectoryStateOnSurface,
double>
propagateWithPath(const TrajectoryStateOnSurface& tsos,
87 const
Plane& sur)
const {
168 #endif // CommonDet_Propagator_H
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
virtual void setPropagationDirection(PropagationDirection dir)
Propagator(PropagationDirection dir=alongMomentum)
virtual Propagator * clone() const =0
virtual PropagationDirection propagationDirection() const final
virtual bool setMaxDirectionChange(float phiMax)
std::unique_ptr< Propagator > SetPropagationDirection(Propagator const &iprop, PropagationDirection dir)
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const final
PropagationDirection theDir
FreeTrajectoryState const * freeState(bool withErrors=true) const
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
virtual const MagneticField * magneticField() const =0
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final