17 double RCyl,
double ZCyl,
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 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
double flatShoot(double xmin=0.0, double xmax=1.0) 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'
BaseParticlePropagator()
Default c'tor.
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()
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
bool propagateToClosestApproach(double x0=0., double y0=0, bool first=true)
const XYZTLorentzVector & momentum() const
the momentum fourvector
math::XYZVector XYZVector
double properDecayTime
The proper decay time of the particle.
simTrack
per collection params
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
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
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.))
const FSimVertex vertex() const
Origin vertex.
double diskOuterRadius() const
Returns the outer radius of a disk.
double decayTime() const
Return the pre-defined decay time.
const RandomEngineAndDistribution * random
void setVertex(const XYZTLorentzVector &vtx)
set the vertex
BoundCylinder const * cylinder() const
Returns the cylinder.
bool fiducial
The particle traverses some real material.
math::XYZTLorentzVector XYZTLorentzVector