Lorentz boost class with the (4D) transformation represented internally by a 4x4 orthosymplectic matrix. 
A variable names bgamma appears in several places in this file.
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.
A few words of elaboration are needed to make its meaning clear. On page 69 of Misner, Thorne and Wheeler, (Exercise 2.7) the elements of the matrix for a general Lorentz boost are given as
\[ \Lambda^{j'}_k = \Lambda^{k'}_j = (\gamma - 1) n^j n^k + \delta^{jk} \]
where the n^i are unit vectors in the direction of the three spatial axes. Using the definitions, \( n^i = \beta_i/\beta \) , then, for example,
\[ \Lambda_{xy} = (\gamma - 1) n_x n_y = (\gamma - 1) \beta_x \beta_y/\beta^2 \]
By definition, 
\[ \gamma^2 = 1/(1 - \beta^2) \]
so that 
\[ \gamma^2 \beta^2 = \gamma^2 - 1 \]
or 
\[ \beta^2 = (\gamma^2 - 1)/\gamma^2 \]
If we insert this into the expression for \( \Lambda_{xy} \), we get
\[ \Lambda_{xy} = (\gamma - 1) \gamma^2/(\gamma^2 - 1) \beta_x \beta_y \]
or, finally
\[ \Lambda_{xy} = \gamma^2/(\gamma+1) \beta_x \beta_y \]
The expression \( \gamma^2/(\gamma+1) \) is what we call bgamma in the code below. 
Definition at line 46 of file Boost.h.
 | 
|   | Boost () | 
|   | Default constructor (identity transformation)  More...
  | 
|   | 
|   | Boost (Boost const &b) | 
|   | copy constructor  More...
  | 
|   | 
|   | Boost (BoostX const &bx) | 
|   | Construct from an axial boost.  More...
  | 
|   | 
|   | Boost (BoostY const &by) | 
|   | 
|   | Boost (BoostZ const &bz) | 
|   | 
| template<class Avector >  | 
|   | Boost (const Avector &beta) | 
|   | Construct given a beta vector (which must have methods x(), y(), z())  More...
  | 
|   | 
| template<class IT >  | 
|   | Boost (IT begin, IT end) | 
|   | 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.  More...
  | 
|   | 
|   | Boost (Scalar beta_x, Scalar beta_y, Scalar beta_z) | 
|   | Construct given a three Scalars beta_x, beta_y, and beta_z.  More...
  | 
|   | 
| XYZVector  | BetaVector () const | 
|   | 
| template<class IT >  | 
| void  | GetComponents (IT begin) const | 
|   | Get given a pointer or an iterator defining the beginning of an array into which to place beta_x, beta_y, and beta_z.  More...
  | 
|   | 
| template<class IT >  | 
| void  | GetComponents (IT begin, IT end) const | 
|   | 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.  More...
  | 
|   | 
| void  | GetComponents (Scalar &beta_x, Scalar &beta_y, Scalar &beta_z) const | 
|   | Get components into beta_x, beta_y, and beta_z.  More...
  | 
|   | 
| void  | GetLorentzRotation (Scalar r[]) const | 
|   | 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.  More...
  | 
|   | 
| Boost  | Inverse () const | 
|   | Return inverse of a boost.  More...
  | 
|   | 
| void  | Invert () | 
|   | Invert a Boost in place.  More...
  | 
|   | 
| bool  | operator!= (const Boost &rhs) const | 
|   | 
| template<class Foreign4Vector >  | 
| Foreign4Vector  | operator() (const Foreign4Vector &v) const | 
|   | Lorentz transformation operation on an arbitrary 4-vector v.  More...
  | 
|   | 
| template<class CoordSystem >  | 
| LorentzVector< CoordSystem >  | operator() (const LorentzVector< CoordSystem > &v) const | 
|   | Lorentz transformation operation on a LorentzVector in any coordinate system.  More...
  | 
|   | 
| LorentzVector< ROOT::Math::PxPyPzE4D< double > >  | operator() (const LorentzVector< ROOT::Math::PxPyPzE4D< double > > &v) const | 
|   | Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.  More...
  | 
|   | 
| template<class A4Vector >  | 
| A4Vector  | operator* (const A4Vector &v) const | 
|   | Overload operator * for boost on a vector.  More...
  | 
|   | 
| Boost &  | operator= (Boost const &rhs) | 
|   | Assignment operator.  More...
  | 
|   | 
| Boost &  | operator= (BoostX const &bx) | 
|   | Assign from an axial pure boost.  More...
  | 
|   | 
| Boost &  | operator= (BoostY const &by) | 
|   | 
| Boost &  | operator= (BoostZ const &bz) | 
|   | 
| bool  | operator== (const Boost &rhs) const | 
|   | Equality/inequality operators.  More...
  | 
|   | 
| void  | Rectify () | 
|   | Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.  More...
  | 
|   | 
| template<class Avector >  | 
| void  | SetComponents (const Avector &beta) | 
|   | Set components from a beta vector.  More...
  | 
|   | 
| template<class IT >  | 
| void  | SetComponents (IT begin, IT end) | 
|   | 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.  More...
  | 
|   | 
| void  | SetComponents (Scalar beta_x, Scalar beta_y, Scalar beta_z) | 
|   | Set components from beta_x, beta_y, and beta_z.  More...
  | 
|   |