17 double RCyl,
double ZCyl,
21 theFieldMap(aFieldMap),
32 theFieldMap(aFieldMap),
44 theFieldMap(aFieldMap),
56 theFieldMap(aFieldMap),
68 theFieldMap(aFieldMap),
88 theFieldMap(myPropPart.theFieldMap)
96 theFieldMap(aFieldMap)
180 !( disk && (
success!=2 ||
r()<innerradius));
200 fabs(layer.
disk()->position().z()),
209 layer.
cylinder()->bounds().width()/2.,
210 layer.
cylinder()->bounds().length()/2.,
const double Z[kNumberCalorimeter]
const MagneticFieldMap * theFieldMap
bool hasDecayed() const
Has the particle decayed while propagated ?
void setCharge(float q)
set the MEASURED charge
ParticlePropagator()
Default c'tor.
double inTeslaZ(const GlobalPoint &) const
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
bool forward() const
Is the layer forward ?
double z() const
z of vertex
bool propagateToClosestApproach(double x0=0., double y0=0., bool first=true)
bool firstLoop
Do only the first half-loop.
double PDGcTau() const
get the THEORETICAL lifetime
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)
void initProperDecayTime()
bool propagateToClosestApproach(double x0=0., double y0=0, bool first=true)
math::XYZVector XYZVector
BoundDisk * disk() const
Returns the surface.
double properDecayTime
The proper decay time of the particle.
const math::XYZTLorentzVector & position() const
Temporary (until CMSSW moves to Mathcore) - No ! Actually very useful.
double diskInnerRadius() const
Returns the inner radius of a disk.
double Y() const
y of vertex
double Z() const
z of vertex
void setPropagationConditions(const TrackerLayer &, bool firstLoop=true)
const RandomEngine * random
const FSimVertex & vertex() const
Origin vertex.
double charge() const
get the MEASURED charge
BaseParticlePropagator propagated() const
BoundCylinder * cylinder() const
Returns the cylinder.
double flatShoot(double xmin=0.0, double xmax=1.0) const
ParticlePropagator propagated() const
double r() const
vertex radius
double X() const
x of vertex
void setProperDecayTime(double t)
Set the proper decay time.
bool propagateToNominalVertex(const XYZTLorentzVector &hit2=XYZTLorentzVector(0., 0., 0., 0.))
double diskOuterRadius() const
Returns the outer radius of a disk.
double decayTime() const
Return the pre-defined decay time.
void setVertex(const XYZTLorentzVector &vtx)
set the vertex
bool fiducial
The particle traverses some real material.
math::XYZTLorentzVector XYZTLorentzVector