Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::BoostX Class Reference

Class representing a Lorentz Boost along the X axis, by beta.

For efficiency, gamma is held as well.

See also
Overview of the physics vector library

Definition at line 39 of file BoostX.h.

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 >, DefaultCoordinateSystemTagXYZVector
 The beta vector for this boost.
 

Public Member Functions

 BoostX ()
 Default constructor (identity transformation)
 
 BoostX (Scalar beta_x)
 Construct given a Scalar beta_x.
 
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_x) const
 Get components into a Scalar beta_x.
 
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.
 
BoostX Inverse () const
 Return inverse of a boost.
 
void Invert ()
 Invert a BoostX in place.
 
bool operator!= (const BoostX &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 operation on a vector.
 
bool operator== (const BoostX &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_x)
 Set components from a Scalar beta_x.
 

Private Attributes

Scalar fBeta
 
Scalar fGamma
 

#include <Math/GenVector/BoostX.h>

Member Typedef Documentation

◆ Scalar

Definition at line 43 of file BoostX.h.

◆ XYZVector

The beta vector for this boost.

Definition at line 113 of file BoostX.h.

Member Enumeration Documentation

◆ EBoostMatrixIndex

Enumerator
kXX 
kXY 
kXZ 
kXT 
kYY 
kYZ 
kYT 
kZZ 
kZT 
kTT 

Definition at line 52 of file BoostX.h.

◆ ELorentzRotationMatrixIndex

Enumerator
kLXX 
kLXY 
kLXZ 
kLXT 
kLYX 
kLYY 
kLYZ 
kLYT 
kLZX 
kLZY 
kLZZ 
kLZT 
kLTX 
kLTY 
kLTZ 
kLTT 

Definition at line 45 of file BoostX.h.

Constructor & Destructor Documentation

◆ BoostX() [1/2]

ROOT::Math::BoostX::BoostX ( )

Default constructor (identity transformation)

Definition at line 31 of file BoostX.cxx.

◆ BoostX() [2/2]

ROOT::Math::BoostX::BoostX ( Scalar  beta_x)
inlineexplicit

Construct given a Scalar beta_x.

Definition at line 69 of file BoostX.h.

Member Function Documentation

◆ Beta()

Scalar ROOT::Math::BoostX::Beta ( ) const
inline

Retrieve the beta of the Boost.

Definition at line 98 of file BoostX.h.

◆ BetaVector()

DisplacementVector3D< Cartesian3D< BoostX::Scalar > > ROOT::Math::BoostX::BetaVector ( ) const

Definition at line 51 of file BoostX.cxx.

◆ Gamma()

Scalar ROOT::Math::BoostX::Gamma ( ) const
inline

Retrieve the gamma of the Boost.

Definition at line 103 of file BoostX.h.

◆ GetComponents()

void ROOT::Math::BoostX::GetComponents ( Scalar beta_x) const

Get components into a Scalar beta_x.

Definition at line 45 of file BoostX.cxx.

◆ GetLorentzRotation()

void ROOT::Math::BoostX::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 BoostX.cxx.

◆ Inverse()

BoostX ROOT::Math::BoostX::Inverse ( ) const

Return inverse of a boost.

Definition at line 99 of file BoostX.cxx.

◆ Invert()

void ROOT::Math::BoostX::Invert ( )

Invert a BoostX in place.

Definition at line 94 of file BoostX.cxx.

◆ operator!=()

bool ROOT::Math::BoostX::operator!= ( const BoostX rhs) const
inline

Definition at line 188 of file BoostX.h.

◆ operator()() [1/3]

template<class Foreign4Vector >
Foreign4Vector ROOT::Math::BoostX::operator() ( const Foreign4Vector &  v) const
inline

Lorentz transformation operation on an arbitrary 4-vector v.

Preconditions: v must implement methods x(), y(), z(), and t() and the arbitrary vector type must have a constructor taking (x,y,z,t)

Definition at line 153 of file BoostX.h.

◆ operator()() [2/3]

template<class CoordSystem >
LorentzVector< CoordSystem > ROOT::Math::BoostX::operator() ( const LorentzVector< CoordSystem > &  v) const
inline

Lorentz transformation operation on a LorentzVector in any coordinate system.

Definition at line 140 of file BoostX.h.

◆ operator()() [3/3]

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.

◆ operator*()

template<class A4Vector >
A4Vector ROOT::Math::BoostX::operator* ( const A4Vector &  v) const
inline

Overload operator * for operation on a vector.

Definition at line 164 of file BoostX.h.

◆ operator==()

bool ROOT::Math::BoostX::operator== ( const BoostX rhs) const
inline

Equality/inequality operators.

Definition at line 182 of file BoostX.h.

◆ Rectify()

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.

◆ SetBeta()

void ROOT::Math::BoostX::SetBeta ( Scalar  beta)
inline

Set the given beta of the Boost.

Definition at line 108 of file BoostX.h.

◆ SetComponents()

void ROOT::Math::BoostX::SetComponents ( Scalar  beta_x)

Set components from a Scalar beta_x.

Definition at line 33 of file BoostX.cxx.

Member Data Documentation

◆ fBeta

Scalar ROOT::Math::BoostX::fBeta
private

Definition at line 194 of file BoostX.h.

◆ fGamma

Scalar ROOT::Math::BoostX::fGamma
private

Definition at line 195 of file BoostX.h.

Libraries for ROOT::Math::BoostX:

The documentation for this class was generated from the following files: