ROOT logo
ROOT » MATH » GENVECTOR » ROOT::Math::BoostX

class ROOT::Math::BoostX


      Class representing a Lorentz Boost along the X axis, by beta.
      For efficiency, gamma is held as well.

      @ingroup GenVector

Function Members (Methods)

Data Members

public:
enum ELorentzRotationMatrixIndex { kLXX
kLXY
kLXZ
kLXT
kLYX
kLYY
kLYZ
kLYT
kLZX
kLZY
kLZZ
kLZT
kLTX
kLTY
kLTZ
kLTT
};
enum EBoostMatrixIndex { kXX
kXY
kXZ
kXT
kYY
kYZ
kYT
kZZ
kZT
kTT
};
private:
ROOT::Math::BoostX::ScalarfBetaboost beta X
ROOT::Math::BoostX::ScalarfGammaboost gamma

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

BoostX()
 ========== Constructors and Assignment =====================

      Default constructor (identity transformation)

explicit BoostX(Scalar beta_x)
      Construct given a Scalar beta_x

{ SetComponents(beta_x); }
void Rectify()
 The compiler-generated copy ctor, copy assignment, and dtor are OK.

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

SetComponents(ROOT::Math::BoostX::Scalar beta_x)
 ======== Components ==============

      Set components from a Scalar beta_x

GetComponents(ROOT::Math::BoostX::Scalar& beta_x) const
      Get components into a Scalar beta_x

Scalar Beta() const
       Retrieve the beta of the Boost

{ return fBeta; }
Scalar Gamma() const
       Retrieve the gamma of the Boost

{ return fGamma; }
void SetBeta(ROOT::Math::BoostX::Scalar beta)
       Set the given beta of the Boost

{ SetComponents(beta); }
XYZVector BetaVector() const
GetLorentzRotation(ROOT::Math::BoostX::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.

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

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

A4Vector operator*(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >& v) const
      Overload operator * for operation on a vector

void Invert()
      Invert a BoostX in place

BoostX Inverse() const
      Return inverse of  a boost

return ! operator==(rhs)