1 #ifndef GeomPropagators_BeamHaloPropagator_H
2 #define GeomPropagators_BeamHaloPropagator_H
69 const Plane& plane)
const;
72 const Plane& plane)
const {
84 std::pair<TrajectoryStateOnSurface,double>
90 std::pair<TrajectoryStateOnSurface,double>
96 std::pair<TrajectoryStateOnSurface,double>
98 const Plane& plane)
const;
100 std::pair<TrajectoryStateOnSurface,double>
102 const Plane& plane)
const {
106 std::pair<TrajectoryStateOnSurface,double>
110 std::pair<TrajectoryStateOnSurface,double>
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &fts, const Surface &surface) const
Propagator * theCrossTkProp
Propagator * getEndCapTkPropagator() const
return the propagator used in endcaps
TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Cylinder &cylinder) const
TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Plane &plane) const
virtual PropagationDirection propagationDirection() const
void setPropagationDirection(PropagationDirection dir) const
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Surface &surface) const
TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Surface &surface) const
void directionCheck(PropagationDirection dir) const
Propagator * getCrossTkPropagator() const
return the propagator used to cross the tracker
virtual BeamHaloPropagator * clone() const
Virtual constructor (using copy c'tor)
virtual ~BeamHaloPropagator()
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
bool crossingTk(const FreeTrajectoryState &fts, const Plane &plane) const
true if the plane and the fts z position have different sign
TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Surface &surface) const
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
virtual const MagneticField * magneticField() const
return the magneticField
const MagneticField * theField
virtual void setPropagationDirection(PropagationDirection dir) const
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Cylinder &cylinder) const
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Plane &plane) const
Propagator * theEndCapTkProp
BeamHaloPropagator(Propagator *aEndCapTkProp, Propagator *aCrossTkProp, const MagneticField *field, PropagationDirection dir=alongMomentum)
Defines which propagator is used inside endcap and in barrel.