CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
ParticlePropagator Class Reference

#include <ParticlePropagator.h>

Inheritance diagram for ParticlePropagator:
BaseParticlePropagator

Public Member Functions

double fieldMap (double x, double y, double z)
 
double fieldMap (const TrackerLayer &layer, double coord, int success)
 
void initProperDecayTime ()
 
const HepPDT::ParticleDataTableparticleDataTable () const
 
 ParticlePropagator ()
 Default c'tor. More...
 
 ParticlePropagator (const RawParticle &myPart, double R, double Z, const MagneticFieldMap *aFieldMap, const RandomEngineAndDistribution *engine, const HepPDT::ParticleDataTable *table)
 
 ParticlePropagator (const RawParticle &myPart, const MagneticFieldMap *aFieldMap, const RandomEngineAndDistribution *engine, const HepPDT::ParticleDataTable *table)
 
 ParticlePropagator (const XYZTLorentzVector &p, const XYZTLorentzVector &v, float q, const MagneticFieldMap *aFieldMap, const HepPDT::ParticleDataTable *table)
 
 ParticlePropagator (const XYZTLorentzVector &p, const XYZVector &v, float q, const MagneticFieldMap *aFieldMap, const HepPDT::ParticleDataTable *table)
 
 ParticlePropagator (const FSimTrack &simTrack, const MagneticFieldMap *aFieldMap, const RandomEngineAndDistribution *engine, const HepPDT::ParticleDataTable *table)
 
 ParticlePropagator (const ParticlePropagator &myPropPart)
 
 ParticlePropagator (const BaseParticlePropagator &myPropPart, const MagneticFieldMap *aFieldMap, const HepPDT::ParticleDataTable *table)
 
ParticlePropagator propagated () const
 
bool propagateToBoundSurface (const TrackerLayer &)
 
bool propagateToClosestApproach (double x0=0., double y0=0., bool first=true)
 
bool propagateToNominalVertex (const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
 
void setPropagationConditions (const TrackerLayer &, bool firstLoop=true)
 
- Public Member Functions inherited from BaseParticlePropagator
bool backPropagate ()
 
 BaseParticlePropagator ()
 Default c'tor. More...
 
 BaseParticlePropagator (const RawParticle &myPart, double r, double z, double B)
 
 BaseParticlePropagator (const RawParticle &myPart, double r, double z, double B, double t)
 
double getMagneticField () const
 Get the magnetic field. More...
 
int getSuccess () const
 Has propagation been performed and was barrel or endcap reached ? More...
 
bool hasDecayed () const
 Has the particle decayed while propagated ? More...
 
double helixCentreDistToAxis () const
 The distance between the cylinder and the helix axes. More...
 
double helixCentreDistToAxis (double xC, double yC) const
 
double helixCentrePhi () const
 The azimuth if the vector joining the cylinder and the helix axes. More...
 
double helixCentrePhi (double xC, double yC) const
 
double helixCentreX () const
 The x coordinate of the helix axis. More...
 
double helixCentreX (double radius, double phi) const
 
double helixCentreY () const
 The y coordinate of the helix axis. More...
 
double helixCentreY (double radius, double phi) const
 
double helixRadius () const
 The helix Radius. More...
 
double helixRadius (double pT) const
 
double helixStartPhi () const
 The azimuth of the momentum at the vertex. More...
 
void increaseRCyl (double delta)
 Just an internal trick. More...
 
void init ()
 Initialize internal switches and quantities. More...
 
bool inside () const
 Is the vertex inside the cylinder ? (stricly inside : true) More...
 
bool inside (double rPos2) const
 
bool onBarrel () const
 Is the vertex already on the cylinder barrel ? More...
 
bool onBarrel (double rPos2) const
 
bool onEndcap () const
 Is the vertex already on the cylinder endcap ? More...
 
bool onEndcap (double rPos2) const
 
bool onFiducial () const
 Is the vertex on some material ? More...
 
bool onSurface () const
 Is the vertex already on the cylinder surface ? More...
 
bool onSurface (double rPos2) const
 
RawParticle const & particle () const
 The particle being propagated. More...
 
RawParticleparticle ()
 
bool propagate ()
 
BaseParticlePropagator propagated () const
 
bool propagateToBeamCylinder (const XYZTLorentzVector &v, double radius=0.)
 
bool propagateToClosestApproach (double x0=0., double y0=0, bool first=true)
 
bool propagateToEcal (bool first=true)
 
bool propagateToEcalEntrance (bool first=true)
 
bool propagateToHcalEntrance (bool first=true)
 
bool propagateToHcalExit (bool first=true)
 
bool propagateToHOLayer (bool first=true)
 
bool propagateToNominalVertex (const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
 
bool propagateToPreshowerLayer1 (bool first=true)
 
bool propagateToPreshowerLayer2 (bool first=true)
 
bool propagateToVFcalEntrance (bool first=true)
 
void resetDebug ()
 
void setDebug ()
 Set the debug leve;. More...
 
void setMagneticField (double b)
 Set the magnetic field. More...
 
void setParticle (RawParticle const &iParticle)
 
void setPropagationConditions (double r, double z, bool firstLoop=true)
 Set the propagation characteristics (rCyl, zCyl and first loop only) More...
 
void setProperDecayTime (double t)
 Set the proper decay time. More...
 
double xyImpactParameter (double x0=0., double y0=0.) const
 Transverse impact parameter. More...
 
double zImpactParameter (double x0=0, double y0=0.) const
 Longitudinal impact parameter. More...
 

Private Attributes

const RandomEngineAndDistributionrandom
 
const MagneticFieldMaptheFieldMap
 
const HepPDT::ParticleDataTabletheTable = nullptr
 

Additional Inherited Members

- Protected Member Functions inherited from BaseParticlePropagator
double c_light () const
 The speed of light in mm/ns (!) without clhep (yeaaahhh!) More...
 
- Protected Attributes inherited from BaseParticlePropagator
bool fiducial
 The particle traverses some real material. More...
 
int success
 0:propagation still be done, 1:reached 'barrel', 2:reached 'endcaps' More...
 

Detailed Description

Definition at line 28 of file ParticlePropagator.h.

Constructor & Destructor Documentation

◆ ParticlePropagator() [1/8]

ParticlePropagator::ParticlePropagator ( )

Default c'tor.

Definition at line 15 of file ParticlePropagator.cc.

Referenced by propagated().

15 : BaseParticlePropagator(), random(nullptr) { ; }
BaseParticlePropagator()
Default c&#39;tor.
const RandomEngineAndDistribution * random

◆ ParticlePropagator() [2/8]

ParticlePropagator::ParticlePropagator ( const RawParticle myPart,
double  R,
double  Z,
const MagneticFieldMap aFieldMap,
const RandomEngineAndDistribution engine,
const HepPDT::ParticleDataTable table 
)

Constructor taking as arguments a RawParticle, as well as the radius, half-height and magnetic field defining the cylinder for which propagation is to be performed

Definition at line 17 of file ParticlePropagator.cc.

References fieldMap(), initProperDecayTime(), BaseParticlePropagator::particle(), BaseParticlePropagator::setMagneticField(), X, beamSpotPI::Y, and beamSpotPI::Z.

23  : BaseParticlePropagator(myPart, RCyl, ZCyl, 0.), theFieldMap(aFieldMap), random(engine), theTable(table) {
26 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.
#define X(str)
Definition: MuonsGrabber.cc:38
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
const HepPDT::ParticleDataTable * theTable
RawParticle const & particle() const
The particle being propagated.
const RandomEngineAndDistribution * random

◆ ParticlePropagator() [3/8]

ParticlePropagator::ParticlePropagator ( const RawParticle myPart,
const MagneticFieldMap aFieldMap,
const RandomEngineAndDistribution engine,
const HepPDT::ParticleDataTable table 
)

Constructor with only a RawParticle as argument for subsequent propagation to known surfaces (ECAL, HCAL ...)

Definition at line 28 of file ParticlePropagator.cc.

References fieldMap(), initProperDecayTime(), BaseParticlePropagator::particle(), BaseParticlePropagator::setMagneticField(), X, beamSpotPI::Y, and beamSpotPI::Z.

32  : BaseParticlePropagator(myPart, 0., 0., 0.),
33  theFieldMap(aFieldMap),
34  random(engine),
36 
37 {
40 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.
#define X(str)
Definition: MuonsGrabber.cc:38
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
const HepPDT::ParticleDataTable * theTable
RawParticle const & particle() const
The particle being propagated.
const RandomEngineAndDistribution * random

◆ ParticlePropagator() [4/8]

ParticlePropagator::ParticlePropagator ( const XYZTLorentzVector p,
const XYZTLorentzVector v,
float  q,
const MagneticFieldMap aFieldMap,
const HepPDT::ParticleDataTable table 
)

Constructor with two LorentzVector (momentum and vertex (in cm)) and an electric charge propagation to known surfaces (ECAL, HCAL ...)

Definition at line 42 of file ParticlePropagator.cc.

References fieldMap(), BaseParticlePropagator::particle(), BaseParticlePropagator::setMagneticField(), X, beamSpotPI::Y, and beamSpotPI::Z.

47  : BaseParticlePropagator(RawParticle(mom, vert, q), 0., 0., 0.),
48  theFieldMap(aFieldMap),
49  random(nullptr),
50  theTable(table) {
52 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.
#define X(str)
Definition: MuonsGrabber.cc:38
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
const HepPDT::ParticleDataTable * theTable
RawParticle const & particle() const
The particle being propagated.
const RandomEngineAndDistribution * random

◆ ParticlePropagator() [5/8]

ParticlePropagator::ParticlePropagator ( const XYZTLorentzVector p,
const XYZVector v,
float  q,
const MagneticFieldMap aFieldMap,
const HepPDT::ParticleDataTable table 
)

Constructor with a LorentzVector (momentum), a Hep3Vector (vertex in cm) and an electric charge propagation to known surfaces (ECAL, HCAL ...)

Definition at line 54 of file ParticlePropagator.cc.

References fieldMap(), BaseParticlePropagator::particle(), BaseParticlePropagator::setMagneticField(), X, beamSpotPI::Y, and beamSpotPI::Z.

59  : BaseParticlePropagator(RawParticle(mom, XYZTLorentzVector(vert.X(), vert.Y(), vert.Z(), 0.0), q), 0., 0., 0.),
60  theFieldMap(aFieldMap),
61  random(nullptr),
62  theTable(table) {
64 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.
#define X(str)
Definition: MuonsGrabber.cc:38
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
const HepPDT::ParticleDataTable * theTable
RawParticle const & particle() const
The particle being propagated.
const RandomEngineAndDistribution * random
math::XYZTLorentzVector XYZTLorentzVector
Definition: RawParticle.h:25

◆ ParticlePropagator() [6/8]

ParticlePropagator::ParticlePropagator ( const FSimTrack simTrack,
const MagneticFieldMap aFieldMap,
const RandomEngineAndDistribution engine,
const HepPDT::ParticleDataTable table 
)

Constructor with a FSimTrack from the FSimEvent

Definition at line 66 of file ParticlePropagator.cc.

References FSimTrack::decayTime(), fieldMap(), initProperDecayTime(), BaseParticlePropagator::particle(), BaseParticlePropagator::setMagneticField(), BaseParticlePropagator::setProperDecayTime(), cscDigiValidation_cfi::simTrack, X, beamSpotPI::Y, and beamSpotPI::Z.

71  makeParticle(table, simTrack.type(), simTrack.momentum(), simTrack.vertex().position()), 0., 0., 0.),
72  theFieldMap(aFieldMap),
73  random(engine),
74  theTable(table) {
76  if (simTrack.decayTime() < 0.) {
77  if (simTrack.nDaughters())
78  // This particle already decayed, don't decay it twice
79  this->setProperDecayTime(1E99);
80  else
81  // This particle hasn't decayed yet. Decay time according to particle lifetime
83  } else {
84  // Decay time pre-defined at generator level
85  this->setProperDecayTime(simTrack.decayTime());
86  }
87 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.
#define X(str)
Definition: MuonsGrabber.cc:38
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
RawParticle makeParticle(HepPDT::ParticleDataTable const *, int id, const math::XYZTLorentzVector &p)
Definition: makeParticle.cc:28
const HepPDT::ParticleDataTable * theTable
RawParticle const & particle() const
The particle being propagated.
double decayTime() const
Return the pre-defined decay time.
Definition: FSimTrack.h:218
void setProperDecayTime(double t)
Set the proper decay time.
const RandomEngineAndDistribution * random

◆ ParticlePropagator() [7/8]

ParticlePropagator::ParticlePropagator ( const ParticlePropagator myPropPart)

Constructor with a (Base)ParticlePropagator

Definition at line 89 of file ParticlePropagator.cc.

90  : BaseParticlePropagator(myPropPart), theFieldMap(myPropPart.theFieldMap) {
91  // setMagneticField(fieldMap(x(),y(),z()));
92 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.

◆ ParticlePropagator() [8/8]

ParticlePropagator::ParticlePropagator ( const BaseParticlePropagator myPropPart,
const MagneticFieldMap aFieldMap,
const HepPDT::ParticleDataTable table 
)

Definition at line 94 of file ParticlePropagator.cc.

References fieldMap(), BaseParticlePropagator::particle(), BaseParticlePropagator::setMagneticField(), X, beamSpotPI::Y, and beamSpotPI::Z.

97  : BaseParticlePropagator(myPropPart), theFieldMap(aFieldMap), theTable(table) {
99 }
const MagneticFieldMap * theFieldMap
BaseParticlePropagator()
Default c&#39;tor.
#define X(str)
Definition: MuonsGrabber.cc:38
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
const HepPDT::ParticleDataTable * theTable
RawParticle const & particle() const
The particle being propagated.

Member Function Documentation

◆ fieldMap() [1/2]

double ParticlePropagator::fieldMap ( double  x,
double  y,
double  z 
)

The fieldMap given by the detector geormetry

Definition at line 125 of file ParticlePropagator.cc.

References RawParticle::charge(), MagneticFieldMap::inTeslaZ(), BaseParticlePropagator::particle(), theFieldMap, geometryCSVtoXML::xx, geometryCSVtoXML::yy, and geometryCSVtoXML::zz.

Referenced by ParticlePropagator(), propagateToBoundSurface(), propagateToClosestApproach(), and propagateToNominalVertex().

125  {
126  // Arguments now passed in cm.
127  // return MagneticFieldMap::instance()->inTesla(GlobalPoint(xx/10.,yy/10.,zz/10.)).z();
128  // Return a dummy value for neutral particles!
129  return particle().charge() == 0.0 || theFieldMap == nullptr ? 4. : theFieldMap->inTeslaZ(GlobalPoint(xx, yy, zz));
130 }
const MagneticFieldMap * theFieldMap
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
double charge() const
get the MEASURED charge
Definition: RawParticle.h:294
RawParticle const & particle() const
The particle being propagated.
double inTeslaZ(const GlobalPoint &) const

◆ fieldMap() [2/2]

double ParticlePropagator::fieldMap ( const TrackerLayer layer,
double  coord,
int  success 
)

Definition at line 132 of file ParticlePropagator.cc.

References RawParticle::charge(), MagneticFieldMap::inTeslaZ(), nano_mu_digi_cff::layer, BaseParticlePropagator::particle(), BaseParticlePropagator::success, and theFieldMap.

132  {
133  // Arguments now passed in cm.
134  // return MagneticFieldMap::instance()->inTesla(GlobalPoint(xx/10.,yy/10.,zz/10.)).z();
135  // Return a dummy value for neutral particles!
136  return particle().charge() == 0.0 || theFieldMap == nullptr ? 4. : theFieldMap->inTeslaZ(layer, coord, success);
137 }
const MagneticFieldMap * theFieldMap
int success
0:propagation still be done, 1:reached &#39;barrel&#39;, 2:reached &#39;endcaps&#39;
double charge() const
get the MEASURED charge
Definition: RawParticle.h:294
RawParticle const & particle() const
The particle being propagated.
double inTeslaZ(const GlobalPoint &) const

◆ initProperDecayTime()

void ParticlePropagator::initProperDecayTime ( )

Initialize the proper decay time of the particle

Definition at line 101 of file ParticlePropagator.cc.

References funct::abs(), pdg::cTau(), RandomEngineAndDistribution::flatShoot(), dqm-mbProfile::log, BaseParticlePropagator::particle(), RawParticle::pid(), BaseParticlePropagator::properDecayTime, random, BaseParticlePropagator::setProperDecayTime(), and theTable.

Referenced by ParticlePropagator().

101  {
102  // And this is the proper time at which the particle will decay
103  double properDecayTime = (particle().pid() == 0 || particle().pid() == 22 || abs(particle().pid()) == 11 ||
104  abs(particle().pid()) == 2112 || abs(particle().pid()) == 2212 || !random)
105  ? 1E99
107 
108  this->setProperDecayTime(properDecayTime);
109 }
double cTau(int pdgID, const HepPDT::ParticleDataTable *pdt)
int pid() const
get the HEP particle ID number
Definition: RawParticle.h:277
const HepPDT::ParticleDataTable * theTable
double properDecayTime
The proper decay time of the particle.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
RawParticle const & particle() const
The particle being propagated.
void setProperDecayTime(double t)
Set the proper decay time.
double flatShoot(double xmin=0.0, double xmax=1.0) const
const RandomEngineAndDistribution * random

◆ particleDataTable()

const HepPDT::ParticleDataTable* ParticlePropagator::particleDataTable ( ) const
inline

Definition at line 100 of file ParticlePropagator.h.

References theTable.

Referenced by PythiaDecays::particleDaughters().

100 { return theTable; }
const HepPDT::ParticleDataTable * theTable

◆ propagated()

ParticlePropagator ParticlePropagator::propagated ( ) const

Return a new instance, corresponding to the particle propagated to the surface of the cylinder

Definition at line 121 of file ParticlePropagator.cc.

References ParticlePropagator(), BaseParticlePropagator::propagated(), theFieldMap, and theTable.

121  {
123 }
const MagneticFieldMap * theFieldMap
ParticlePropagator()
Default c&#39;tor.
BaseParticlePropagator propagated() const
const HepPDT::ParticleDataTable * theTable

◆ propagateToBoundSurface()

bool ParticlePropagator::propagateToBoundSurface ( const TrackerLayer layer)

Definition at line 139 of file ParticlePropagator.cc.

References fileCollector::done, BaseParticlePropagator::fiducial, fieldMap(), BaseParticlePropagator::hasDecayed(), nano_mu_digi_cff::layer, BaseParticlePropagator::particle(), BaseParticlePropagator::propagate(), alignCSCRings::r, BaseParticlePropagator::setMagneticField(), BaseParticlePropagator::success, and z.

Referenced by TrajectoryManager::propagateToLayer().

139  {
140  fiducial = true;
141  BoundDisk const* disk = layer.disk();
142  // bool disk = layer.forward();
143  // double innerradius=-999;
144  double innerradius = disk ? layer.diskInnerRadius() : -999.;
145 
146  // if( disk ) {
147  // const Surface& surface = layer.surface();
148  // const BoundDisk & myDisk = dynamic_cast<const BoundDisk&>(surface);
149  // innerradius=myDisk.innerRadius();
150  // innerradius=myDisk->innerRadius();
151  // }
152 
153  bool done = propagate();
154 
155  // Set the magnetic field at the new location (if succesfully propagated)
156  if (done && !hasDecayed()) {
157  if (success == 2)
159  else if (success == 1)
161  }
162 
163  // There is some real material here
164  fiducial = !(!disk && success != 1) && !(disk && (success != 2 || particle().r() < innerradius));
165 
166  return done;
167 }
int success
0:propagation still be done, 1:reached &#39;barrel&#39;, 2:reached &#39;endcaps&#39;
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
bool hasDecayed() const
Has the particle decayed while propagated ?
RawParticle const & particle() const
The particle being propagated.
bool fiducial
The particle traverses some real material.

◆ propagateToClosestApproach()

bool ParticlePropagator::propagateToClosestApproach ( double  x0 = 0.,
double  y0 = 0.,
bool  first = true 
)

Update the particle after propagation to the closest approach from Z axis, to the preshower layer 1 & 2, to the ECAL entrance, to the HCAL entrance, the HCAL 2nd and 3rd layer (not coded yet), the VFCAL entrance, or any BoundSurface(disk or cylinder)

Definition at line 111 of file ParticlePropagator.cc.

References fieldMap(), dqmdumpme::first, BaseParticlePropagator::propagateToClosestApproach(), and BaseParticlePropagator::setMagneticField().

111  {
112  setMagneticField(fieldMap(0., 0., 0.));
114 }
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
bool propagateToClosestApproach(double x0=0., double y0=0, bool first=true)

◆ propagateToNominalVertex()

bool ParticlePropagator::propagateToNominalVertex ( const XYZTLorentzVector hit2 = XYZTLorentzVector(0., 0., 0., 0.))

Definition at line 116 of file ParticlePropagator.cc.

References fieldMap(), BaseParticlePropagator::propagateToNominalVertex(), BaseParticlePropagator::setMagneticField(), and findQualityFiles::v.

116  {
117  setMagneticField(fieldMap(0., 0., 0.));
119 }
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)

◆ setPropagationConditions()

void ParticlePropagator::setPropagationConditions ( const TrackerLayer layer,
bool  firstLoop = true 
)

Definition at line 169 of file ParticlePropagator.cc.

References BaseParticlePropagator::firstLoop, nano_mu_digi_cff::layer, and BaseParticlePropagator::setPropagationConditions().

Referenced by ConvBremSeedProducer::produce(), and TrajectoryManager::propagateToLayer().

169  {
170  // Set the magentic field
171  // setMagneticField(fieldMap(x(),y(),z()));
172 
173  // Set R and Z according to the Tracker Layer characteristics.
174  // const Surface& surface = layer.surface();
175 
176  if (layer.forward()) {
177  // const BoundDisk & myDisk = dynamic_cast<const BoundDisk&>(surface);
178  // ParticlePropagator works in mm, whereas the detector geometry is in cm
180  layer.diskOuterRadius(), fabs(layer.disk()->position().z()), firstLoop);
181 
182  // ... or if it is a cylinder barrel
183  } else {
184  // const BoundCylinder & myCylinder = dynamic_cast<const BoundCylinder &>(surface);
185  // ParticlePropagator works now in cm
187  layer.cylinder()->bounds().width() / 2., layer.cylinder()->bounds().length() / 2., firstLoop);
188  }
189 }
bool firstLoop
Do only the first half-loop.
void setPropagationConditions(double r, double z, bool firstLoop=true)
Set the propagation characteristics (rCyl, zCyl and first loop only)

Member Data Documentation

◆ random

const RandomEngineAndDistribution* ParticlePropagator::random
private

Definition at line 104 of file ParticlePropagator.h.

Referenced by initProperDecayTime().

◆ theFieldMap

const MagneticFieldMap* ParticlePropagator::theFieldMap
private

Definition at line 103 of file ParticlePropagator.h.

Referenced by fieldMap(), and propagated().

◆ theTable

const HepPDT::ParticleDataTable* ParticlePropagator::theTable = nullptr
private

Definition at line 105 of file ParticlePropagator.h.

Referenced by initProperDecayTime(), particleDataTable(), and propagated().