#include <GsfPropagatorAdapter.h>
Public Member Functions | |
GsfPropagatorAdapter * | clone () const override |
GsfPropagatorAdapter (const Propagator &Propagator) | |
Constructor with explicit propagator. More... | |
const MagneticField * | magneticField () const override |
template<typename STA , typename SUR > | |
TrajectoryStateOnSurface | propagate (STA const &state, SUR const &surface) const |
virtual FreeTrajectoryState | propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final |
virtual FreeTrajectoryState | propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final |
virtual FreeTrajectoryState | propagate (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const final |
virtual std::pair< FreeTrajectoryState, double > | propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const |
Propagate to PCA to a line (given by 2 points) given a starting point. More... | |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Surface &) const final |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Plane &) const=0 |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Cylinder &) const=0 |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Plane &sur) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const |
virtual std::pair< FreeTrajectoryState, double > | propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final |
virtual std::pair< FreeTrajectoryState, double > | propagateWithPath (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const |
Propagate to PCA to a line (given by beamSpot position and slope) given a starting point. More... | |
std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &, const Plane &) const override |
std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &, const Cylinder &) const override |
std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Plane &) const override |
std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Cylinder &) const override |
const Propagator & | propagator () const |
access to single state propagator More... | |
bool | setMaxDirectionChange (float phiMax) override |
void | setPropagationDirection (PropagationDirection dir) override |
~GsfPropagatorAdapter () override | |
Public Member Functions inherited from Propagator | |
template<typename STA , typename SUR > | |
TrajectoryStateOnSurface | propagate (STA const &state, SUR const &surface) const |
virtual FreeTrajectoryState | propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final |
virtual FreeTrajectoryState | propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final |
virtual FreeTrajectoryState | propagate (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const final |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Surface &) const final |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final |
virtual std::pair< FreeTrajectoryState, double > | propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const |
virtual std::pair< FreeTrajectoryState, double > | propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const |
Propagate to PCA to a line (given by 2 points) given a starting point. More... | |
virtual std::pair< FreeTrajectoryState, double > | propagateWithPath (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const |
Propagate to PCA to a line (given by beamSpot position and slope) given a starting point. More... | |
virtual PropagationDirection | propagationDirection () const final |
Propagator (PropagationDirection dir=alongMomentum) | |
virtual | ~Propagator () |
Private Attributes | |
DeepCopyPointerByClone< Propagator > | thePropagator |
Propagation of multiple trajectory state by propagation of components, using an specified single-state propagator.
Definition at line 14 of file GsfPropagatorAdapter.h.
GsfPropagatorAdapter::GsfPropagatorAdapter | ( | const Propagator & | Propagator | ) |
Constructor with explicit propagator.
Definition at line 8 of file GsfPropagatorAdapter.cc.
Referenced by clone().
|
inlineoverride |
Definition at line 19 of file GsfPropagatorAdapter.h.
|
inlineoverridevirtual |
Implements Propagator.
Definition at line 52 of file GsfPropagatorAdapter.h.
References GsfPropagatorAdapter(), and thePropagator.
|
inlineoverridevirtual |
Implements Propagator.
Definition at line 54 of file GsfPropagatorAdapter.h.
References Propagator::magneticField(), and thePropagator.
Referenced by GsfPropagatorWithMaterial::magneticField().
|
inline |
Definition at line 50 of file Propagator.h.
|
inlinefinal |
Definition at line 109 of file Propagator.h.
|
inlinefinal |
Definition at line 112 of file Propagator.h.
|
inlinefinal |
Definition at line 117 of file Propagator.h.
virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath |
|
final |
The following three methods are equivalent to the corresponding methods above, but if the starting state is a TrajectoryStateOnSurface, it's better to use it as such rather than use just the FreeTrajectoryState part. It may help some concrete propagators.Only use the generic method if the surface type (plane or cylinder) is not known at the calling point.
Definition at line 26 of file Propagator.cc.
virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath |
|
inline |
Definition at line 86 of file Propagator.h.
std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath |
Propagate to PCA to a line (given by 2 points) given a starting point.
Definition at line 47 of file Propagator.cc.
std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath |
implemented by Stepping Helix Propagate to PCA to point given a starting point
Definition at line 42 of file Propagator.cc.
std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath |
Propagate to PCA to a line (given by beamSpot position and slope) given a starting point.
Definition at line 53 of file Propagator.cc.
|
inline |
Definition at line 91 of file Propagator.h.
|
final |
The methods propagateWithPath() are identical to the corresponding methods propagate() in what concerns the resulting TrajectoryStateOnSurface, but they provide in addition the exact path length along the trajectory.Only use the generic method if the surface type (plane or cylinder) is not known at the calling point.
Definition at line 10 of file Propagator.cc.
|
overridevirtual |
Reimplemented from Propagator.
Definition at line 11 of file GsfPropagatorAdapter.cc.
References MultiStatePropagation< T >::propagateWithPath(), and thePropagator.
Referenced by GsfPropagatorWithMaterial::propagateWithPath().
|
overridevirtual |
Propagation to cylinder with path length calculation.
Reimplemented from Propagator.
Definition at line 17 of file GsfPropagatorAdapter.cc.
References MultiStatePropagation< T >::propagateWithPath(), and thePropagator.
|
overridevirtual |
Propagation to plane with path length calculation. Use from FTS implies single state (better use PropagatorWithMaterial)!
use counter in MessageLogger?
Implements Propagator.
Definition at line 23 of file GsfPropagatorAdapter.cc.
References Propagator::propagateWithPath(), and thePropagator.
|
overridevirtual |
Propagation to cylinder with path length calculation. Use from FTS implies single state (better use PropagatorWithMaterial)!
use counter in MessageLogger?
Implements Propagator.
Definition at line 32 of file GsfPropagatorAdapter.cc.
References Propagator::propagateWithPath(), and thePropagator.
|
inline |
access to single state propagator
Definition at line 50 of file GsfPropagatorAdapter.h.
References thePropagator.
|
inlineoverridevirtual |
Set the maximal change of direction (integrated along the path) for any single propagation. If reaching of the destination surface requires change of direction that exceeds this value the Propagator returns an invalid state. For example, a track may reach a forward plane after many spirals, which may be undesirable for a track reconstructor. Setting this value to pi will force the propagation to fail. The default value is "no limit". The method returnd true if the concrete propagator respects the limit, false otherwise.
Reimplemented from Propagator.
Definition at line 45 of file GsfPropagatorAdapter.h.
References AlignmentTrackSelector_cfi::phiMax, Propagator::setMaxDirectionChange(), and thePropagator.
Referenced by GsfPropagatorWithMaterial::setMaxDirectionChange().
|
overridevirtual |
The propagation direction can now be set for every propagator. There is no more distinction between unidirectional and bidirectional at class level. The value "anyDiriction" for PropagationDirection provides the functionality of the ex-BidirectionalPropagator. The values "alongMomentum" and "oppositeToMomentum" provide the functionality of the ex-UnidirectionalPropagator.
Reimplemented from Propagator.
Definition at line 41 of file GsfPropagatorAdapter.cc.
References DeadROC_duringRun::dir, Propagator::setPropagationDirection(), and thePropagator.
Referenced by GsfPropagatorWithMaterial::setPropagationDirection().
|
private |
Definition at line 58 of file GsfPropagatorAdapter.h.
Referenced by clone(), magneticField(), propagateWithPath(), propagator(), setMaxDirectionChange(), and setPropagationDirection().