#include <StraightLinePropagator.h>
Public Member Functions | |
StraightLinePropagator * | clone () const override |
const MagneticField * | magneticField () const override |
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 |
template<typename STA , typename SUR > | |
TrajectoryStateOnSurface | propagate (STA const &state, SUR const &surface) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Cylinder &) const=0 |
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< 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 TrajectoryStateOnSurface &tsos, const Plane &sur) const |
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 std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Plane &) const=0 |
std::pair< TSOS, double > | propagateWithPath (const FreeTrajectoryState &fts, const Plane &surface) const override |
std::pair< TSOS, double > | propagateWithPath (const FreeTrajectoryState &fts, const Cylinder &surface) const override |
StraightLinePropagator (const MagneticField *field, PropagationDirection aDir=alongMomentum) | |
~StraightLinePropagator () 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< 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< 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 bool | setMaxDirectionChange (float phiMax) |
virtual void | setPropagationDirection (PropagationDirection dir) |
virtual | ~Propagator () |
Private Types | |
typedef FreeTrajectoryState | FTS |
typedef TrajectoryStateOnSurface | TSOS |
Private Member Functions | |
AlgebraicMatrix55 | jacobian (double &s) const |
TrajectoryStateOnSurface | propagatedState (const FreeTrajectoryState &fts, const Surface &surface, const AlgebraicMatrix55 &jacobian, const GlobalPoint &x, const GlobalVector &p) const |
TrajectoryStateOnSurface | propagatedState (const FreeTrajectoryState &fts, const Surface &surface, const AlgebraicMatrix55 &jacobian, const LocalPoint &x, const LocalVector &p) const |
bool | propagateParametersOnCylinder (const FreeTrajectoryState &fts, const Cylinder &cylinder, GlobalPoint &x, GlobalVector &p, double &s) const |
bool | propagateParametersOnPlane (const FreeTrajectoryState &fts, const Plane &plane, LocalPoint &x, LocalVector &p, double &s) const |
Private Attributes | |
const MagneticField * | theField |
As the name indicates, propagates track parameters according to a straight line model. Intended for test beams without magnetic field and similar cases.
Definition at line 16 of file StraightLinePropagator.h.
|
private |
Definition at line 18 of file StraightLinePropagator.h.
|
private |
Definition at line 19 of file StraightLinePropagator.h.
|
inline |
Definition at line 22 of file StraightLinePropagator.h.
Referenced by clone().
|
inlineoverride |
Definition at line 25 of file StraightLinePropagator.h.
|
inlineoverridevirtual |
Implements Propagator.
Definition at line 34 of file StraightLinePropagator.h.
References StraightLinePropagator().
|
private |
Definition at line 86 of file StraightLinePropagator.cc.
References alongMomentum, DeadROC_duringRun::dir, dqmiolumiharvest::j, Propagator::propagationDirection(), and alignCSCRings::s.
Referenced by propagatedState(), and propagateWithPath().
|
inlineoverridevirtual |
Implements Propagator.
Definition at line 36 of file StraightLinePropagator.h.
References theField.
|
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.
|
private |
Definition at line 65 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), jacobian(), AlCaHLTBitMon_ParallelJobs::p, theField, createJobs::tmp, and x.
Referenced by propagateWithPath().
|
private |
Definition at line 46 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), jacobian(), AlCaHLTBitMon_ParallelJobs::p, theField, createJobs::tmp, and x.
|
private |
Definition at line 100 of file StraightLinePropagator.cc.
References alongMomentum, DeadROC_duringRun::dir, dt, FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::position(), Propagator::propagationDirection(), Cylinder::radius(), alignCSCRings::s, Surface::toGlobal(), x, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by propagateWithPath().
|
private |
Definition at line 121 of file StraightLinePropagator.cc.
References FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::position(), alignCSCRings::s, GloballyPositioned< T >::toLocal(), and x.
Referenced by propagateWithPath().
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.
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.
|
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.
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.
|
inline |
Definition at line 86 of file Propagator.h.
|
inline |
Definition at line 91 of file Propagator.h.
virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath |
|
overridevirtual |
Implements Propagator.
Definition at line 8 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), jacobian(), AlCaHLTBitMon_ParallelJobs::p, propagatedState(), propagateParametersOnPlane(), alignCSCRings::s, theField, and x.
|
overridevirtual |
Implements Propagator.
Definition at line 27 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), jacobian(), AlCaHLTBitMon_ParallelJobs::p, propagatedState(), propagateParametersOnCylinder(), alignCSCRings::s, theField, and x.
|
private |
Definition at line 39 of file StraightLinePropagator.h.
Referenced by magneticField(), propagatedState(), and propagateWithPath().