1 #ifndef CommonDet_Propagator_H
2 #define CommonDet_Propagator_H
51 template<
typename STA,
typename SUR>
53 propagate (STA
const & state, SUR
const & surface)
const {
68 virtual std::pair< TrajectoryStateOnSurface, double>
74 virtual std::pair< TrajectoryStateOnSurface,
double>
87 virtual std::pair< TrajectoryStateOnSurface,
double>
90 virtual std::pair< TrajectoryStateOnSurface,
double>
95 virtual std::pair< TrajectoryStateOnSurface, double>
103 virtual std::pair<FreeTrajectoryState, double>
106 virtual std::pair<FreeTrajectoryState, double>
110 virtual std::pair<FreeTrajectoryState, double>
184 #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
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
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