23 :
BaseParticlePropagator(myPart, RCyl, ZCyl, 0.), theFieldMap(aFieldMap), random(engine), theTable(table) {
33 theFieldMap(aFieldMap),
48 theFieldMap(aFieldMap),
60 theFieldMap(aFieldMap),
72 theFieldMap(aFieldMap),
const MagneticFieldMap * theFieldMap
bool hasDecayed() const
Has the particle decayed while propagated ?
static std::vector< std::string > checklist log
ParticlePropagator()
Default c'tor.
double cTau(int pdgID, const HepPDT::ParticleDataTable *pdt)
double inTeslaZ(const GlobalPoint &) const
double flatShoot(double xmin=0.0, double xmax=1.0) const
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
HepPDT::ParticleDataTable ParticleDataTable
bool forward() const
Is the layer forward ?
bool propagateToClosestApproach(double x0=0., double y0=0., bool first=true)
bool firstLoop
Do only the first half-loop.
int success
0:propagation still be done, 1:reached 'barrel', 2:reached 'endcaps'
Global3DPoint GlobalPoint
bool propagateToBoundSurface(const TrackerLayer &)
int nDaughters() const
Number of daughters.
void setPropagationConditions(double r, double z, bool firstLoop=true)
Set the propagation characteristics (rCyl, zCyl and first loop only)
int pid() const
get the HEP particle ID number
void setMagneticField(double b)
Set the magnetic field.
double fieldMap(double x, double y, double z)
RawParticle const & particle() const
The particle being propagated.
void initProperDecayTime()
constexpr std::array< uint8_t, layerIndexSize > layer
bool propagateToClosestApproach(double x0=0., double y0=0, bool first=true)
const HepPDT::ParticleDataTable * theTable
double properDecayTime
The proper decay time of the particle.
double diskInnerRadius() const
Returns the inner radius of a disk.
BoundDisk const * disk() const
Returns the surface.
void setPropagationConditions(const TrackerLayer &, bool firstLoop=true)
Abs< T >::type abs(const T &t)
double charge() const
get the MEASURED charge
BaseParticlePropagator propagated() const
ParticlePropagator propagated() const
void setProperDecayTime(double t)
Set the proper decay time.
static int position[264][3]
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
math::XYZVector XYZVector
double diskOuterRadius() const
Returns the outer radius of a disk.
double decayTime() const
Return the pre-defined decay time.
const RandomEngineAndDistribution * random
BoundCylinder const * cylinder() const
Returns the cylinder.
bool fiducial
The particle traverses some real material.
math::XYZTLorentzVector XYZTLorentzVector