Legacy Code
 TLorentzRotation is a legacy interface: there will be no bug fixes nor new developments. Therefore it is not recommended to use it in new long-term production code. But, depending on the context, using TLorentzRotation might still be a valid solution.  Consider using instead ROOT::Math::LorentzRotation.
The TLorentzRotation class describes Lorentz transformations including Lorentz boosts and rotations (see TRotation) 
         |                |
lambda = |                |
         |                |
Option_t Option_t TPoint xy
 
 
Declaration
By default it is initialized to the identity matrix, but it may also be initialized by an other TLorentzRotation, by a pure TRotation or by a boost:
TLorentzRotation l; // l is initialized as identity TLorentzRotation m(l); // m = l TRotation r; TLorentzRotation lr(r); TLorentzRotation lb1(bx,by,bz); TVector3 b; TLorentzRotation lb2(b);
The Matrix for a Lorentz boosts is:
| 1+gamma
'*bx*bx  gamma'*
bx*
by   gamma
'*bx*bz  gamma*bx | 
|  gamma'*
by*
bx  1+gamma
'*by*by  gamma'*
by*
bz  gamma*
by |
 
|  gamma
'*bz*bx   gamma'*
bz*
by  1+gamma
'*bz*bz gamma*bz | 
|    gamma*bx       gamma*by       gamma*bz     gamma   |
with the boost vector b=(bx,by,bz) and gamma=1/Sqrt(1-beta*beta) and gamma'=(gamma-1)/beta*beta. 
Access to the matrix components/Comparisons
Access to the matrix components is possible through the member functions XX(), XY() .. TT(), through the operator (int,int):
 
if (
l.IsIdentity()) {...} 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
<div class="legacybox"><h2>Legacy Code</h2> TLorentzRotation is a legacy interface: there will be no ...
 
 
Transformations of a LorentzRotation
Compound transformations
There are four possibilities to find the product of two TLorentzRotation transformations:
TLorentzRotation MatrixMultiplication(const TLorentzRotation &) const
 
TLorentzRotation & Transform(const TLorentzRotation &)
 
 Lorentz boosts
Rotations
Inverse transformation
The matrix for the inverse transformation of a TLorentzRotation is as follows:
To return the inverse transformation keeping the current unchanged use the member function Inverse(). Invert() inverts the current TLorentzRotation:
Transformation of a TLorentzVector
To apply TLorentzRotation to TLorentzVector you can use either the VectorMultiplication() member function or the * operator. You can also use the Transform() function and the *= operator of the TLorentzVector class.:
...
v=
l.VectorMultiplication(
v);
 
 
  
Definition at line 20 of file TLorentzRotation.h.
 | 
|   | TLorentzRotation () | 
|   | 
|   | TLorentzRotation (const TLorentzRotation &) | 
|   | 
|   | TLorentzRotation (const TRotation &) | 
|   | 
|   | TLorentzRotation (const TVector3 &) | 
|   | 
|   | TLorentzRotation (Double_t, Double_t, Double_t) | 
|   | 
| TLorentzRotation &  | Boost (const TVector3 &) | 
|   | 
| TLorentzRotation &  | Boost (Double_t, Double_t, Double_t) | 
|   | 
| TLorentzRotation  | Inverse () const | 
|   | 
| TLorentzRotation &  | Invert () | 
|   | 
| TClass *  | IsA () const override | 
|   | 
| Bool_t  | IsIdentity () const | 
|   | 
| TLorentzRotation  | MatrixMultiplication (const TLorentzRotation &) const | 
|   | 
| Bool_t  | operator!= (const TLorentzRotation &) const | 
|   | 
| Double_t  | operator() (int, int) const | 
|   | 
| TLorentzRotation  | operator* (const TLorentzRotation &) const | 
|   | 
| TLorentzVector  | operator* (const TLorentzVector &) const | 
|   | 
| TLorentzRotation &  | operator*= (const TLorentzRotation &) | 
|   | 
| TLorentzRotation &  | operator= (const TLorentzRotation &) | 
|   | 
| TLorentzRotation &  | operator= (const TRotation &) | 
|   | 
| Bool_t  | operator== (const TLorentzRotation &) const | 
|   | 
| TLorentzRotationRow  | operator[] (int) const | 
|   | 
| TLorentzRotation &  | Rotate (Double_t, const TVector3 &) | 
|   | 
| TLorentzRotation &  | Rotate (Double_t, const TVector3 *) | 
|   | 
| TLorentzRotation &  | RotateX (Double_t) | 
|   | 
| TLorentzRotation &  | RotateY (Double_t) | 
|   | 
| TLorentzRotation &  | RotateZ (Double_t) | 
|   | 
| void  | Streamer (TBuffer &) override | 
|   | Stream an object of class TObject.  
  | 
|   | 
| void  | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|   | 
| TLorentzRotation &  | Transform (const TLorentzRotation &) | 
|   | 
| TLorentzRotation &  | Transform (const TRotation &) | 
|   | 
| Double_t  | TT () const | 
|   | 
| Double_t  | TX () const | 
|   | 
| Double_t  | TY () const | 
|   | 
| Double_t  | TZ () const | 
|   | 
| TLorentzVector  | VectorMultiplication (const TLorentzVector &) const | 
|   | 
| Double_t  | XT () const | 
|   | 
| Double_t  | XX () const | 
|   | 
| Double_t  | XY () const | 
|   | 
| Double_t  | XZ () const | 
|   | 
| Double_t  | YT () const | 
|   | 
| Double_t  | YX () const | 
|   | 
| Double_t  | YY () const | 
|   | 
| Double_t  | YZ () const | 
|   | 
| Double_t  | ZT () const | 
|   | 
| Double_t  | ZX () const | 
|   | 
| Double_t  | ZY () const | 
|   | 
| Double_t  | ZZ () const | 
|   | 
|   | TObject () | 
|   | TObject constructor.  
  | 
|   | 
|   | TObject (const TObject &object) | 
|   | TObject copy ctor.  
  | 
|   | 
| virtual  | ~TObject () | 
|   | TObject destructor.  
  | 
|   | 
| void  | AbstractMethod (const char *method) const | 
|   | Use this method to implement an "abstract" method that you don't want to leave purely abstract.  
  | 
|   | 
| virtual void  | AppendPad (Option_t *option="") | 
|   | Append graphics object to current pad.  
  | 
|   | 
| virtual void  | Browse (TBrowser *b) | 
|   | Browse object. May be overridden for another default action.  
  | 
|   | 
| ULong_t  | CheckedHash () | 
|   | Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.  
  | 
|   | 
| virtual const char *  | ClassName () const | 
|   | Returns name of class to which the object belongs.  
  | 
|   | 
| virtual void  | Clear (Option_t *="") | 
|   | 
| virtual TObject *  | Clone (const char *newname="") const | 
|   | Make a clone of an object using the Streamer facility.  
  | 
|   | 
| virtual Int_t  | Compare (const TObject *obj) const | 
|   | Compare abstract method.  
  | 
|   | 
| virtual void  | Copy (TObject &object) const | 
|   | Copy this to obj.  
  | 
|   | 
| virtual void  | Delete (Option_t *option="") | 
|   | Delete this object.  
  | 
|   | 
| virtual Int_t  | DistancetoPrimitive (Int_t px, Int_t py) | 
|   | Computes distance from point (px,py) to the object.  
  | 
|   | 
| virtual void  | Draw (Option_t *option="") | 
|   | Default Draw method for all objects.  
  | 
|   | 
| virtual void  | DrawClass () const | 
|   | Draw class inheritance tree of the class to which this object belongs.  
  | 
|   | 
| virtual TObject *  | DrawClone (Option_t *option="") const | 
|   | Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).  
  | 
|   | 
| virtual void  | Dump () const | 
|   | Dump contents of object on stdout.  
  | 
|   | 
| virtual void  | Error (const char *method, const char *msgfmt,...) const | 
|   | Issue error message.  
  | 
|   | 
| virtual void  | Execute (const char *method, const char *params, Int_t *error=nullptr) | 
|   | Execute method on this object with the given parameter string, e.g.  
  | 
|   | 
| virtual void  | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) | 
|   | Execute method on this object with parameters stored in the TObjArray.  
  | 
|   | 
| virtual void  | ExecuteEvent (Int_t event, Int_t px, Int_t py) | 
|   | Execute action corresponding to an event at (px,py).  
  | 
|   | 
| virtual void  | Fatal (const char *method, const char *msgfmt,...) const | 
|   | Issue fatal error message.  
  | 
|   | 
| virtual TObject *  | FindObject (const char *name) const | 
|   | Must be redefined in derived classes.  
  | 
|   | 
| virtual TObject *  | FindObject (const TObject *obj) const | 
|   | Must be redefined in derived classes.  
  | 
|   | 
| virtual Option_t *  | GetDrawOption () const | 
|   | Get option used by the graphics system to draw this object.  
  | 
|   | 
| virtual const char *  | GetIconName () const | 
|   | Returns mime type name of object.  
  | 
|   | 
| virtual const char *  | GetName () const | 
|   | Returns name of object.  
  | 
|   | 
| virtual char *  | GetObjectInfo (Int_t px, Int_t py) const | 
|   | Returns string containing info about the object at position (px,py).  
  | 
|   | 
| virtual Option_t *  | GetOption () const | 
|   | 
| virtual const char *  | GetTitle () const | 
|   | Returns title of object.  
  | 
|   | 
| virtual UInt_t  | GetUniqueID () const | 
|   | Return the unique object id.  
  | 
|   | 
| virtual Bool_t  | HandleTimer (TTimer *timer) | 
|   | Execute action in response of a timer timing out.  
  | 
|   | 
| virtual ULong_t  | Hash () const | 
|   | Return hash value for this object.  
  | 
|   | 
| Bool_t  | HasInconsistentHash () const | 
|   | Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.  
  | 
|   | 
| virtual void  | Info (const char *method, const char *msgfmt,...) const | 
|   | Issue info message.  
  | 
|   | 
| virtual Bool_t  | InheritsFrom (const char *classname) const | 
|   | Returns kTRUE if object inherits from class "classname".  
  | 
|   | 
| virtual Bool_t  | InheritsFrom (const TClass *cl) const | 
|   | Returns kTRUE if object inherits from TClass cl.  
  | 
|   | 
| virtual void  | Inspect () const | 
|   | Dump contents of this object in a graphics canvas.  
  | 
|   | 
| void  | InvertBit (UInt_t f) | 
|   | 
| Bool_t  | IsDestructed () const | 
|   | IsDestructed.  
  | 
|   | 
| virtual Bool_t  | IsEqual (const TObject *obj) const | 
|   | Default equal comparison (objects are equal if they have the same address in memory).  
  | 
|   | 
| virtual Bool_t  | IsFolder () const | 
|   | Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).  
  | 
|   | 
| R__ALWAYS_INLINE Bool_t  | IsOnHeap () const | 
|   | 
| virtual Bool_t  | IsSortable () const | 
|   | 
| R__ALWAYS_INLINE Bool_t  | IsZombie () const | 
|   | 
| virtual void  | ls (Option_t *option="") const | 
|   | The ls function lists the contents of a class on stdout.  
  | 
|   | 
| void  | MayNotUse (const char *method) const | 
|   | Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).  
  | 
|   | 
| virtual Bool_t  | Notify () | 
|   | This method must be overridden to handle object notification (the base implementation is no-op).  
  | 
|   | 
| void  | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const | 
|   | Use this method to declare a method obsolete.  
  | 
|   | 
| void  | operator delete (void *, size_t) | 
|   | Operator delete for sized deallocation.  
  | 
|   | 
| void  | operator delete (void *ptr) | 
|   | Operator delete.  
  | 
|   | 
| void  | operator delete (void *ptr, void *vp) | 
|   | Only called by placement new when throwing an exception.  
  | 
|   | 
| void  | operator delete[] (void *, size_t) | 
|   | Operator delete [] for sized deallocation.  
  | 
|   | 
| void  | operator delete[] (void *ptr) | 
|   | Operator delete [].  
  | 
|   | 
| void  | operator delete[] (void *ptr, void *vp) | 
|   | Only called by placement new[] when throwing an exception.  
  | 
|   | 
| void *  | operator new (size_t sz) | 
|   | 
| void *  | operator new (size_t sz, void *vp) | 
|   | 
| void *  | operator new[] (size_t sz) | 
|   | 
| void *  | operator new[] (size_t sz, void *vp) | 
|   | 
| TObject &  | operator= (const TObject &rhs) | 
|   | TObject assignment operator.  
  | 
|   | 
| virtual void  | Paint (Option_t *option="") | 
|   | This method must be overridden if a class wants to paint itself.  
  | 
|   | 
| virtual void  | Pop () | 
|   | Pop on object drawn in a pad to the top of the display list.  
  | 
|   | 
| virtual void  | Print (Option_t *option="") const | 
|   | This method must be overridden when a class wants to print itself.  
  | 
|   | 
| virtual Int_t  | Read (const char *name) | 
|   | Read contents of object with specified name from the current directory.  
  | 
|   | 
| virtual void  | RecursiveRemove (TObject *obj) | 
|   | Recursively remove this object from a list.  
  | 
|   | 
| void  | ResetBit (UInt_t f) | 
|   | 
| virtual void  | SaveAs (const char *filename="", Option_t *option="") const | 
|   | Save this object in the file specified by filename.  
  | 
|   | 
| virtual void  | SavePrimitive (std::ostream &out, Option_t *option="") | 
|   | Save a primitive as a C++ statement(s) on output stream "out".  
  | 
|   | 
| void  | SetBit (UInt_t f) | 
|   | 
| void  | SetBit (UInt_t f, Bool_t set) | 
|   | Set or unset the user status bits as specified in f.  
  | 
|   | 
| virtual void  | SetDrawOption (Option_t *option="") | 
|   | Set drawing option for object.  
  | 
|   | 
| virtual void  | SetUniqueID (UInt_t uid) | 
|   | Set the unique object id.  
  | 
|   | 
| void  | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|   | 
| virtual void  | SysError (const char *method, const char *msgfmt,...) const | 
|   | Issue system error message.  
  | 
|   | 
| R__ALWAYS_INLINE Bool_t  | TestBit (UInt_t f) const | 
|   | 
| Int_t  | TestBits (UInt_t f) const | 
|   | 
| virtual void  | UseCurrentStyle () | 
|   | Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.  
  | 
|   | 
| virtual void  | Warning (const char *method, const char *msgfmt,...) const | 
|   | Issue warning message.  
  | 
|   | 
| virtual Int_t  | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) | 
|   | Write this object to the current directory.  
  | 
|   | 
| virtual Int_t  | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const | 
|   | Write this object to the current directory.  
  | 
|   |