class Rivet::LorentzTransform
Rivet::LorentzTransform
Object implementing Lorentz transform calculations and boosts. More…
#include <LorentzTrans.hh>
Public Functions
Name | |
---|---|
double | beta2gamma(double beta) Calculate the ( \gamma ) factor from ( \beta ). |
double | gamma2beta(double gamma) Calculate ( \beta ) from the ( \gamma ) factor. |
LorentzTransform | mkObjTransformFromBeta(const Vector3 & vbeta) Make an LT for an active boost (i.e. object velocity += in boost direction) |
LorentzTransform | mkFrameTransformFromBeta(const Vector3 & vbeta) Make an LT for a passive boost (i.e. object velocity -= in boost direction) |
LorentzTransform | mkObjTransformFromGamma(const Vector3 & vgamma) Make an LT for an active boost (i.e. object velocity += in boost direction) |
LorentzTransform | mkFrameTransformFromGamma(const Vector3 & vgamma) Make an LT for a passive boost (i.e. object velocity -= in boost direction) |
LorentzTransform | mkObjTransform(const FourMomentum & p4) Make an LT for an active boost (i.e. object velocity += in boost direction) |
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. | |
LorentzTransform & | setBetaVec(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. |
LorentzTransform & | setGammaVec(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. |
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. |
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. |
Matrix4 | toMatrix() 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