thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::SpinHalfLorentzRotation Class Reference

The SpinHalfLorentzRotation class is designed to offer the same features as the HepLorentzRotation class of CLHEP but for the spin- \(\frac12\) Lorentz transformation. More...

#include <SpinHalfLorentzRotation.h>

Public Member Functions

Constructors and destructor.
 SpinHalfLorentzRotation ()
 Default constructor.
 
 SpinHalfLorentzRotation (double bx, double by, double bz, double gamma=-1.)
 Constructor giving the components of a Lorentz boost.
 
 SpinHalfLorentzRotation (const Boost &b, double gamma=-1.)
 Constructor giving the vector for a Lorentz boost.
 
bool isIdentity () const
 Returns true if the Identity matrix.
 
SpinHalfLorentzRotation inverse () const
 Return the inverse.
 
SpinHalfLorentzRotationinvert ()
 Inverts the SpinHalfLorentzRotation matrix.
 
std::ostream & print (std::ostream &os) const
 output operator
 
Set methods for speical cases of simple rotations and boosts
SpinHalfLorentzRotationsetBoost (double bx, double by, double bz, double gamma=-1.)
 Specify the components of a Lorentz Boost.
 
SpinHalfLorentzRotationsetBoost (const Boost &b, double gamma=-1.)
 Specify a Lorentz Boost as a vector.
 
SpinHalfLorentzRotationsetBoostX (double &boost)
 Specify a boost by the given factor along the x-axis.
 
SpinHalfLorentzRotationsetBoostY (double &boost)
 Specify a boost by the given factor along the y-axis.
 
SpinHalfLorentzRotationsetBoostZ (double &boost)
 Specify a boost by the given factor along the z-axis.
 
SpinHalfLorentzRotationsetRotate (double delta, const Axis &axis)
 Specify a rotation about a general axis by the angle given.
 
SpinHalfLorentzRotationsetRotateX (double &angle)
 Specify a rotation by the given angle about the x-axis.
 
SpinHalfLorentzRotationsetRotateY (double &angle)
 Specify a rotation by the given angle about the y-axis.
 
SpinHalfLorentzRotationsetRotateZ (double &angle)
 Specify a rotation by the given angle about the z-axis.
 
Access methods for the components
Complex s1s1 () const
 The \((1,1)\) component.
 
Complex s1s2 () const
 The \((1,2)\) component.
 
Complex s1s3 () const
 The \((1,3)\) component.
 
Complex s1s4 () const
 The \((1,4)\) component.
 
Complex s2s1 () const
 The \((1,1)\) component.
 
Complex s2s2 () const
 The \((1,1)\) component.
 
Complex s2s3 () const
 The \((1,1)\) component.
 
Complex s2s4 () const
 The \((1,1)\) component.
 
Complex s3s1 () const
 The \((1,1)\) component.
 
Complex s3s2 () const
 The \((1,1)\) component.
 
Complex s3s3 () const
 The \((1,1)\) component.
 
Complex s3s4 () const
 The \((1,1)\) component.
 
Complex s4s1 () const
 The \((1,1)\) component.
 
Complex s4s2 () const
 The \((1,1)\) component.
 
Complex s4s3 () const
 The \((1,1)\) component.
 
Complex s4s4 () const
 The \((1,1)\) component.
 
Complex operator() (unsigned int i, unsigned int j) const
 Fortran style subscript operator.
 

Friends

SpinHalfLorentzRotation inverseOf (const SpinHalfLorentzRotation &lt)
 The external inverseOf needs to be a friend.
 

Transformation and product members

using MatrixT = array< array< Complex, 4 >, 4 >
 
MatrixT _mx
 The members of the transformation matrix.
 
SpinHalfLorentzRotation operator* (const SpinHalfLorentzRotation &lt) const
 Product of two SpinHalfLorentzRotations (this) * lt - matrix multiplication

 
SpinHalfLorentzRotationoperator*= (const SpinHalfLorentzRotation &)
 Multiply by and assign a*=b becomes a= a*b.
 
SpinHalfLorentzRotationtransform (const SpinHalfLorentzRotation &)
 Transform (similar to *= but a.transform(b) becomes a = b*a.
 
SpinHalfLorentzRotationrotateX (double delta)
 Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
 
SpinHalfLorentzRotationrotateY (double delta)
 Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
 
SpinHalfLorentzRotationrotateZ (double delta)
 Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
 
SpinHalfLorentzRotationrotate (double delta, const Axis &axis)
 Rotation around specified vector - LT = Rotation(delta,axis)*LT.
 
SpinHalfLorentzRotationboostX (double beta)
 Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
 
SpinHalfLorentzRotationboostY (double beta)
 Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
 
SpinHalfLorentzRotationboostZ (double beta)
 Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.
 
SpinHalfLorentzRotationboost (double bx, double by, double bz, double gamma=-1.)
 General boost equivalent to LT = Boost(bx,by,bz) * LT.
 
SpinHalfLorentzRotationboost (const Boost &bv, double gamma=-1.)
 General boost equivalent to LT = Boost(bv) * LT.
 
 SpinHalfLorentzRotation (Complex s1s1, Complex s1s2, Complex s1s3, Complex s1s4, Complex s2s1, Complex s2s2, Complex s2s3, Complex s2s4, Complex s3s1, Complex s3s2, Complex s3s3, Complex s3s4, Complex s4s1, Complex s4s2, Complex s4s3, Complex s4s4)
 Protected constructor giving all the members, no check it is a valid transformation.
 
 SpinHalfLorentzRotation (const MatrixT &m)
 

Detailed Description

The SpinHalfLorentzRotation class is designed to offer the same features as the HepLorentzRotation class of CLHEP but for the spin- \(\frac12\) Lorentz transformation.

This is then combined into the general LorentzRotation class of ThePEG to provide the Lorentz transformation for any object as the transformations for higher spin objects can be built from the spin- \(\frac12\) and spin-1 transformations.

The boost matrix is calculated using the default Dirac matrix representation. Any conversion to other Dirac matrix representations must be handled when the transformation is used.

Definition at line 31 of file SpinHalfLorentzRotation.h.

Member Typedef Documentation

◆ MatrixT

using ThePEG::SpinHalfLorentzRotation::MatrixT = array<array<Complex,4>,4>
private

Definition at line 326 of file SpinHalfLorentzRotation.h.

Constructor & Destructor Documentation

◆ SpinHalfLorentzRotation() [1/4]

ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation ( )

Default constructor.

Gives a unit matrix.

◆ SpinHalfLorentzRotation() [2/4]

ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation ( double  bx,
double  by,
double  bz,
double  gamma = -1. 
)

Constructor giving the components of a Lorentz boost.

Parameters
bxThe x-component of the boost
byThe y-component of the boost
bzThe z-component of the boost
gammaThe \(\gamma\) factor (optional)

◆ SpinHalfLorentzRotation() [3/4]

ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation ( const Boost b,
double  gamma = -1. 
)

Constructor giving the vector for a Lorentz boost.

Parameters
bThe boost vector
gammaThe \(\gamma\) factor (optional)

◆ SpinHalfLorentzRotation() [4/4]

ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation ( const MatrixT &  m)
inlineprivate

Definition at line 328 of file SpinHalfLorentzRotation.h.

Member Function Documentation

◆ boost() [1/2]

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::boost ( const Boost bv,
double  gamma = -1. 
)

General boost equivalent to LT = Boost(bv) * LT.

Parameters
bvThe boost vector
gammaThe \(\gamma\) factor (optional)

◆ boost() [2/2]

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::boost ( double  bx,
double  by,
double  bz,
double  gamma = -1. 
)

General boost equivalent to LT = Boost(bx,by,bz) * LT.

Parameters
bxThe x-component of the boost
byThe y-component of the boost
bzThe z-component of the boost
gammaThe \(\gamma\) factor (optional)

Referenced by ThePEG::LorentzRotation::boost().

◆ invert()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::invert ( )
inline

Inverts the SpinHalfLorentzRotation matrix.

Definition at line 78 of file SpinHalfLorentzRotation.h.

References inverse().

◆ operator()()

Complex ThePEG::SpinHalfLorentzRotation::operator() ( unsigned int  i,
unsigned int  j 
) const
inline

Fortran style subscript operator.

Definition at line 235 of file SpinHalfLorentzRotation.h.

References _mx.

◆ operator*()

SpinHalfLorentzRotation ThePEG::SpinHalfLorentzRotation::operator* ( const SpinHalfLorentzRotation lt) const

Product of two SpinHalfLorentzRotations (this) * lt - matrix multiplication

Parameters
ltThe SpinHalfLorentzRotation we are multiplying

◆ s1s1()

Complex ThePEG::SpinHalfLorentzRotation::s1s1 ( ) const
inline

The \((1,1)\) component.

Definition at line 155 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s1s1().

◆ s1s2()

Complex ThePEG::SpinHalfLorentzRotation::s1s2 ( ) const
inline

The \((1,2)\) component.

Definition at line 160 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s1s2().

◆ s1s3()

Complex ThePEG::SpinHalfLorentzRotation::s1s3 ( ) const
inline

The \((1,3)\) component.

Definition at line 165 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s1s3().

◆ s1s4()

Complex ThePEG::SpinHalfLorentzRotation::s1s4 ( ) const
inline

The \((1,4)\) component.

Definition at line 170 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s1s4().

◆ s2s1()

Complex ThePEG::SpinHalfLorentzRotation::s2s1 ( ) const
inline

The \((1,1)\) component.

Definition at line 175 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s2s1().

◆ s2s2()

Complex ThePEG::SpinHalfLorentzRotation::s2s2 ( ) const
inline

The \((1,1)\) component.

Definition at line 180 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s2s2().

◆ s2s3()

Complex ThePEG::SpinHalfLorentzRotation::s2s3 ( ) const
inline

The \((1,1)\) component.

Definition at line 185 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s2s3().

◆ s2s4()

Complex ThePEG::SpinHalfLorentzRotation::s2s4 ( ) const
inline

The \((1,1)\) component.

Definition at line 190 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s2s4().

◆ s3s1()

Complex ThePEG::SpinHalfLorentzRotation::s3s1 ( ) const
inline

The \((1,1)\) component.

Definition at line 195 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s3s1().

◆ s3s2()

Complex ThePEG::SpinHalfLorentzRotation::s3s2 ( ) const
inline

The \((1,1)\) component.

Definition at line 200 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s3s2().

◆ s3s3()

Complex ThePEG::SpinHalfLorentzRotation::s3s3 ( ) const
inline

The \((1,1)\) component.

Definition at line 205 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s3s3().

◆ s3s4()

Complex ThePEG::SpinHalfLorentzRotation::s3s4 ( ) const
inline

The \((1,1)\) component.

Definition at line 210 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s3s4().

◆ s4s1()

Complex ThePEG::SpinHalfLorentzRotation::s4s1 ( ) const
inline

The \((1,1)\) component.

Definition at line 215 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s4s1().

◆ s4s2()

Complex ThePEG::SpinHalfLorentzRotation::s4s2 ( ) const
inline

The \((1,1)\) component.

Definition at line 220 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s4s2().

◆ s4s3()

Complex ThePEG::SpinHalfLorentzRotation::s4s3 ( ) const
inline

The \((1,1)\) component.

Definition at line 225 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s4s3().

◆ s4s4()

Complex ThePEG::SpinHalfLorentzRotation::s4s4 ( ) const
inline

The \((1,1)\) component.

Definition at line 230 of file SpinHalfLorentzRotation.h.

References _mx.

Referenced by ThePEG::LorentzRotation::s4s4().

◆ setBoost() [1/2]

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setBoost ( const Boost b,
double  gamma = -1. 
)

Specify a Lorentz Boost as a vector.

Parameters
bThe boost vector
gammaThe \(\gamma\) factor (optional)

◆ setBoost() [2/2]

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setBoost ( double  bx,
double  by,
double  bz,
double  gamma = -1. 
)

Specify the components of a Lorentz Boost.

Parameters
bxThe x-component of the boost
byThe y-component of the boost
bzThe z-component of the boost
gammaThe \(\gamma\) factor (optional)

Referenced by ThePEG::LorentzRotation::setBoost().

◆ setBoostX()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setBoostX ( double &  boost)

Specify a boost by the given factor along the x-axis.

Parameters
boostThe Lorentz boost

Referenced by ThePEG::LorentzRotation::setBoostX().

◆ setBoostY()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setBoostY ( double &  boost)

Specify a boost by the given factor along the y-axis.

Parameters
boostThe Lorentz boost

Referenced by ThePEG::LorentzRotation::setBoostY().

◆ setBoostZ()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setBoostZ ( double &  boost)

Specify a boost by the given factor along the z-axis.

Parameters
boostThe Lorentz boost

Referenced by ThePEG::LorentzRotation::setBoostZ().

◆ setRotate()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setRotate ( double  delta,
const Axis axis 
)

Specify a rotation about a general axis by the angle given.

Parameters
deltaThe angle
axisThe axis

Referenced by ThePEG::LorentzRotation::setRotate().

◆ setRotateX()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setRotateX ( double &  angle)

Specify a rotation by the given angle about the x-axis.

Parameters
angleThe rotation angle

Referenced by ThePEG::LorentzRotation::setRotateX().

◆ setRotateY()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setRotateY ( double &  angle)

Specify a rotation by the given angle about the y-axis.

Parameters
angleThe rotation angle

◆ setRotateZ()

SpinHalfLorentzRotation & ThePEG::SpinHalfLorentzRotation::setRotateZ ( double &  angle)

Specify a rotation by the given angle about the z-axis.

Parameters
angleThe rotation angle

Referenced by ThePEG::LorentzRotation::setRotateY(), and ThePEG::LorentzRotation::setRotateZ().

Friends And Related Function Documentation

◆ inverseOf

SpinHalfLorentzRotation inverseOf ( const SpinHalfLorentzRotation lt)
friend

The external inverseOf needs to be a friend.

Definition at line 339 of file SpinHalfLorentzRotation.h.

Member Data Documentation

◆ _mx

MatrixT ThePEG::SpinHalfLorentzRotation::_mx
private

The members of the transformation matrix.

Definition at line 333 of file SpinHalfLorentzRotation.h.

Referenced by operator()(), s1s1(), s1s2(), s1s3(), s1s4(), s2s1(), s2s2(), s2s3(), s2s4(), s3s1(), s3s2(), s3s3(), s3s4(), s4s1(), s4s2(), s4s3(), and s4s4().


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