#include <AnalyticalImpactPointExtrapolator.h>
Public Member Functions | |
AnalyticalImpactPointExtrapolator (const MagneticField *field) | |
constructor with default geometrical propagator More... | |
AnalyticalImpactPointExtrapolator (const Propagator &, const MagneticField *) | |
constructor with alternative propagator More... | |
TrajectoryStateOnSurface | extrapolate (const FreeTrajectoryState &fts, const GlobalPoint &vtx) const |
extrapolation from FreeTrajectoryState More... | |
TrajectoryStateOnSurface | extrapolate (const TrajectoryStateOnSurface tsos, const GlobalPoint &vtx) const |
as above, but from TrajectoryStateOnSurface More... | |
Private Member Functions | |
TrajectoryStateOnSurface | extrapolateFullState (const TrajectoryStateOnSurface tsos, const GlobalPoint &vertex) const |
extrapolation of (multi) TSOS More... | |
TrajectoryStateOnSurface | extrapolateSingleState (const FreeTrajectoryState &fts, const GlobalPoint &vertex) const |
extrapolation of (single) FTS More... | |
bool | propagateWithHelix (const IterativeHelixExtrapolatorToLine &extrapolator, const GlobalPoint &vertex, GlobalPoint &x, GlobalVector &p, double &s) const |
the actual propagation to a new point & momentum vector More... | |
Private Attributes | |
const MagneticField * | theField |
DeepCopyPointerByClone < Propagator > | thePropagator |
Extrapolate to impact point with respect to vtx, i.e. to the point of closest approach to vtx in 3D. It is slightly faster than the ImpactPointExtrapolator. The helix model is explicitely used in the determination of the target surface. This target surface is centered on vtx; the axes of the local coordinate system (x_loc, y_loc, z_loc) are z_loc // trajectory direction at impact point; x_loc normal to trajectory and along impact vector (impact point - vtx); y_loc forms a right-handed system with the other axes.
Definition at line 26 of file AnalyticalImpactPointExtrapolator.h.
AnalyticalImpactPointExtrapolator::AnalyticalImpactPointExtrapolator | ( | const MagneticField * | field | ) |
constructor with default geometrical propagator
Definition at line 12 of file AnalyticalImpactPointExtrapolator.cc.
AnalyticalImpactPointExtrapolator::AnalyticalImpactPointExtrapolator | ( | const Propagator & | propagator, |
const MagneticField * | field | ||
) |
constructor with alternative propagator
Definition at line 17 of file AnalyticalImpactPointExtrapolator.cc.
References anyDirection, Propagator::setPropagationDirection(), and thePropagator.
TrajectoryStateOnSurface AnalyticalImpactPointExtrapolator::extrapolate | ( | const FreeTrajectoryState & | fts, |
const GlobalPoint & | vtx | ||
) | const |
extrapolation from FreeTrajectoryState
Definition at line 26 of file AnalyticalImpactPointExtrapolator.cc.
References extrapolateSingleState().
TrajectoryStateOnSurface AnalyticalImpactPointExtrapolator::extrapolate | ( | const TrajectoryStateOnSurface | tsos, |
const GlobalPoint & | vtx | ||
) | const |
as above, but from TrajectoryStateOnSurface
Definition at line 36 of file AnalyticalImpactPointExtrapolator.cc.
References extrapolateFullState(), and TrajectoryStateOnSurface::isValid().
|
private |
extrapolation of (multi) TSOS
Definition at line 44 of file AnalyticalImpactPointExtrapolator.cc.
References TrajectoryStateOnSurface::components(), extrapolateSingleState(), TrajectoryStateOnSurface::freeTrajectoryState(), TrajectoryStateOnSurface::isValid(), Propagator::propagate(), TrajectoryStateOnSurface::surface(), and thePropagator.
Referenced by extrapolate().
|
private |
extrapolation of (single) FTS
Definition at line 61 of file AnalyticalImpactPointExtrapolator.cc.
References anyDirection, FreeTrajectoryState::charge(), FreeTrajectoryState::curvilinearError(), alignCSCRings::e, FreeTrajectoryState::hasError(), CurvilinearTrajectoryError::matrix(), FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::parameters(), PlaneBuilder::plane(), GlobalTrajectoryParameters::position(), FreeTrajectoryState::position(), propagateWithHelix(), rho, makeMuonMisalignmentScenario::rot, alignCSCRings::s, theField, FreeTrajectoryState::transverseCurvature(), and x.
Referenced by extrapolate(), and extrapolateFullState().
|
private |
the actual propagation to a new point & momentum vector
Definition at line 122 of file AnalyticalImpactPointExtrapolator.cc.
References IterativeHelixExtrapolatorToLine::direction(), PV3DBase< T, PVType, FrameType >::mag(), Basic3DVector< T >::mag(), IterativeHelixExtrapolatorToLine::pathLength(), and IterativeHelixExtrapolatorToLine::position().
Referenced by extrapolateSingleState().
|
private |
Definition at line 57 of file AnalyticalImpactPointExtrapolator.h.
Referenced by extrapolateSingleState().
|
private |
Definition at line 56 of file AnalyticalImpactPointExtrapolator.h.
Referenced by AnalyticalImpactPointExtrapolator(), and extrapolateFullState().