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...
|
| |