Class representing a Lorentz Boost along the Z 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. | |
Public Member Functions | |
BoostZ () | |
Default constructor (identity transformation) | |
BoostZ (Scalar beta_z) | |
Construct given a Scalar beta_z. | |
Scalar | Beta () const |
Retrieve the beta of the Boost. | |
XYZVector | BetaVector () const |
Scalar | Gamma () const |
Retrieve the gamma of the Boost. | |
void | GetComponents (Scalar &beta_z) const |
Get components into a Scalar beta_z. | |
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. | |
BoostZ | Inverse () const |
Return inverse of a BoostZ. | |
void | Invert () |
Invert a BoostZ in place. | |
bool | operator!= (const BoostZ &rhs) const |
template<class Foreign4Vector > | |
Foreign4Vector | operator() (const Foreign4Vector &v) const |
Lorentz transformation operation on an arbitrary 4-vector v. | |
template<class CoordSystem > | |
LorentzVector< CoordSystem > | operator() (const LorentzVector< CoordSystem > &v) const |
Lorentz transformation operation on a LorentzVector in any coordinate system. | |
LorentzVector< ROOT::Math::PxPyPzE4D< double > > | operator() (const LorentzVector< ROOT::Math::PxPyPzE4D< double > > &v) const |
Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector. | |
template<class A4Vector > | |
A4Vector | operator* (const A4Vector &v) const |
Overload operator * for boost on a vector. | |
bool | operator== (const BoostZ &rhs) const |
Equality/inequality operators. | |
void | Rectify () |
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix. | |
void | SetBeta (Scalar beta) |
Set the given beta of the Boost. | |
void | SetComponents (Scalar beta_z) |
Set components from a Scalar beta_z. | |
Private Attributes | |
Scalar | fBeta |
Scalar | fGamma |
#include <Math/GenVector/BoostZ.h>
typedef double ROOT::Math::BoostZ::Scalar |
ROOT::Math::BoostZ::BoostZ | ( | ) |
Default constructor (identity transformation)
Definition at line 30 of file BoostZ.cxx.
|
inlineexplicit |
|
inline |
DisplacementVector3D< Cartesian3D< BoostZ::Scalar > > ROOT::Math::BoostZ::BetaVector | ( | ) | const |
Definition at line 50 of file BoostZ.cxx.
|
inline |
void ROOT::Math::BoostZ::GetComponents | ( | Scalar & | beta_z | ) | const |
Get components into a Scalar beta_z.
Definition at line 44 of file BoostZ.cxx.
void ROOT::Math::BoostZ::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.
Definition at line 56 of file BoostZ.cxx.
BoostZ ROOT::Math::BoostZ::Inverse | ( | ) | const |
Return inverse of a BoostZ.
Definition at line 99 of file BoostZ.cxx.
void ROOT::Math::BoostZ::Invert | ( | ) |
Invert a BoostZ in place.
Definition at line 94 of file BoostZ.cxx.
|
inline |
|
inline |
Lorentz transformation operation on a LorentzVector in any coordinate system.
LorentzVector< PxPyPzE4D< double > > ROOT::Math::BoostZ::operator() | ( | const LorentzVector< ROOT::Math::PxPyPzE4D< double > > & | v | ) | const |
Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.
Definition at line 83 of file BoostZ.cxx.
|
inline |
void ROOT::Math::BoostZ::Rectify | ( | ) |
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.
Definition at line 64 of file BoostZ.cxx.
|
inline |
void ROOT::Math::BoostZ::SetComponents | ( | Scalar | beta_z | ) |
Set components from a Scalar beta_z.
Definition at line 32 of file BoostZ.cxx.