1 #ifndef CommonDet_Propagator_H
2 #define CommonDet_Propagator_H
54 template<
typename STA,
typename SUR>
56 propagate (STA
const & state, SUR
const & surface)
const {
72 virtual std::pair< TrajectoryStateOnSurface, double>
78 virtual std::pair< TrajectoryStateOnSurface,
double>
91 virtual std::pair< TrajectoryStateOnSurface,
double>
94 virtual std::pair< TrajectoryStateOnSurface,
double>
99 virtual std::pair< TrajectoryStateOnSurface, double>
107 virtual std::pair<FreeTrajectoryState, double>
110 virtual std::pair<FreeTrajectoryState, double>
114 virtual std::pair<FreeTrajectoryState, double>
188 #endif // CommonDet_Propagator_H
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
virtual void setPropagationDirection(PropagationDirection dir)
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const
virtual PropagationDirection propagationDirection() const
Propagator(PropagationDirection dir=alongMomentum)
virtual Propagator * clone() const =0
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 const MagneticField * magneticField() const =0
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final