ROOT  6.06/09
Reference Guide
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  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
}
 
enum  EBoostMatrixIndex {
  kXX = 0, kXY = 1, kXZ = 2, kXT = 3,
  kYY = 4, kYZ = 5, kYT = 6, kZZ = 7,
  kZT = 8, kTT = 9
}
 
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...
 
void Rectify ()
 Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix. More...
 
void SetComponents (Scalar beta_x)
 Set components from a Scalar beta_x. More...
 
void GetComponents (Scalar &beta_x) const
 Get components into a Scalar beta_x. More...
 
Scalar Beta () const
 Retrieve the beta of the Boost. More...
 
Scalar Gamma () const
 Retrieve the gamma of the Boost. More...
 
void SetBeta (Scalar beta)
 Set the given beta of the Boost. More...
 
XYZVector BetaVector () const
 
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...
 
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...
 
void Invert ()
 Invert a BoostX in place. More...
 
BoostX Inverse () const
 Return inverse of a boost. More...
 
bool operator== (const BoostX &rhs) const
 Equality/inequality operators. More...
 
bool operator!= (const BoostX &rhs) const
 

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.

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.

Referenced by main(), and ROOT::Math::operator<<().

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

Definition at line 51 of file BoostX.cxx.

Referenced by ROOT::Math::Boost::Boost().

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

Retrieve the gamma of the Boost.

Definition at line 101 of file BoostX.h.

Referenced by main(), and ROOT::Math::operator<<().

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.

Referenced by ROOT::Math::LorentzRotation::LorentzRotation().

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.

Referenced by Inverse().

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.

Referenced by operator()(), and operator*().

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.

Referenced by operator!=().

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.

Referenced by BoostX(), Rectify(), and SetBeta().

Member Data Documentation

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

Definition at line 193 of file BoostX.h.

Referenced by Gamma(), GetLorentzRotation(), operator()(), operator==(), Rectify(), and SetComponents().


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