76 this->SetXYZT(right.Px(),right.Py(),right.Pz(),right.E());
157 SetXYZT(v.X(),v.Y(),v.Z(),E());
164 SetXYZT(v.X(),v.Y(),v.Z(),E());
171 SetXYZT(v.X(),v.Y(),v.Z(),E());
178 SetXYZT(v.X(),v.Y(),v.Z(),E());
183 Boost b(betax,betay,betaz);
185 SetXYZT(p.X(),p.Y(),p.Z(),p.T());
189 std::string MyParticleName;
191 MyParticleName =
myInfo->name();
193 MyParticleName =
"unknown ";
195 return (std::string) MyParticleName;}
200 std::string MyParticleName =
PDGname();
201 if (MyParticleName.length() != 0) {
203 for(
unsigned int k=0;
k<9-MyParticleName.length() &&
k<10;
k++)
214 std::cout.setf(std::ios::fixed, std::ios::floatfield);
215 std::cout.setf(std::ios::right, std::ios::adjustfield);
216 std::cout << std::setw(8) << std::setprecision(2) << Px();
217 std::cout << std::setw(8) << std::setprecision(2) << Py();
218 std::cout << std::setw(8) << std::setprecision(2) << Pz();
219 std::cout << std::setw(8) << std::setprecision(2) << E();
220 std::cout << std::setw(8) << std::setprecision(2) << M();
223 std::cout << std::setw(8) << std::setprecision(2) <<
X();
224 std::cout << std::setw(8) << std::setprecision(2) <<
Y();
225 std::cout << std::setw(8) << std::setprecision(2) <<
Z();
226 std::cout << std::setw(8) << std::setprecision(2) <<
T();
232 o.setf(std::ios::fixed, std::ios::floatfield);
233 o.setf(std::ios::right, std::ios::adjustfield);
236 o << std::setw(4) << std::setprecision(2) << p.
pid() <<
" (";
237 o << std::setw(2) << std::setprecision(2) << p.
status() <<
"): ";
238 o << std::setw(10) << std::setprecision(4) << p.
momentum() <<
" ";
239 o << std::setw(10) << std::setprecision(4) << p.
vertex();
257 m =
myInfo->mass().value();
271 double w =
myInfo->totalWidth().value();
272 if ( w != 0. &&
myId != 1000022 ) {
273 ct = 6.582119e-25 / w / 10.;
307 double mypp, tmpEt=-1.;
311 tmpEt = E() * pt() / mypp;
void setCharge(float q)
set the MEASURED charge
void boost(double bx, double by, double bz)
void rotateZ(double rphi)
XYZTLorentzVector myVertex
the four vector of the vertex
int status() const
get the particle status
void rotateY(double rphi)
int myId
the particle id number HEP-PID
double PDGmass() const
get the THEORETICAL mass
double PDGcTau() const
get the THEORETICAL lifetime
double myMass
the RECONSTRUCTED mass
int pid() const
get the HEP particle ID number
void setT(const double t)
set the time of creation
std::ostream & operator<<(std::ostream &out, const ALILine &li)
double mass() const
get the MEASURED mass
ROOT::Math::RotationZ RotationZ
void setMass(float m)
set the RECONSTRUCTED mass
int myStatus
the status code according to PYTHIA
double PDGcharge() const
get the THEORETICAL charge
ROOT::Math::RotationX RotationX
const XYZTLorentzVector & momentum() const
the momentum fourvector
math::XYZVector XYZVector
double myCharge
the MEASURED charge
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
double Y() const
y of vertex
double Z() const
z of vertex
ROOT::Math::RotationY RotationY
const HepPDT::ParticleDataTable * theTable() const
Get the pointer to the particle data table.
void rotate(double rphi, const XYZVector &raxis)
double charge() const
get the MEASURED charge
int myUsed
status of the locking
const XYZTLorentzVector & vertex() const
the vertex fourvector
static ParticleTable * instance()
void setStatus(int istat)
void rotateX(double rphi)
double r() const
vertex radius
double X() const
x of vertex
std::string PDGname() const
get the PDG name
ROOT::Math::AxisAngle Rotation
double T() const
vertex time
const ParticleData * myInfo
The pointer to the PDG info.
RawParticle & operator=(const RawParticle &rhs)
double et() const
get the transverse energy
math::XYZTLorentzVector XYZTLorentzVector
T angle(T x1, T y1, T z1, T x2, T y2, T z2)