Logo ROOT   6.16/01
Reference Guide
List of all members | Public Types | Public Member Functions | Private Attributes | List of all members
ROOT::Math::BoostY Class Reference

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

For efficiency, gamma is held as well.

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

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

Private Attributes

Scalar fBeta
 
Scalar fGamma
 

#include <Math/GenVector/BoostY.h>

Member Typedef Documentation

◆ Scalar

Definition at line 41 of file BoostY.h.

◆ XYZVector

The beta vector for this boost.

Definition at line 111 of file BoostY.h.

Member Enumeration Documentation

◆ EBoostMatrixIndex

Enumerator
kXX 
kXY 
kXZ 
kXT 
kYY 
kYZ 
kYT 
kZZ 
kZT 
kTT 

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

Constructor & Destructor Documentation

◆ BoostY() [1/2]

ROOT::Math::BoostY::BoostY ( )

Default constructor (identity transformation)

Definition at line 30 of file BoostY.cxx.

◆ BoostY() [2/2]

ROOT::Math::BoostY::BoostY ( Scalar  beta_y)
inlineexplicit

Construct given a Scalar beta_y.

Definition at line 67 of file BoostY.h.

Member Function Documentation

◆ Beta()

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

Retrieve the beta of the Boost.

Definition at line 96 of file BoostY.h.

◆ BetaVector()

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

Definition at line 50 of file BoostY.cxx.

◆ Gamma()

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

Retrieve the gamma of the Boost.

Definition at line 101 of file BoostY.h.

◆ GetComponents()

void ROOT::Math::BoostY::GetComponents ( Scalar beta_y) const

Get components into a Scalar beta_y.

Definition at line 44 of file BoostY.cxx.

◆ GetLorentzRotation()

void ROOT::Math::BoostY::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 55 of file BoostY.cxx.

◆ Inverse()

BoostY ROOT::Math::BoostY::Inverse ( ) const

Return inverse of a rotation.

Definition at line 98 of file BoostY.cxx.

◆ Invert()

void ROOT::Math::BoostY::Invert ( )

Invert a BoostY in place.

Definition at line 93 of file BoostY.cxx.

◆ operator!=()

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

Definition at line 185 of file BoostY.h.

◆ operator()() [1/3]

template<class Foreign4Vector >
Foreign4Vector ROOT::Math::BoostY::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 BoostY.h.

◆ operator()() [2/3]

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

Lorentz transformation operation on a LorentzVector in any coordinate system.

Definition at line 138 of file BoostY.h.

◆ operator()() [3/3]

LorentzVector< PxPyPzE4D< double > > ROOT::Math::BoostY::operator() ( const LorentzVector< ROOT::Math::PxPyPzE4D< double > > &  v) const

Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.

Definition at line 82 of file BoostY.cxx.

◆ operator*()

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

Overload operator * for rotation on a vector.

Definition at line 162 of file BoostY.h.

◆ operator==()

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

Equality/inequality operators.

Definition at line 180 of file BoostY.h.

◆ Rectify()

void ROOT::Math::BoostY::Rectify ( )

Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.

Definition at line 63 of file BoostY.cxx.

◆ SetBeta()

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

Set the given beta of the Boost.

Definition at line 106 of file BoostY.h.

◆ SetComponents()

void ROOT::Math::BoostY::SetComponents ( Scalar  beta_y)

Set components from a Scalar beta_y.

Definition at line 32 of file BoostY.cxx.

Member Data Documentation

◆ fBeta

Scalar ROOT::Math::BoostY::fBeta
private

Definition at line 191 of file BoostY.h.

◆ fGamma

Scalar ROOT::Math::BoostY::fGamma
private

Definition at line 192 of file BoostY.h.


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