1 #ifndef CommonDet_Propagator_H 2 #define CommonDet_Propagator_H 49 template <
typename STA,
typename SUR>
51 return propagateWithPath(state, surface).first;
64 virtual std::pair<TrajectoryStateOnSurface, double> propagateWithPath(
const FreeTrajectoryState&,
67 virtual std::pair<TrajectoryStateOnSurface, double> propagateWithPath(
const FreeTrajectoryState&,
68 const Plane&)
const = 0;
70 virtual std::pair<TrajectoryStateOnSurface, double> propagateWithPath(
const FreeTrajectoryState&,
84 const Surface& sur)
const final;
87 const Plane& sur)
const {
88 return propagateWithPath(*tsos.
freeState(), sur);
93 return propagateWithPath(*tsos.
freeState(), sur);
98 virtual std::pair<FreeTrajectoryState, double> propagateWithPath(
const FreeTrajectoryState& ftsStart,
101 virtual std::pair<FreeTrajectoryState, double> propagateWithPath(
const FreeTrajectoryState& ftsStart,
105 virtual std::pair<FreeTrajectoryState, double> propagateWithPath(
const FreeTrajectoryState& ftsStart,
110 return propagateWithPath(ftsStart, pDest).first;
115 return propagateWithPath(ftsStart, pDest1, pDest2).first;
119 return propagateWithPath(ftsStart, beamSpot).first;
168 #endif // CommonDet_Propagator_H virtual void setPropagationDirection(PropagationDirection dir)
Propagator(PropagationDirection dir=alongMomentum)
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Plane &sur) const
virtual bool setMaxDirectionChange(float phiMax)
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
std::unique_ptr< Propagator > SetPropagationDirection(Propagator const &iprop, PropagationDirection dir)
virtual PropagationDirection propagationDirection() const final
PropagationDirection theDir
FreeTrajectoryState const * freeState(bool withErrors=true) const
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const final
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const