ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Private Attributes | List of all members
ROOT::Math::BoostZ Class Reference

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

For efficiency, gamma is held as well.

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

 BoostZ ()
 Default constructor (identity transformation) More...
 
 BoostZ (Scalar beta_z)
 Construct given a Scalar beta_z. More...
 
void Rectify ()
 Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix. More...
 
void SetComponents (Scalar beta_z)
 Set components from a Scalar beta_z. More...
 
void GetComponents (Scalar &beta_z) const
 Get components into a Scalar beta_z. 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 boost on a vector. More...
 
void Invert ()
 Invert a BoostZ in place. More...
 
BoostZ Inverse () const
 Return inverse of a BoostZ. More...
 
bool operator== (const BoostZ &rhs) const
 Equality/inequality operators. More...
 
bool operator!= (const BoostZ &rhs) const
 

Private Attributes

Scalar fBeta
 
Scalar fGamma
 

#include <Math/GenVector/BoostZ.h>

Member Typedef Documentation

Definition at line 41 of file BoostZ.h.

The beta vector for this boost.

Definition at line 111 of file BoostZ.h.

Constructor & Destructor Documentation

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

Default constructor (identity transformation)

Definition at line 30 of file BoostZ.cxx.

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

Construct given a Scalar beta_z.

Definition at line 67 of file BoostZ.h.

Member Function Documentation

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

Retrieve the beta of the Boost.

Definition at line 96 of file BoostZ.h.

Referenced by ROOT::Math::operator<<().

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

Definition at line 50 of file BoostZ.cxx.

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

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

Retrieve the gamma of the Boost.

Definition at line 101 of file BoostZ.h.

Referenced by ROOT::Math::operator<<().

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

Get components into a Scalar beta_z.

Definition at line 44 of file BoostZ.cxx.

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.

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

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

Return inverse of a BoostZ.

Definition at line 99 of file BoostZ.cxx.

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

Invert a BoostZ in place.

Definition at line 94 of file BoostZ.cxx.

Referenced by Inverse().

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

Definition at line 185 of file BoostZ.h.

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.

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

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 138 of file BoostZ.h.

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 151 of file BoostZ.h.

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

Overload operator * for boost on a vector.

Definition at line 162 of file BoostZ.h.

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

Equality/inequality operators.

Definition at line 180 of file BoostZ.h.

Referenced by operator!=().

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.

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

Set the given beta of the Boost.

Definition at line 106 of file BoostZ.h.

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

Set components from a Scalar beta_z.

Definition at line 32 of file BoostZ.cxx.

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

Member Data Documentation

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

Definition at line 192 of file BoostZ.h.

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


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