rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
Rivet::LorentzTransform Class Reference

Object implementing Lorentz transform calculations and boosts. More...

#include <LorentzTrans.hh>

Public Member Functions

FourVector transform (const FourVector &v4) const
 Apply this transformation to the given 4-vector.
 
FourMomentum transform (const FourMomentum &v4) const
 Apply this transformation to the given 4-mometum.
 
FourVector operator() (const FourVector &v4) const
 Apply this transformation to the given 4-vector.
 
FourMomentum operator() (const FourMomentum &v4) const
 Apply this transformation to the given 4-mometum.
 
Matrix4 toMatrix () const
 Return the matrix form.
 
Boost vector and beta/gamma factors
LorentzTransformsetBetaVec (const Vector3 &vbeta)
 Set up an active Lorentz boost from the \( \vec\beta \) vector.
 
Vector3 betaVec () const
 Get the \( \vec\beta \) vector for an active Lorentz boost.
 
double beta () const
 Get the \( \beta \) factor.
 
LorentzTransformsetGammaVec (const Vector3 &vgamma)
 Set up an active Lorentz boost from the \( \vec\gamma \) vector.
 
Vector3 gammaVec () const
 Get the \( \vec\gamma \) vector for an active Lorentz boost.
 
double gamma () const
 Get the \( \gamma \) factor.
 
Transform modifications
LorentzTransform rotate (const Vector3 &from, const Vector3 &to) const
 Rotate the transformation cf. the difference between vectors from and to.
 
LorentzTransform rotate (const Vector3 &axis, double angle) const
 Rotate the transformation by angle radians about axis.
 
LorentzTransform rotate (const Matrix3 &rot) const
 Rotate the transformation by the 3D rotation matrix rot.
 
LorentzTransform inverse () const
 Calculate the inverse transform.
 
LorentzTransform combine (const LorentzTransform &lt) const
 Combine LTs, treating this as the LH matrix.
 
LorentzTransform operator* (const LorentzTransform &lt) const
 Operator combination of two LTs.
 
LorentzTransform preMult (const Matrix3 &m3)
 Pre-multiply m3 by this LT.
 
LorentzTransform postMult (const Matrix3 &m3)
 Post-multiply m3 by this LT.
 

Static Public Member Functions

Simple Lorentz factor conversions
static double beta2gamma (double beta)
 Calculate the \( \gamma \) factor from \( \beta \).
 
static double gamma2beta (double gamma)
 Calculate \( \beta \) from the \( \gamma \) factor.
 

Construction

static LorentzTransform mkObjTransformFromBeta (const Vector3 &vbeta)
 Make an LT for an active boost (i.e. object velocity += in boost direction)
 
static LorentzTransform mkFrameTransformFromBeta (const Vector3 &vbeta)
 Make an LT for a passive boost (i.e. object velocity -= in boost direction)
 
static LorentzTransform mkObjTransformFromGamma (const Vector3 &vgamma)
 Make an LT for an active boost (i.e. object velocity += in boost direction)
 
static LorentzTransform mkFrameTransformFromGamma (const Vector3 &vgamma)
 Make an LT for a passive boost (i.e. object velocity -= in boost direction)
 
static LorentzTransform mkObjTransform (const FourMomentum &p4)
 Make an LT for an active boost (i.e. object velocity += in boost direction)
 
static LorentzTransform mkFrameTransform (const FourMomentum &p4)
 Make an LT for a passive boost (i.e. object velocity -= in boost direction)
 
 LorentzTransform ()
 Default (identity) constructor.
 
 LorentzTransform (const Matrix< 4 > &boostMatrix)
 Constructor from a 4x4 matrix.
 

Detailed Description

Object implementing Lorentz transform calculations and boosts.

Note
These boosts are defined actively, i.e. as modifications of vectors rather than frame transformations. So the boost vector is the opposite of what you might expect.
Todo:
Review the active/passive convention choice. Seems counterintuitive now...

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