Logo ROOT  
Reference Guide
ROOT::Math::BoostZ Class Reference

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

For efficiency, gamma is held as well.

See also
Overview of the physics vector library

Definition at line 39 of file BoostZ.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

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

Private Attributes

Scalar fBeta
 
Scalar fGamma
 

#include <Math/GenVector/BoostZ.h>

Member Typedef Documentation

◆ Scalar

Definition at line 43 of file BoostZ.h.

◆ XYZVector

The beta vector for this boost.

Definition at line 113 of file BoostZ.h.

Member Enumeration Documentation

◆ EBoostMatrixIndex

Enumerator
kXX 
kXY 
kXZ 
kXT 
kYY 
kYZ 
kYT 
kZZ 
kZT 
kTT 

Definition at line 52 of file BoostZ.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 BoostZ.h.

Constructor & Destructor Documentation

◆ BoostZ() [1/2]

ROOT::Math::BoostZ::BoostZ ( )

Default constructor (identity transformation)

Definition at line 30 of file BoostZ.cxx.

◆ BoostZ() [2/2]

ROOT::Math::BoostZ::BoostZ ( Scalar  beta_z)
inlineexplicit

Construct given a Scalar beta_z.

Definition at line 69 of file BoostZ.h.

Member Function Documentation

◆ Beta()

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

Retrieve the beta of the Boost.

Definition at line 98 of file BoostZ.h.

◆ BetaVector()

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

Definition at line 50 of file BoostZ.cxx.

◆ Gamma()

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

Retrieve the gamma of the Boost.

Definition at line 103 of file BoostZ.h.

◆ GetComponents()

void ROOT::Math::BoostZ::GetComponents ( Scalar beta_z) const

Get components into a Scalar beta_z.

Definition at line 44 of file BoostZ.cxx.

◆ GetLorentzRotation()

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.

◆ Inverse()

BoostZ ROOT::Math::BoostZ::Inverse ( ) const

Return inverse of a BoostZ.

Definition at line 99 of file BoostZ.cxx.

◆ Invert()

void ROOT::Math::BoostZ::Invert ( )

Invert a BoostZ in place.

Definition at line 94 of file BoostZ.cxx.

◆ operator!=()

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

Definition at line 187 of file BoostZ.h.

◆ operator()() [1/3]

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

◆ operator()() [2/3]

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

Lorentz transformation operation on a LorentzVector in any coordinate system.

Definition at line 140 of file BoostZ.h.

◆ operator()() [3/3]

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.

◆ operator*()

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

Overload operator * for boost on a vector.

Definition at line 164 of file BoostZ.h.

◆ operator==()

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

Equality/inequality operators.

Definition at line 182 of file BoostZ.h.

◆ Rectify()

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.

◆ SetBeta()

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

Set the given beta of the Boost.

Definition at line 108 of file BoostZ.h.

◆ SetComponents()

void ROOT::Math::BoostZ::SetComponents ( Scalar  beta_z)

Set components from a Scalar beta_z.

Definition at line 32 of file BoostZ.cxx.

Member Data Documentation

◆ fBeta

Scalar ROOT::Math::BoostZ::fBeta
private

Definition at line 193 of file BoostZ.h.

◆ fGamma

Scalar ROOT::Math::BoostZ::fGamma
private

Definition at line 194 of file BoostZ.h.

Libraries for ROOT::Math::BoostZ:
[legend]

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