Logo ROOT   6.18/05
Reference Guide
List of all members | Public Types | Public Member Functions | Private Attributes | List of all members
ROOT::Math::BoostX Class Reference

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

For efficiency, gamma is held as well.

Definition at line 37 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. 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>

Member Typedef Documentation

◆ Scalar

Definition at line 41 of file BoostX.h.

◆ XYZVector

The beta vector for this boost.

Definition at line 111 of file BoostX.h.

Member Enumeration Documentation

◆ EBoostMatrixIndex

Enumerator
kXX 
kXY 
kXZ 
kXT 
kYY 
kYZ 
kYT 
kZZ 
kZT 
kTT 

Definition at line 50 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 43 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 67 of file BoostX.h.

Member Function Documentation

◆ Beta()

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

Retrieve the beta of the Boost.

Definition at line 96 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 101 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 186 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 151 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 138 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 162 of file BoostX.h.

◆ operator==()

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

Equality/inequality operators.

Definition at line 180 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 106 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 192 of file BoostX.h.

◆ fGamma

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

Definition at line 193 of file BoostX.h.


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