#include <PropagatorWithMaterial.h>
Public Types | |
enum | MaterialLocation { atSource, atDestination, fromDirection } |
Private Types | |
typedef std::pair < TrajectoryStateOnSurface, double > | TsosWP |
Private Member Functions | |
bool | materialAtSource () const |
Inclusion of material at the source? More... | |
Private Attributes | |
const MagneticField * | field |
DeepCopyPointerByClone < Propagator > | theGeometricalPropagator |
MaterialLocation | theMaterialLocation |
DeepCopyPointerByClone < MaterialEffectsUpdator > | theMEUpdator |
bool | useRungeKutta_ |
Propagation including material effects.
Propagates using a specific for the geometrical part and a MaterialEffectsUpdator to include multiple scattering and energy loss. By default material effects are included at the source in the case of forward propagation and at the destination for backward propagation. Material effects at the source can only be included when propagating from a TrajectoryStateOnSurface. Ported from ORCA.
Definition at line 25 of file PropagatorWithMaterial.h.
|
private |
Definition at line 141 of file PropagatorWithMaterial.h.
Enumerator | |
---|---|
atSource | |
atDestination | |
fromDirection |
Definition at line 101 of file PropagatorWithMaterial.h.
PropagatorWithMaterial::PropagatorWithMaterial | ( | PropagationDirection | dir, |
const float | mass, | ||
const MagneticField * | mf = 0 , |
||
const float | maxDPhi = 1.6 , |
||
bool | useRungeKutta = false , |
||
float | ptMin = -1. , |
||
bool | useOldGeoPropLogic = true |
||
) |
Constructor with PropagationDirection and mass hypothesis. Uses AnalyticalPropagator and CombinedMaterialEffectsUpdator with explicit mass hypothesis.MaxDPhi is a cut on the max change in phi during state propagation. For propagation of very low pt tracks (e.g. loopers), this cut can be loosened. If ptMin > 0, then multiple scattering calculations will take into account the uncertainty in the reconstructed track momentum, (by default neglected), but assuming that the track Pt will never fall below ptMin.
Definition at line 14 of file PropagatorWithMaterial.cc.
References AnalyticalPropagator_cfi::AnalyticalPropagator, theGeometricalPropagator, and useRungeKutta_.
Referenced by clone().
PropagatorWithMaterial::PropagatorWithMaterial | ( | const Propagator & | Propagator, |
const MaterialEffectsUpdator & | MEUpdator, | ||
const MagneticField * | mf = 0 , |
||
bool | useRungeKutta = false |
||
) |
Constructor with explicit propagator and material effects objects.
Definition at line 32 of file PropagatorWithMaterial.cc.
|
virtual |
Definition at line 11 of file PropagatorWithMaterial.cc.
|
inlinevirtual |
Implements Propagator.
Definition at line 125 of file PropagatorWithMaterial.h.
References PropagatorWithMaterial().
|
inline |
Access to the geometrical propagator.
Definition at line 114 of file PropagatorWithMaterial.h.
References theGeometricalPropagator.
|
inlinevirtual |
Implements Propagator.
Definition at line 122 of file PropagatorWithMaterial.h.
References field.
Referenced by CRackTrajectoryBuilder::innerState().
|
private |
Inclusion of material at the source?
Definition at line 128 of file PropagatorWithMaterial.cc.
References alongMomentum, anyDirection, atDestination, atSource, edm::hlt::Exception, fromDirection, python.rootplot.argparse::message, Propagator::propagationDirection(), and theMaterialLocation.
Referenced by propagateWithPath().
|
inline |
Access to the MaterialEffectsUpdator.
Definition at line 118 of file PropagatorWithMaterial.h.
References theMEUpdator.
|
inlinevirtual |
Reimplemented from Propagator.
Definition at line 50 of file PropagatorWithMaterial.h.
References propagateWithPath().
Referenced by CosmicTrajectoryBuilder::AddHit(), SiStripElectronSeedGenerator::altCheckHitsAndTSOS(), ElectronSeedAnalyzer::analyze(), SiStripElectronSeedGenerator::checkHitsAndTSOS(), ConversionProducer::checkPhi(), RoadSearchTrackCandidateMakerAlgorithm::createSeedTrajectory(), RoadSearchTrackCandidateMakerAlgorithm::extrapolateTrajectory(), ConversionTrackEcalImpactPoint::find(), RoadSearchTrackCandidateMakerAlgorithm::FindBestHit(), RoadSearchTrackCandidateMakerAlgorithm::FindBestHits(), RoadSearchTrackCandidateMakerAlgorithm::FindBestHitsByDet(), ConversionProducer::getTrackImpactPosition(), FastElectronSeedGenerator::prepareElTrackSeed(), RoadSearchTrackCandidateMakerAlgorithm::PrepareTrackCandidates(), TrajectorySeedProducer::produce(), TrackCandidateProducer::produce(), ConvBremSeedProducer::produce(), TkConvValidator::recalculateMomentumAtFittedVertex(), CRackTrajectoryBuilder::run(), SeedGeneratorForCRack::seeds(), SeedGeneratorForCosmics::seeds(), and CRackTrajectoryBuilder::SortHits().
|
inlinevirtual |
Implements Propagator.
Definition at line 58 of file PropagatorWithMaterial.h.
References propagateWithPath().
|
inlinevirtual |
Reimplemented from Propagator.
Definition at line 72 of file PropagatorWithMaterial.h.
References propagateWithPath().
|
inlinevirtual |
Implements Propagator.
Definition at line 80 of file PropagatorWithMaterial.h.
References propagateWithPath().
|
virtual |
Reimplemented from Propagator.
Definition at line 69 of file PropagatorWithMaterial.cc.
References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, and MaterialEffectsUpdator::updateStateInPlace().
Referenced by propagate().
|
virtual |
Implements Propagator.
Definition at line 42 of file PropagatorWithMaterial.cc.
References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, and MaterialEffectsUpdator::updateStateInPlace().
|
virtual |
Reimplemented from Propagator.
Definition at line 96 of file PropagatorWithMaterial.cc.
References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, and MaterialEffectsUpdator::updateStateInPlace().
|
virtual |
Implements Propagator.
Definition at line 55 of file PropagatorWithMaterial.cc.
References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, and MaterialEffectsUpdator::updateStateInPlace().
|
inline |
Choice of location for including material effects: fromDirection is equivalent to atSource for propagation alongMomentum and to atDestination for propagation oppositeToMomentum. Inclusion of material effects at the source (either explicitely or implicitely) is not possible if propagating with anyDirection and will effectively disable material effects when propagating from a FreeTrajectoryState.
Definition at line 110 of file PropagatorWithMaterial.h.
References theMaterialLocation.
|
inlinevirtual |
Limit on change in azimuthal angle.
Reimplemented from Propagator.
Definition at line 95 of file PropagatorWithMaterial.h.
References Propagator::setMaxDirectionChange(), and theGeometricalPropagator.
|
virtual |
Propagation direction.
Reimplemented from Propagator.
Definition at line 122 of file PropagatorWithMaterial.cc.
References Propagator::setPropagationDirection(), and theGeometricalPropagator.
|
private |
Definition at line 144 of file PropagatorWithMaterial.h.
Referenced by magneticField().
|
private |
Definition at line 136 of file PropagatorWithMaterial.h.
Referenced by geometricalPropagator(), propagateWithPath(), PropagatorWithMaterial(), setMaxDirectionChange(), and setPropagationDirection().
|
private |
Definition at line 143 of file PropagatorWithMaterial.h.
Referenced by materialAtSource(), and setMaterialLocation().
|
private |
Definition at line 140 of file PropagatorWithMaterial.h.
Referenced by materialEffectsUpdator(), and propagateWithPath().
|
private |
Definition at line 145 of file PropagatorWithMaterial.h.
Referenced by PropagatorWithMaterial().