Lorentz boost class with the (4D) transformation represented internally by a 4x4 orthosymplectic matrix. See also BoostX, BoostY and BoostZ for classes representing specialized Lorentz boosts. Also, the 3-D rotation classes can be considered to be special Lorentz transformations which do not mix space and time components. @ingroup GenVector
void | SetIdentity() |
========== Constructors and Assignment ===================== Default constructor (identity transformation)
{ SetIdentity(); }
Construct given a three Scalars beta_x, beta_y, and beta_z
{ SetComponents(beta_x, beta_y, beta_z); }
Construct given a beta vector (which must have methods x(), y(), z())
{ SetComponents(beta); }
Construct given a pair of pointers or iterators defining the beginning and end of an array of three Scalars to use as beta_x, _y, and _z
{ SetComponents(begin,end); }
The compiler-generated copy ctor, copy assignment, and dtor are OK. Assign from an axial pure boost
{ return operator=(Boost(bx)); }
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.
======== Components ============== Set components from beta_x, beta_y, and beta_z
Get components into beta_x, beta_y, and beta_z
Set components from a beta vector
{ SetComponents(beta.x(), beta.y(), beta.z()); }
Set given a pair of pointers or iterators defining the beginning and end of an array of three Scalars to use as beta_x,beta _y, and beta_z
Get given a pair of pointers or iterators defining the beginning and end of an array of three Scalars into which to place beta_x, beta_y, and beta_z
Get elements of internal 4x4 symmetric representation, into a data array suitable for direct use as the components of a LorentzRotation Note -- 16 Scalars will be written into the array; if the array is not that large, then this will lead to undefined behavior.
=========== operations ============== Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector
Overload operator * for boost on a vector