Go to the documentation of this file.
33 theFieldMap(aFieldMap),
48 theFieldMap(aFieldMap),
60 theFieldMap(aFieldMap),
72 theFieldMap(aFieldMap),
144 double innerradius = disk ?
layer.diskInnerRadius() : -999.;
176 if (
layer.forward()) {
187 layer.cylinder()->bounds().width() / 2.,
layer.cylinder()->bounds().length() / 2.,
firstLoop);
bool propagateToBoundSurface(const TrackerLayer &)
RawParticle const & particle() const
The particle being propagated.
double fieldMap(double x, double y, double z)
double inTeslaZ(const GlobalPoint &) const
double decayTime() const
Return the pre-defined decay time.
math::XYZVector XYZVector
void initProperDecayTime()
int pid() const
get the HEP particle ID number
math::XYZTLorentzVector XYZTLorentzVector
void setProperDecayTime(double t)
Set the proper decay time.
ParticlePropagator propagated() const
double charge() const
get the MEASURED charge
void setPropagationConditions(const TrackerLayer &, bool firstLoop=true)
const HepPDT::ParticleDataTable * theTable
Global3DPoint GlobalPoint
const MagneticFieldMap * theFieldMap
constexpr std::array< uint8_t, layerIndexSize > layer
bool fiducial
The particle traverses some real material.
static int position[264][3]
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
int success
0:propagation still be done, 1:reached 'barrel', 2:reached 'endcaps'
bool propagateToClosestApproach(double x0=0., double y0=0., bool first=true)
const RandomEngineAndDistribution * random
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
double flatShoot(double xmin=0.0, double xmax=1.0) const
void setMagneticField(double b)
Set the magnetic field.
void setPropagationConditions(double r, double z, bool firstLoop=true)
Set the propagation characteristics (rCyl, zCyl and first loop only)
double cTau(int pdgID, const HepPDT::ParticleDataTable *pdt)
bool firstLoop
Do only the first half-loop.
BaseParticlePropagator propagated() const
bool propagateToClosestApproach(double x0=0., double y0=0, bool first=true)
Abs< T >::type abs(const T &t)
double properDecayTime
The proper decay time of the particle.
HepPDT::ParticleDataTable ParticleDataTable
ParticlePropagator()
Default c'tor.
bool hasDecayed() const
Has the particle decayed while propagated ?