#include <RKPropagatorInS.h>
Public Member Functions | |
Propagator * | 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 FreeTrajectoryState &, const Cylinder &) const=0 |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Plane &) const=0 |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &, const Surface &) 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 std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Plane &sur) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final |
RKPropagatorInS (const MagVolume &vol, PropagationDirection dir=alongMomentum, double tolerance=5.e-5) | |
~RKPropagatorInS () override | |
Public Member Functions inherited from Propagator | |
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 FreeTrajectoryState &, const Surface &) 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 std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Plane &sur) const |
virtual std::pair< TrajectoryStateOnSurface, double > | propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final |
virtual PropagationDirection | propagationDirection () const final |
Propagator (PropagationDirection dir=alongMomentum) | |
virtual bool | setMaxDirectionChange (float phiMax) |
virtual void | setPropagationDirection (PropagationDirection dir) |
virtual | ~Propagator () |
Private Types | |
typedef std::pair< TrajectoryStateOnSurface, double > | TsosWP |
Private Attributes | |
double | theTolerance |
const MagVolume * | theVolume |
Definition at line 19 of file RKPropagatorInS.h.
|
private |
Definition at line 46 of file RKPropagatorInS.h.
|
inlineexplicit |
|
inlineoverride |
Definition at line 28 of file RKPropagatorInS.h.
|
overridevirtual |
Implements Propagator.
Definition at line 312 of file RKPropagatorInS.cc.
References RKPropagatorInS().
|
private |
Definition at line 321 of file RKPropagatorInS.cc.
References theVolume.
Referenced by propagateParametersOnCylinder(), and propagateParametersOnPlane().
|
private |
Definition at line 323 of file RKPropagatorInS.cc.
References theVolume.
|
private |
Definition at line 354 of file RKPropagatorInS.cc.
References theVolume, and GloballyPositioned< T >::toGlobal().
Referenced by gtpFromVolumeLocal().
|
private |
Definition at line 347 of file RKPropagatorInS.cc.
References theVolume, and GloballyPositioned< T >::toGlobal().
Referenced by gtpFromVolumeLocal(), and propagateParametersOnPlane().
|
private |
Definition at line 314 of file RKPropagatorInS.cc.
References theVolume, and Surface::toGlobal().
Referenced by propagateParametersOnCylinder().
|
private |
Definition at line 363 of file RKPropagatorInS.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, globalMomentum(), globalPosition(), and theVolume.
Referenced by propagateParametersOnPlane().
|
private |
Definition at line 327 of file RKPropagatorInS.cc.
References alongMomentum, anyDirection, DeadROC_duringRun::dir, and oppositeToMomentum.
Referenced by propagateParametersOnCylinder(), and propagateParametersOnPlane().
|
inlineoverridevirtual |
|
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.
|
inline |
Definition at line 50 of file Propagator.h.
Referenced by HGCal_helpers::SimpleTrackPropagator::propagate().
|
private |
Definition at line 191 of file RKPropagatorInS.cc.
References funct::abs(), FreeTrajectoryState::charge(), MillePedeFileConverter_cfg::e, gpuVertexFinder::eps, fieldProvider(), gtpFromLocal(), invertDirection(), LIKELY, LogDebug, CartesianStateAdaptor::momentum(), FreeTrajectoryState::momentum(), castor_dqm_sourceclient_file_cfg::path, StraightLineCylinderCrossing::pathLength(), StraightLineBarrelCylinderCrossing::pathLength(), Basic3DVector< T >::perp(), perp(), CartesianStateAdaptor::position(), StraightLineBarrelCylinderCrossing::position(), GloballyPositioned< T >::position(), FreeTrajectoryState::position(), Propagator::propagationDirection(), Cylinder::radius(), rho, CartesianStateAdaptor::rkstate(), alignCSCRings::s, command_line::start, theTolerance, theVolume, GloballyPositioned< T >::toLocal(), FreeTrajectoryState::transverseCurvature(), UNLIKELY, x, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and Basic3DVector< T >::z().
Referenced by propagateWithPath().
|
private |
Definition at line 51 of file RKPropagatorInS.cc.
References funct::abs(), PV3DBase< T, PVType, FrameType >::basicVector(), FreeTrajectoryState::charge(), cross(), DeadROC_duringRun::dir, MillePedeFileConverter_cfg::e, gpuVertexFinder::eps, fieldProvider(), RKLocalFieldProvider::frame(), globalPosition(), gtpFromVolumeLocal(), RKLocalFieldProvider::inTesla(), invertDirection(), LIKELY, Plane::localZ(), LogDebug, CartesianStateAdaptor::momentum(), FreeTrajectoryState::momentum(), castor_dqm_sourceclient_file_cfg::path, StraightLinePlaneCrossing::pathLength(), CartesianStateAdaptor::position(), GloballyPositioned< T >::position(), StraightLinePlaneCrossing::position(), FreeTrajectoryState::position(), Propagator::propagationDirection(), rho, rkMomentum(), rkPosition(), CartesianStateAdaptor::rkstate(), alignCSCRings::s, command_line::start, theTolerance, theVolume, GloballyPositioned< T >::toGlobal(), GloballyPositioned< T >::toLocal(), FrameChanger::transformPlane(), FreeTrajectoryState::transverseCurvature(), UNLIKELY, and x.
Referenced by propagateWithPath().
|
overrideprivatevirtual |
Implements Propagator.
Definition at line 38 of file RKPropagatorInS.cc.
References SurfaceSideDefinition::afterSurface, alongMomentum, analyticalErrorPropagation(), SurfaceSideDefinition::beforeSurface, runTauDisplay::gp, propagateParametersOnCylinder(), Propagator::propagationDirection(), and UNLIKELY.
virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath |
|
overrideprivatevirtual |
Implements Propagator.
Definition at line 25 of file RKPropagatorInS.cc.
References SurfaceSideDefinition::afterSurface, alongMomentum, analyticalErrorPropagation(), SurfaceSideDefinition::beforeSurface, runTauDisplay::gp, propagateParametersOnPlane(), Propagator::propagationDirection(), and UNLIKELY.
virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath |
|
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.
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 2 points) given a starting point.
Definition at line 47 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.
|
inline |
Definition at line 86 of file Propagator.h.
|
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.
|
private |
Definition at line 340 of file RKPropagatorInS.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), theVolume, and GloballyPositioned< T >::toLocal().
Referenced by propagateParametersOnPlane().
|
private |
Definition at line 333 of file RKPropagatorInS.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), theVolume, and GloballyPositioned< T >::toLocal().
Referenced by propagateParametersOnPlane().
|
private |
Definition at line 49 of file RKPropagatorInS.h.
Referenced by propagateParametersOnCylinder(), and propagateParametersOnPlane().
|
private |
Definition at line 48 of file RKPropagatorInS.h.
Referenced by fieldProvider(), globalMomentum(), globalPosition(), gtpFromLocal(), gtpFromVolumeLocal(), magneticField(), propagateParametersOnCylinder(), propagateParametersOnPlane(), rkMomentum(), and rkPosition().