#include <BeamHaloPropagator.h>
Public Member Functions | |
BeamHaloPropagator (const Propagator *aEndCapTkProp, const Propagator *aCrossTkProp, const MagneticField *field, PropagationDirection dir=alongMomentum) | |
Defines which propagator is used inside endcap and in barrel. More... | |
BeamHaloPropagator (const Propagator &aEndCapTkProp, const Propagator &aCrossTkProp, const MagneticField *field, PropagationDirection dir=alongMomentum) | |
Defines which propagator is used inside endcap and in barrel. More... | |
BeamHaloPropagator (const BeamHaloPropagator &) | |
Copy constructor. More... | |
BeamHaloPropagator * | clone () const override |
Virtual constructor (using copy c'tor) More... | |
void | setPropagationDirection (PropagationDirection dir) override |
~BeamHaloPropagator () 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 | ~Propagator () |
Private Member Functions | |
bool | crossingTk (const FreeTrajectoryState &fts, const Plane &plane) const |
true if the plane and the fts z position have different sign More... | |
void | directionCheck (PropagationDirection dir) |
const Propagator * | getCrossTkPropagator () const |
return the propagator used to cross the tracker More... | |
const Propagator * | getEndCapTkPropagator () const |
return the propagator used in endcaps More... | |
const MagneticField * | magneticField () const override |
return the magneticField More... | |
std::pair < TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &fts, const Plane &plane) const override |
std::pair < TrajectoryStateOnSurface, double > | propagateWithPath (const FreeTrajectoryState &fts, const Cylinder &cylinder) const override |
Private Attributes | |
Propagator * | theCrossTkProp |
Propagator * | theEndCapTkProp |
const MagneticField * | theField |
A propagator which use different algorithm to propagate within an endcap or to cross over to the other endcap
Definition at line 24 of file BeamHaloPropagator.h.
BeamHaloPropagator::BeamHaloPropagator | ( | const Propagator * | aEndCapTkProp, |
const Propagator * | aCrossTkProp, | ||
const MagneticField * | field, | ||
PropagationDirection | dir = alongMomentum |
||
) |
Defines which propagator is used inside endcap and in barrel.
Definition at line 50 of file BeamHaloPropagator.cc.
References directionCheck().
Referenced by clone().
BeamHaloPropagator::BeamHaloPropagator | ( | const Propagator & | aEndCapTkProp, |
const Propagator & | aCrossTkProp, | ||
const MagneticField * | field, | ||
PropagationDirection | dir = alongMomentum |
||
) |
Defines which propagator is used inside endcap and in barrel.
Definition at line 58 of file BeamHaloPropagator.cc.
References directionCheck().
BeamHaloPropagator::BeamHaloPropagator | ( | const BeamHaloPropagator & | aProp | ) |
Copy constructor.
Definition at line 66 of file BeamHaloPropagator.cc.
References Propagator::clone(), getCrossTkPropagator(), getEndCapTkPropagator(), theCrossTkProp, and theEndCapTkProp.
|
override |
virtual destructor
Definition at line 75 of file BeamHaloPropagator.cc.
References theCrossTkProp, and theEndCapTkProp.
|
inlineoverridevirtual |
Virtual constructor (using copy c'tor)
Implements Propagator.
Definition at line 46 of file BeamHaloPropagator.h.
References BeamHaloPropagator(), getCrossTkPropagator(), getEndCapTkPropagator(), magneticField(), and Propagator::propagationDirection().
|
private |
true if the plane and the fts z position have different sign
Definition at line 80 of file BeamHaloPropagator.cc.
References LogDebug, GloballyPositioned< T >::position(), FreeTrajectoryState::position(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by propagateWithPath().
|
private |
Definition at line 31 of file BeamHaloPropagator.cc.
References anyDirection, DeadROC_duringRun::dir, getCrossTkPropagator(), getEndCapTkPropagator(), Propagator::propagationDirection(), Propagator::setPropagationDirection(), theCrossTkProp, and theEndCapTkProp.
Referenced by BeamHaloPropagator().
|
private |
return the propagator used to cross the tracker
Definition at line 106 of file BeamHaloPropagator.cc.
References LogDebug, and theCrossTkProp.
Referenced by BeamHaloPropagator(), clone(), directionCheck(), and propagateWithPath().
|
private |
return the propagator used in endcaps
Definition at line 101 of file BeamHaloPropagator.cc.
References LogDebug, and theEndCapTkProp.
Referenced by BeamHaloPropagator(), clone(), directionCheck(), and propagateWithPath().
|
inlineoverrideprivatevirtual |
return the magneticField
Implements Propagator.
Definition at line 75 of file BeamHaloPropagator.h.
References theField.
Referenced by clone().
|
overrideprivatevirtual |
Implements Propagator.
Definition at line 87 of file BeamHaloPropagator.cc.
References crossingTk(), getCrossTkPropagator(), getEndCapTkPropagator(), and Propagator::propagateWithPath().
|
overrideprivatevirtual |
Implements Propagator.
Definition at line 96 of file BeamHaloPropagator.cc.
References getCrossTkPropagator(), and Propagator::propagateWithPath().
|
inlineoverridevirtual |
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 51 of file BeamHaloPropagator.h.
References Propagator::setPropagationDirection(), theCrossTkProp, and theEndCapTkProp.
|
private |
Definition at line 81 of file BeamHaloPropagator.h.
Referenced by BeamHaloPropagator(), directionCheck(), getCrossTkPropagator(), setPropagationDirection(), and ~BeamHaloPropagator().
|
private |
Definition at line 80 of file BeamHaloPropagator.h.
Referenced by BeamHaloPropagator(), directionCheck(), getEndCapTkPropagator(), setPropagationDirection(), and ~BeamHaloPropagator().
|
private |
Definition at line 82 of file BeamHaloPropagator.h.
Referenced by magneticField().