class Rivet::LorentzTransform

Rivet::LorentzTransform

Object implementing Lorentz transform calculations and boosts. More…

#include <LorentzTrans.hh>

Public Functions

Name
doublebeta2gamma(double beta)
Calculate the ( \gamma ) factor from ( \beta ).
doublegamma2beta(double gamma)
Calculate ( \beta ) from the ( \gamma ) factor.
LorentzTransformmkObjTransformFromBeta(const Vector3 & vbeta)
Make an LT for an active boost (i.e. object velocity += in boost direction)
LorentzTransformmkFrameTransformFromBeta(const Vector3 & vbeta)
Make an LT for a passive boost (i.e. object velocity -= in boost direction)
LorentzTransformmkObjTransformFromGamma(const Vector3 & vgamma)
Make an LT for an active boost (i.e. object velocity += in boost direction)
LorentzTransformmkFrameTransformFromGamma(const Vector3 & vgamma)
Make an LT for a passive boost (i.e. object velocity -= in boost direction)
LorentzTransformmkObjTransform(const FourMomentum & p4)
Make an LT for an active boost (i.e. object velocity += in boost direction)
LorentzTransformmkFrameTransform(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.
LorentzTransform &setBetaVec(const Vector3 & vbeta)
Set up an active Lorentz boost from the ( \vec\beta ) vector.
Vector3betaVec() const
Get the ( \vec\beta ) vector for an active Lorentz boost.
doublebeta() const
Get the ( \beta ) factor.
LorentzTransform &setGammaVec(const Vector3 & vgamma)
Set up an active Lorentz boost from the ( \vec\gamma ) vector.
Vector3gammaVec() const
Get the ( \vec\gamma ) vector for an active Lorentz boost.
doublegamma() const
Get the ( \gamma ) factor.
FourVectortransform(const FourVector & v4) const
Apply this transformation to the given 4-vector.
FourMomentumtransform(const FourMomentum & v4) const
Apply this transformation to the given 4-mometum.
FourVectoroperator()(const FourVector & v4) const
Apply this transformation to the given 4-vector.
FourMomentumoperator()(const FourMomentum & v4) const
Apply this transformation to the given 4-mometum.
LorentzTransformrotate(const Vector3 & from, const Vector3 & to) const
Rotate the transformation cf. the difference between vectors from and to.
LorentzTransformrotate(const Vector3 & axis, double angle) const
Rotate the transformation by angle radians about axis.
LorentzTransformrotate(const Matrix3 & rot) const
Rotate the transformation by the 3D rotation matrix rot.
LorentzTransforminverse() const
Calculate the inverse transform.
LorentzTransformcombine(const LorentzTransform & lt) const
Combine LTs, treating this as the LH matrix.
LorentzTransformoperator*(const LorentzTransform & lt) const
Operator combination of two LTs.
LorentzTransformpreMult(const Matrix3 & m3)
Pre-multiply m3 by this LT.
LorentzTransformpostMult(const Matrix3 & m3)
Post-multiply m3 by this LT.
Matrix4toMatrix() const
Return the matrix form.

Detailed Description

class Rivet::LorentzTransform;

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…

Public Functions Documentation

function beta2gamma

static inline double beta2gamma(
    double beta
)

Calculate the ( \gamma ) factor from ( \beta ).

function gamma2beta

static inline double gamma2beta(
    double gamma
)

Calculate ( \beta ) from the ( \gamma ) factor.

function mkObjTransformFromBeta

static inline LorentzTransform mkObjTransformFromBeta(
    const Vector3 & vbeta
)

Make an LT for an active boost (i.e. object velocity += in boost direction)

function mkFrameTransformFromBeta

static inline LorentzTransform mkFrameTransformFromBeta(
    const Vector3 & vbeta
)

Make an LT for a passive boost (i.e. object velocity -= in boost direction)

function mkObjTransformFromGamma

static inline LorentzTransform mkObjTransformFromGamma(
    const Vector3 & vgamma
)

Make an LT for an active boost (i.e. object velocity += in boost direction)

function mkFrameTransformFromGamma

static inline LorentzTransform mkFrameTransformFromGamma(
    const Vector3 & vgamma
)

Make an LT for a passive boost (i.e. object velocity -= in boost direction)

function mkObjTransform

static inline LorentzTransform mkObjTransform(
    const FourMomentum & p4
)

Make an LT for an active boost (i.e. object velocity += in boost direction)

function mkFrameTransform

static inline LorentzTransform mkFrameTransform(
    const FourMomentum & p4
)

Make an LT for a passive boost (i.e. object velocity -= in boost direction)

function LorentzTransform

inline LorentzTransform()

Default (identity) constructor.

function LorentzTransform

inline LorentzTransform(
    const Matrix< 4 > & boostMatrix
)

Constructor from a 4x4 matrix.

function setBetaVec

inline LorentzTransform & setBetaVec(
    const Vector3 & vbeta
)

Set up an active Lorentz boost from the ( \vec\beta ) vector.

function betaVec

inline Vector3 betaVec() const

Get the ( \vec\beta ) vector for an active Lorentz boost.

function beta

inline double beta() const

Get the ( \beta ) factor.

function setGammaVec

inline LorentzTransform & setGammaVec(
    const Vector3 & vgamma
)

Set up an active Lorentz boost from the ( \vec\gamma ) vector.

function gammaVec

inline Vector3 gammaVec() const

Get the ( \vec\gamma ) vector for an active Lorentz boost.

function gamma

inline double gamma() const

Get the ( \gamma ) factor.

function transform

inline FourVector transform(
    const FourVector & v4
) const

Apply this transformation to the given 4-vector.

function transform

inline FourMomentum transform(
    const FourMomentum & v4
) const

Apply this transformation to the given 4-mometum.

function operator()

inline FourVector operator()(
    const FourVector & v4
) const

Apply this transformation to the given 4-vector.

function operator()

inline FourMomentum operator()(
    const FourMomentum & v4
) const

Apply this transformation to the given 4-mometum.

function rotate

inline LorentzTransform rotate(
    const Vector3 & from,
    const Vector3 & to
) const

Rotate the transformation cf. the difference between vectors from and to.

function rotate

inline LorentzTransform rotate(
    const Vector3 & axis,
    double angle
) const

Rotate the transformation by angle radians about axis.

function rotate

inline LorentzTransform rotate(
    const Matrix3 & rot
) const

Rotate the transformation by the 3D rotation matrix rot.

function inverse

inline LorentzTransform inverse() const

Calculate the inverse transform.

function combine

inline LorentzTransform combine(
    const LorentzTransform & lt
) const

Combine LTs, treating this as the LH matrix.

function operator*

inline LorentzTransform operator*(
    const LorentzTransform & lt
) const

Operator combination of two LTs.

function preMult

inline LorentzTransform preMult(
    const Matrix3 & m3
)

Pre-multiply m3 by this LT.

function postMult

inline LorentzTransform postMult(
    const Matrix3 & m3
)

Post-multiply m3 by this LT.

function toMatrix

inline Matrix4 toMatrix() const

Return the matrix form.


Updated on 2022-08-07 at 20:17:17 +0100