The Physics Vector package -* ========================== -* The Physics Vector package consists of five classes: -* - TVector2 -* - TVector3 -* - TRotation -* - TLorentzVector -* - TLorentzRotation -* It is a combination of CLHEPs Vector package written by -* Leif Lonnblad, Andreas Nilsson and Evgueni Tcherniaev -* and a ROOT package written by Pasha Murat. -* for CLHEP see: http://wwwinfo.cern.ch/asd/lhc++/clhep/ *
           
| xx  xy  xz  xt |
           
|               
|
           
| yx  yy  yz  yt |
   lambda = |               
|
           
| zx  zy  zz  zt |
           
|               
|
           
| tx  ty  tz  tt |
 
  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'*bx*bz  1+gamma'*by*by  gamma'*by*by 
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.
  Double_t xx;
  TLorentzRotation l;
  xx = l.XX();    // gets the xx component
  xx = l(0,0);    // gets the xx component
  if (l==m) {...}  // test for equality
  if (l !=m) {...} // test for inequality
  if (l.IsIdentity()) {...} // test for identity
 
  TLorentzRotation a,b,c;
  c = b*a;                       // product
  c = a.MatrixMultiplication(b);  // a is unchanged
  a *= b;                        // Attention: a=a*b
  c = a.Transform(b)             // a=b*a then c=a
 
  l1 = l2.Inverse();  // l1 is inverse of l2, l2 unchanged
  l1 = l2.Invert();   // invert l2, then  l1=l2
  TLorentzVector v;
  ...
  v=l.VectorMultiplication(v);
  v = l * v;
  v.Transform(l);
  v *= l;  // Attention v = l*v
| TLorentzRotation(Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t) | |
| virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const | 
| void | TObject::MakeZombie() | 
| void | SetBoost(Double_t, Double_t, Double_t) | 
| enum TObject::EStatusBits { | kCanDelete | |
| kMustCleanup | ||
| kObjInCanvas | ||
| kIsReferenced | ||
| kHasUUID | ||
| kCannotPick | ||
| kNoContextMenu | ||
| kInvalidObject | ||
| }; | ||
| enum TObject::[unnamed] { | kIsOnHeap | |
| kNotDeleted | ||
| kZombie | ||
| kBitMask | ||
| kSingleKey | ||
| kOverwrite | ||
| kWriteDelete | ||
| }; | 

{}multiply this vector by a matrix