Class representing a Lorentz Boost along the X axis, by beta.
For efficiency, gamma is held as well.
Public Types | |
enum | EBoostMatrixIndex { kXX = 0 , kXY = 1 , kXZ = 2 , kXT = 3 , kYY = 4 , kYZ = 5 , kYT = 6 , kZZ = 7 , kZT = 8 , kTT = 9 } |
enum | ELorentzRotationMatrixIndex { kLXX = 0 , kLXY = 1 , kLXZ = 2 , kLXT = 3 , kLYX = 4 , kLYY = 5 , kLYZ = 6 , kLYT = 7 , kLZX = 8 , kLZY = 9 , kLZZ = 10 , kLZT = 11 , kLTX = 12 , kLTY = 13 , kLTZ = 14 , kLTT = 15 } |
typedef double | Scalar |
typedef DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > | XYZVector |
The beta vector for this boost. More... | |
Public Member Functions | |
BoostX () | |
Default constructor (identity transformation) More... | |
BoostX (Scalar beta_x) | |
Construct given a Scalar beta_x. More... | |
Scalar | Beta () const |
Retrieve the beta of the Boost. More... | |
XYZVector | BetaVector () const |
Scalar | Gamma () const |
Retrieve the gamma of the Boost. More... | |
void | GetComponents (Scalar &beta_x) const |
Get components into a Scalar beta_x. 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... | |
BoostX | Inverse () const |
Return inverse of a boost. More... | |
void | Invert () |
Invert a BoostX in place. More... | |
bool | operator!= (const BoostX &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 operation on a vector. More... | |
bool | operator== (const BoostX &rhs) const |
Equality/inequality operators. More... | |
void | Rectify () |
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix. More... | |
void | SetBeta (Scalar beta) |
Set the given beta of the Boost. More... | |
void | SetComponents (Scalar beta_x) |
Set components from a Scalar beta_x. More... | |
Private Attributes | |
Scalar | fBeta |
Scalar | fGamma |
#include <Math/GenVector/BoostX.h>
typedef double ROOT::Math::BoostX::Scalar |
typedef DisplacementVector3D<Cartesian3D<double>, DefaultCoordinateSystemTag > ROOT::Math::BoostX::XYZVector |
ROOT::Math::BoostX::BoostX | ( | ) |
Default constructor (identity transformation)
Definition at line 31 of file BoostX.cxx.
|
inlineexplicit |
|
inline |
DisplacementVector3D< Cartesian3D< BoostX::Scalar > > ROOT::Math::BoostX::BetaVector | ( | ) | const |
Definition at line 51 of file BoostX.cxx.
|
inline |
Get components into a Scalar beta_x.
Definition at line 45 of file BoostX.cxx.
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.
Definition at line 56 of file BoostX.cxx.
BoostX ROOT::Math::BoostX::Inverse | ( | ) | const |
Return inverse of a boost.
Definition at line 99 of file BoostX.cxx.
void ROOT::Math::BoostX::Invert | ( | ) |
Invert a BoostX in place.
Definition at line 94 of file BoostX.cxx.
|
inline |
|
inline |
|
inline |
Lorentz transformation operation on a LorentzVector in any coordinate system.
LorentzVector< PxPyPzE4D< double > > ROOT::Math::BoostX::operator() | ( | const LorentzVector< ROOT::Math::PxPyPzE4D< double > > & | v | ) | const |
Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.
Definition at line 83 of file BoostX.cxx.
|
inline |
|
inline |
void ROOT::Math::BoostX::Rectify | ( | ) |
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.
Definition at line 64 of file BoostX.cxx.
Set components from a Scalar beta_x.
Definition at line 33 of file BoostX.cxx.