270 Double_t b2 = bx*bx + by*by + bz*bz;
273 Double_t gamma2 = b2 > 0 ? (gamma - 1.0)/b2 : 0.0;
275 SetX(
X() + gamma2*bp*bx + gamma*bx*
T());
276 SetY(
Y() + gamma2*bp*by + gamma*by*
T());
277 SetZ(
Z() + gamma2*bp*bz + gamma*bz*
T());
278 SetT(gamma*(
T() + bp));
284 return 0.5*log( (
E()+
Pz()) / (
E()-
Pz()) );
290 return *
this =
m.VectorMultiplication(*
this);
296 return *
this =
m.VectorMultiplication(*
this);
299void TLorentzVector::Streamer(
TBuffer &R__b)
311 if (R__v != 2) TObject::Streamer(R__b);
329 Printf(
"(x,y,z,t)=(%f,%f,%f,%f) (P,eta,phi,E)=(%f,%f,%f,%f)",
void Printf(const char *fmt,...)
Buffer base class used for serializing objects.
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
The TLorentzRotation class describes Lorentz transformations including Lorentz boosts and rotations (...
Double_t Rapidity() const
TLorentzVector & operator*=(Double_t a)
void Boost(Double_t, Double_t, Double_t)
TLorentzVector & Transform(const TRotation &)
virtual void Print(Option_t *option="") const
Print the TLorentz vector components as (x,y,z,t) and (P,eta,phi,E) representations.
void SetXYZ(Double_t x, Double_t y, Double_t z)
Double_t Sqrt(Double_t x)