253 Double_t b2 = bx*bx + by*by + bz*bz;
255 Double_t bp = bx*
X() + by*
Y() + bz*
Z();
256 Double_t gamma2 = b2 > 0 ? (gamma - 1.0)/b2 : 0.0;
258 SetX(
X() + gamma2*bp*bx + gamma*bx*
T());
259 SetY(
Y() + gamma2*bp*by + gamma*by*
T());
260 SetZ(
Z() + gamma2*bp*bz + gamma*bz*
T());
261 SetT(gamma*(
T() + bp));
267 return 0.5*
log( (
E()+
Pz()) / (
E()-
Pz()) );
282 void TLorentzVector::Streamer(TBuffer &R__b)
287 if (R__b.IsReading()) {
288 Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
290 R__b.ReadClassBuffer(TLorentzVector::Class(),
this, R__v, R__s, R__c);
294 if (R__v != 2) TObject::Streamer(R__b);
300 R__b.CheckByteCount(R__s, R__c, TLorentzVector::IsA());
302 R__b.WriteClassBuffer(TLorentzVector::Class(),
this);
312 Printf(
"(x,y,z,t)=(%f,%f,%f,%f) (P,eta,phi,E)=(%f,%f,%f,%f)",
The TLorentzRotation class describes Lorentz transformations including Lorentz boosts and rotations (...
void Boost(Double_t, Double_t, Double_t)
virtual void Print(Option_t *option="") const
Print the TLorentz vector components as (x,y,z,t) and (P,eta,phi,E) representations.
you should not use this method at all Int_t y
TLorentzVector & operator*=(Double_t a)
void SetXYZ(Double_t x, Double_t y, Double_t z)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t Int_t m
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
* x
Deprecated and error prone model selection interface.
you should not use this method at all Int_t Int_t z
TLorentzVector VectorMultiplication(const TLorentzVector &) const
TLorentzVector & Transform(const TRotation &)
Double_t Sqrt(Double_t x)
Double_t Rapidity() const