1 #ifndef CommonTools_BaseParticlePropagator_RawParticle_h 2 #define CommonTools_BaseParticlePropagator_RawParticle_h 7 #include "Math/GenVector/RotationX.h" 8 #include "Math/GenVector/RotationY.h" 9 #include "Math/GenVector/RotationZ.h" 10 #include "Math/GenVector/Rotation3D.h" 11 #include "Math/GenVector/AxisAngle.h" 12 #include "Math/GenVector/Boost.h" 49 typedef ROOT::Math::Boost
Boost;
90 void setT(
const double t);
94 void setVertex(
double xv,
double yv,
double zv,
double tv);
111 void boost(
double bx,
double by,
double bz);
213 double Perp2()
const;
217 double theta()
const;
367 myVertex.SetXYZT(
X() + tr.X(),
Y() + tr.Y(),
Z() + tr.Z(),
T());
double R2() const
vertex radius**2
void setMomentum(const XYZTLorentzVector &vtx)
set the momentum
void setCharge(float q)
set the MEASURED charge
void translate(const XYZVector &t)
void boost(double bx, double by, double bz)
void rotateZ(double rphi)
double x() const
x of vertex
XYZTLorentzVector myVertex
the four vector of the vertex
double Pz() const
z of the momentum
void rotateY(double rphi)
double et() const
get the transverse energy
int myId
the particle id number HEP-PID
ROOT::Math::Rotation3D Rotation3D
friend RawParticle unchecked_makeParticle(int id, const math::XYZTLorentzVector &p, double mass, double charge)
std::ostream & operator<<(std::ostream &o, const RawParticle &p)
int pid() const
get the HEP particle ID number
double cos2Theta() const
Cos**2(theta) is faster to determine than eta.
double Z() const
z of vertex
double myMass
the RECONSTRUCTED mass
XYZTLorentzVector myMomentum
the four vector of the momentum
double r() const
vertex radius
double E() const
energy of the momentum
const XYZTLorentzVector & momentum() const
the momentum fourvector
void setT(const double t)
set the time of creation
RawParticle makeMuon(bool isParticle, const math::XYZTLorentzVector &p, const math::XYZTLorentzVector &xStart)
double t() const
vertex time
ROOT::Math::RotationZ RotationZ
double charge() const
get the MEASURED charge
double px() const
x of the momentum
void setMass(float m)
set the RECONSTRUCTED mass
int myStatus
the status code according to PYTHIA
double pt() const
transverse momentum
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
double Pt() const
transverse momentum
ROOT::Math::RotationX RotationX
double cos2ThetaV() const
double myCharge
the MEASURED charge
double Py() const
y of the momentum
ROOT::Math::RotationY RotationY
Tan< T >::type tan(const T &t)
double z() const
z of vertex
void rotate(double rphi, const XYZVector &raxis)
double py() const
y of the momentum
RawParticle & operator=(const RawParticle &rhs)=default
double y() const
y of vertex
double Perp2() const
perpendicular momentum squared
double r2() const
vertex radius**2
int myUsed
status of the locking
double pz() const
z of the momentum
XYZVector Vect() const
the momentum threevector
double T() const
vertex time
void setStatus(int istat)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double mass() const
get the MEASURED mass
double M2() const
mass squared
void rotateX(double rphi)
double Y() const
y of vertex
double R() const
vertex radius
ROOT::Math::AxisAngle Rotation
double X() const
x of vertex
double theta() const
theta of momentum vector
math::XYZVector XYZVector
double phi() const
phi of momentum vector
double e() const
energy of the momentum
void setVertex(const XYZTLorentzVector &vtx)
set the vertex
double mag() const
the magnitude of the momentum
math::XYZTLorentzVector XYZTLorentzVector
const XYZTLorentzVector & vertex() const
the vertex fourvector
double Px() const
x of the momentum
int status() const
get the particle status