Logo ROOT   6.07/09
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
 
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 CoordSystem >
LorentzVector< CoordSystem > operator() (const LorentzVector< CoordSystem > &v) const
 Lorentz transformation operation on a LorentzVector in any coordinate system. More...
 
template<class Foreign4Vector >
Foreign4Vector operator() (const Foreign4Vector &v) const
 Lorentz transformation operation on an arbitrary 4-vector v. 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

Definition at line 41 of file BoostX.h.

The beta vector for this boost.

Definition at line 111 of file BoostX.h.

Member Enumeration Documentation

Enumerator
kXX 
kXY 
kXZ 
kXT 
kYY 
kYZ 
kYT 
kZZ 
kZT 
kTT 

Definition at line 50 of file BoostX.h.

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

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

Default constructor (identity transformation)

Definition at line 31 of file BoostX.cxx.

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

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

Retrieve the beta of the Boost.

Definition at line 96 of file BoostX.h.

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

Definition at line 51 of file BoostX.cxx.

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

Retrieve the gamma of the Boost.

Definition at line 101 of file BoostX.h.

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

Get components into a Scalar beta_x.

Definition at line 45 of file BoostX.cxx.

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.

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

Return inverse of a boost.

Definition at line 99 of file BoostX.cxx.

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

Invert a BoostX in place.

Definition at line 94 of file BoostX.cxx.

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

Definition at line 186 of file BoostX.h.

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.

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.

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.

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.

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

Equality/inequality operators.

Definition at line 180 of file BoostX.h.

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.

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

Set the given beta of the Boost.

Definition at line 106 of file BoostX.h.

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

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

Definition at line 192 of file BoostX.h.

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: