bool propagateToBoundSurface(const TrackerLayer &)
RawParticle const & particle() const
The particle being propagated.
double fieldMap(double x, double y, double z)
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
void setPropagationConditions(const TrackerLayer &, bool firstLoop=true)
const HepPDT::ParticleDataTable * theTable
const MagneticFieldMap * theFieldMap
bool fiducial
The particle traverses some real material.
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.))
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)
bool firstLoop
Do only the first half-loop.
BaseParticlePropagator propagated() const
bool propagateToClosestApproach(double x0=0., double y0=0, bool first=true)
double properDecayTime
The proper decay time of the particle.
HepPDT::ParticleDataTable ParticleDataTable
bool hasDecayed() const
Has the particle decayed while propagated ?