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);
329 Printf(
"(x,y,z,t)=(%f,%f,%f,%f) (P,eta,phi,E)=(%f,%f,%f,%f)",
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
Buffer base class used for serializing objects.
virtual Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=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
TClass * IsA() const override
TLorentzVector & operator*=(Double_t a)
void Print(Option_t *option="") const override
Print the TLorentz vector components as (x,y,z,t) and (P,eta,phi,E) representations.
void Boost(Double_t, Double_t, Double_t)
void Streamer(TBuffer &) override
Stream an object of class TObject.
TLorentzVector & Transform(const TRotation &)
virtual void Streamer(TBuffer &)
Stream an object of class TObject.
void SetXYZ(Double_t x, Double_t y, Double_t z)
Double_t Sqrt(Double_t x)
Returns the square root of x.