#include <StraightLinePropagator.h>
Public Member Functions | |
virtual StraightLinePropagator * | clone () const override |
virtual const MagneticField * | magneticField () const override |
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 () | |
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 17 of file StraightLinePropagator.h.
|
private |
Definition at line 21 of file StraightLinePropagator.h.
|
private |
Definition at line 22 of file StraightLinePropagator.h.
|
inline |
Definition at line 26 of file StraightLinePropagator.h.
Referenced by clone().
|
inline |
Definition at line 30 of file StraightLinePropagator.h.
|
inlineoverridevirtual |
Implements Propagator.
Definition at line 42 of file StraightLinePropagator.h.
References StraightLinePropagator().
|
private |
Definition at line 93 of file StraightLinePropagator.cc.
References alongMomentum, dir, j, Propagator::propagationDirection(), and alignCSCRings::s.
Referenced by propagateWithPath().
|
inlineoverridevirtual |
Implements Propagator.
Definition at line 47 of file StraightLinePropagator.h.
References theField.
|
private |
Definition at line 71 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), LocalTrajectoryError::matrix(), theField, and tmp.
Referenced by propagateWithPath().
|
private |
Definition at line 51 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), TrajectoryStateOnSurface::localError(), LocalTrajectoryError::matrix(), theField, and tmp.
|
private |
Definition at line 106 of file StraightLinePropagator.cc.
References alongMomentum, dir, dt, FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), FreeTrajectoryState::position(), Propagator::propagationDirection(), Cylinder::radius(), Surface::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by propagateWithPath().
|
private |
Definition at line 131 of file StraightLinePropagator.cc.
References FreeTrajectoryState::momentum(), FreeTrajectoryState::position(), alignCSCRings::s, GloballyPositioned< T >::toLocal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by propagateWithPath().
|
overridevirtual |
Implements Propagator.
Definition at line 9 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 30 of file StraightLinePropagator.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::hasError(), jacobian(), AlCaHLTBitMon_ParallelJobs::p, propagatedState(), propagateParametersOnCylinder(), alignCSCRings::s, theField, and x.
|
private |
Definition at line 51 of file StraightLinePropagator.h.
Referenced by magneticField(), propagatedState(), and propagateWithPath().