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

The SpinOneLorentzRotation class is ... More...

#include <SpinOneLorentzRotation.h>

Public Member Functions

Constructors and destructor.
 SpinOneLorentzRotation ()
 Default constructor.
 
 SpinOneLorentzRotation (double bx, double by, double bz, double gamma=-1.)
 Constructor giving the components of a Lorentz boost.
 
 SpinOneLorentzRotation (const Boost &b, double gamma=-1.)
 Constructor giving the vector for a Lorentz boost.
 
bool isIdentity () const
 Returns true if the Identity matrix.
 
SpinOneLorentzRotation inverse () const
 Return the inverse.
 
SpinOneLorentzRotationinvert ()
 Inverts the SpinOneLorentzRotation matrix.
 
std::ostream & print (std::ostream &os) const
 output operator
 
Set methods for speical cases of simple rotations and boosts
SpinOneLorentzRotationsetBoost (double bx, double by, double bz, double gamma=-1.)
 Specify the components of a Lorentz Boost.
 
SpinOneLorentzRotationsetBoost (const Boost &b, double gamma=-1.)
 Specify a Lorentz Boost as a vector.
 
SpinOneLorentzRotationsetRotate (double delta, const Axis &axis)
 Specify a rotation about a general axis by the angle given.
 
SpinOneLorentzRotationsetRotateX (double angle)
 Specify a rotation by the given angle about the x-axis.
 
SpinOneLorentzRotationsetRotateY (double angle)
 Specify a rotation by the given angle about the y-axis.
 
SpinOneLorentzRotationsetRotateZ (double angle)
 Specify a rotation by the given angle about the z-axis.
 
Access methods for the components of the spin-1 rotation
double xx () const
 The xx component.
 
double xy () const
 The xy component.
 
double xz () const
 The xz component.
 
double xt () const
 The xt component.
 
double yx () const
 The yx component.
 
double yy () const
 The yy component.
 
double yz () const
 The yz component.
 
double yt () const
 The yt component.
 
double zx () const
 The zx component.
 
double zy () const
 The zy component.
 
double zz () const
 The zz component.
 
double zt () const
 The zt component.
 
double tx () const
 The tx component.
 
double ty () const
 The ty component.
 
double tz () const
 The tz component.
 
double tt () const
 The tt component.
 

Private Member Functions

Component access.
double & xx_ ()
 
double & xy_ ()
 
double & xz_ ()
 
double & xt_ ()
 
double & yx_ ()
 
double & yy_ ()
 
double & yz_ ()
 
double & yt_ ()
 
double & zx_ ()
 
double & zy_ ()
 
double & zz_ ()
 
double & zt_ ()
 
double & tx_ ()
 
double & ty_ ()
 
double & tz_ ()
 
double & tt_ ()
 

Transformation and product members

template<typename Value >
class Helicity::LorentzTensor
 
template<typename Value >
class Helicity::LorentzRank3Tensor
 
template<typename Value >
class Helicity::LorentzRSSpinor
 
template<typename Value >
class Helicity::LorentzRSSpinorBar
 
array< double, 16 > matrix_ = {}
 Matrix components, order: \((xx, xy, \ldots, tz, tt)\).
 
template<typename Value >
LorentzVector< Value > operator* (const LorentzVector< Value > &v) const
 Product with a LorentzVector simply returns the rotated vector.
 
template<typename Value >
Lorentz5Vector< Value > operator* (const Lorentz5Vector< Value > &v) const
 Product with a Lorentz5Vector simply returns the rotated vector.
 
SpinOneLorentzRotation operator* (const SpinOneLorentzRotation &lt) const
 Product of two LorentzRotations (this) * lt - matrix multiplication

 
SpinOneLorentzRotationoperator*= (const SpinOneLorentzRotation &lt)
 Multiply by and assign a*=b becomes a= a*b.
 
SpinOneLorentzRotationtransform (const SpinOneLorentzRotation &lt)
 Transform (similar to *= but a.transform(b) becomes a = b*a.
 
SpinOneLorentzRotationrotateX (double delta)
 Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
 
SpinOneLorentzRotationrotateY (double delta)
 Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
 
SpinOneLorentzRotationrotateZ (double delta)
 Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
 
SpinOneLorentzRotationrotate (double delta, const Axis &axis)
 Rotation around specified vector - LT = Rotation(delta,axis)*LT.
 
SpinOneLorentzRotationboostX (double beta)
 Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
 
SpinOneLorentzRotationboostY (double beta)
 Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
 
SpinOneLorentzRotationboostZ (double beta)
 Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.
 
SpinOneLorentzRotationboost (double bx, double by, double bz, double gamma=-1.)
 boost equivalent to LT = Boost(bx,by,bz) * LT
 
SpinOneLorentzRotationboost (const Boost &b, double gamma=-1.)
 boost equivalent to LT = Boost(bv) * LT
 
 SpinOneLorentzRotation (double xx, double xy, double xz, double xt, double yx, double yy, double yz, double yt, double zx, double zy, double zz, double zt, double tx, double ty, double tz, double tt)
 Constructor from doubles.
 
double operator() (unsigned int i, unsigned int j) const
 Component access by index: x=0, t=3.
 

Detailed Description

The SpinOneLorentzRotation class is ...

Definition at line 25 of file SpinOneLorentzRotation.h.

Constructor & Destructor Documentation

◆ SpinOneLorentzRotation() [1/3]

ThePEG::SpinOneLorentzRotation::SpinOneLorentzRotation ( )
inline

Default constructor.

Gives a unit matrix.

Definition at line 34 of file SpinOneLorentzRotation.h.

Referenced by boost(), boostX(), boostY(), and boostZ().

◆ SpinOneLorentzRotation() [2/3]

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

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)

Definition at line 45 of file SpinOneLorentzRotation.h.

References setBoost().

◆ SpinOneLorentzRotation() [3/3]

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

Constructor giving the vector for a Lorentz boost.

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

Definition at line 55 of file SpinOneLorentzRotation.h.

References setBoost().

Member Function Documentation

◆ boost() [1/2]

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::boost ( const Boost b,
double  gamma = -1. 
)
inline

boost equivalent to LT = Boost(bv) * LT

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

Definition at line 336 of file SpinOneLorentzRotation.h.

References SpinOneLorentzRotation().

◆ boost() [2/2]

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

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)

Definition at line 326 of file SpinOneLorentzRotation.h.

References SpinOneLorentzRotation().

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

◆ boostX()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::boostX ( double  beta)
inline

Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.

Definition at line 301 of file SpinOneLorentzRotation.h.

References SpinOneLorentzRotation().

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

◆ boostY()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::boostY ( double  beta)
inline

Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.

Definition at line 308 of file SpinOneLorentzRotation.h.

References SpinOneLorentzRotation().

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

◆ boostZ()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::boostZ ( double  beta)
inline

Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.

Definition at line 315 of file SpinOneLorentzRotation.h.

References SpinOneLorentzRotation().

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

◆ invert()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::invert ( )
inline

Inverts the SpinOneLorentzRotation matrix.

Definition at line 74 of file SpinOneLorentzRotation.h.

References inverse().

◆ operator()()

double ThePEG::SpinOneLorentzRotation::operator() ( unsigned int  i,
unsigned int  j 
) const
inlineprivate

Component access by index: x=0, t=3.

Definition at line 358 of file SpinOneLorentzRotation.h.

References matrix_.

◆ operator*() [1/3]

template<typename Value >
Lorentz5Vector< Value > ThePEG::SpinOneLorentzRotation::operator* ( const Lorentz5Vector< Value > &  v) const
inline

Product with a Lorentz5Vector simply returns the rotated vector.

Definition at line 234 of file SpinOneLorentzRotation.h.

References tt(), tx(), ty(), tz(), xt(), xx(), xy(), xz(), yt(), yx(), yy(), yz(), zt(), zx(), zy(), and zz().

◆ operator*() [2/3]

template<typename Value >
LorentzVector< Value > ThePEG::SpinOneLorentzRotation::operator* ( const LorentzVector< Value > &  v) const
inline

Product with a LorentzVector simply returns the rotated vector.

Definition at line 221 of file SpinOneLorentzRotation.h.

References tt(), tx(), ty(), tz(), xt(), xx(), xy(), xz(), yt(), yx(), yy(), yz(), zt(), zx(), zy(), and zz().

◆ operator*() [3/3]

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

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

Parameters
ltThe LorentzRotation we are multiplying

◆ operator*=()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::operator*= ( const SpinOneLorentzRotation lt)
inline

Multiply by and assign a*=b becomes a= a*b.

Definition at line 251 of file SpinOneLorentzRotation.h.

◆ rotate()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::rotate ( double  delta,
const Axis axis 
)
inline

Rotation around specified vector - LT = Rotation(delta,axis)*LT.

Definition at line 292 of file SpinOneLorentzRotation.h.

References setRotate().

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

◆ rotateX()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::rotateX ( double  delta)
inline

Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.

Definition at line 265 of file SpinOneLorentzRotation.h.

References setRotateX().

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

◆ rotateY()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::rotateY ( double  delta)
inline

Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.

Definition at line 274 of file SpinOneLorentzRotation.h.

References setRotateY().

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

◆ rotateZ()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::rotateZ ( double  delta)
inline

Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.

Definition at line 283 of file SpinOneLorentzRotation.h.

References setRotateZ().

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

◆ setBoost() [1/2]

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

Specify a Lorentz Boost as a vector.

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

Definition at line 98 of file SpinOneLorentzRotation.h.

References setBoost().

◆ setBoost() [2/2]

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::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 setBoost(), ThePEG::LorentzRotation::setBoost(), ThePEG::LorentzRotation::setBoostX(), ThePEG::LorentzRotation::setBoostY(), ThePEG::LorentzRotation::setBoostZ(), and SpinOneLorentzRotation().

◆ setRotate()

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

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

Parameters
deltaThe angle
axisThe axis

Referenced by rotate(), and ThePEG::LorentzRotation::setRotate().

◆ setRotateX()

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

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

Parameters
angleThe rotation angle

Referenced by rotateX(), and ThePEG::LorentzRotation::setRotateX().

◆ setRotateY()

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

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

Parameters
angleThe rotation angle

Referenced by rotateY().

◆ setRotateZ()

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

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

Parameters
angleThe rotation angle

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

◆ transform()

SpinOneLorentzRotation & ThePEG::SpinOneLorentzRotation::transform ( const SpinOneLorentzRotation lt)
inline

Transform (similar to *= but a.transform(b) becomes a = b*a.

Definition at line 258 of file SpinOneLorentzRotation.h.

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

◆ tt()

double ThePEG::SpinOneLorentzRotation::tt ( ) const
inline

The tt component.

Definition at line 210 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::tt().

◆ tt_()

double & ThePEG::SpinOneLorentzRotation::tt_ ( )
inlineprivate

Definition at line 382 of file SpinOneLorentzRotation.h.

◆ tx()

double ThePEG::SpinOneLorentzRotation::tx ( ) const
inline

The tx component.

Definition at line 195 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::tx().

◆ tx_()

double & ThePEG::SpinOneLorentzRotation::tx_ ( )
inlineprivate

Definition at line 379 of file SpinOneLorentzRotation.h.

◆ ty()

double ThePEG::SpinOneLorentzRotation::ty ( ) const
inline

The ty component.

Definition at line 200 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::ty().

◆ ty_()

double & ThePEG::SpinOneLorentzRotation::ty_ ( )
inlineprivate

Definition at line 380 of file SpinOneLorentzRotation.h.

◆ tz()

double ThePEG::SpinOneLorentzRotation::tz ( ) const
inline

The tz component.

Definition at line 205 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::tz().

◆ tz_()

double & ThePEG::SpinOneLorentzRotation::tz_ ( )
inlineprivate

Definition at line 381 of file SpinOneLorentzRotation.h.

◆ xt()

double ThePEG::SpinOneLorentzRotation::xt ( ) const
inline

The xt component.

Definition at line 150 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::xt().

◆ xt_()

double & ThePEG::SpinOneLorentzRotation::xt_ ( )
inlineprivate

Definition at line 367 of file SpinOneLorentzRotation.h.

◆ xx()

double ThePEG::SpinOneLorentzRotation::xx ( ) const
inline

The xx component.

Definition at line 135 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::xx().

◆ xx_()

double & ThePEG::SpinOneLorentzRotation::xx_ ( )
inlineprivate

Definition at line 364 of file SpinOneLorentzRotation.h.

◆ xy()

double ThePEG::SpinOneLorentzRotation::xy ( ) const
inline

The xy component.

Definition at line 140 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::xy().

◆ xy_()

double & ThePEG::SpinOneLorentzRotation::xy_ ( )
inlineprivate

Definition at line 365 of file SpinOneLorentzRotation.h.

◆ xz()

double ThePEG::SpinOneLorentzRotation::xz ( ) const
inline

The xz component.

Definition at line 145 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::xz().

◆ xz_()

double & ThePEG::SpinOneLorentzRotation::xz_ ( )
inlineprivate

Definition at line 366 of file SpinOneLorentzRotation.h.

◆ yt()

double ThePEG::SpinOneLorentzRotation::yt ( ) const
inline

The yt component.

Definition at line 170 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::yt().

◆ yt_()

double & ThePEG::SpinOneLorentzRotation::yt_ ( )
inlineprivate

Definition at line 372 of file SpinOneLorentzRotation.h.

◆ yx()

double ThePEG::SpinOneLorentzRotation::yx ( ) const
inline

The yx component.

Definition at line 155 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::yx().

◆ yx_()

double & ThePEG::SpinOneLorentzRotation::yx_ ( )
inlineprivate

Definition at line 369 of file SpinOneLorentzRotation.h.

◆ yy()

double ThePEG::SpinOneLorentzRotation::yy ( ) const
inline

The yy component.

Definition at line 160 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::yy().

◆ yy_()

double & ThePEG::SpinOneLorentzRotation::yy_ ( )
inlineprivate

Definition at line 370 of file SpinOneLorentzRotation.h.

◆ yz()

double ThePEG::SpinOneLorentzRotation::yz ( ) const
inline

The yz component.

Definition at line 165 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::yz().

◆ yz_()

double & ThePEG::SpinOneLorentzRotation::yz_ ( )
inlineprivate

Definition at line 371 of file SpinOneLorentzRotation.h.

◆ zt()

double ThePEG::SpinOneLorentzRotation::zt ( ) const
inline

The zt component.

Definition at line 190 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::zt().

◆ zt_()

double & ThePEG::SpinOneLorentzRotation::zt_ ( )
inlineprivate

Definition at line 377 of file SpinOneLorentzRotation.h.

◆ zx()

double ThePEG::SpinOneLorentzRotation::zx ( ) const
inline

The zx component.

Definition at line 175 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::zx().

◆ zx_()

double & ThePEG::SpinOneLorentzRotation::zx_ ( )
inlineprivate

Definition at line 374 of file SpinOneLorentzRotation.h.

◆ zy()

double ThePEG::SpinOneLorentzRotation::zy ( ) const
inline

The zy component.

Definition at line 180 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::zy().

◆ zy_()

double & ThePEG::SpinOneLorentzRotation::zy_ ( )
inlineprivate

Definition at line 375 of file SpinOneLorentzRotation.h.

◆ zz()

double ThePEG::SpinOneLorentzRotation::zz ( ) const
inline

The zz component.

Definition at line 185 of file SpinOneLorentzRotation.h.

References matrix_.

Referenced by operator*(), and ThePEG::LorentzRotation::zz().

◆ zz_()

double & ThePEG::SpinOneLorentzRotation::zz_ ( )
inlineprivate

Definition at line 376 of file SpinOneLorentzRotation.h.

Friends And Related Function Documentation

◆ Helicity::LorentzRank3Tensor

template<typename Value >
friend class Helicity::LorentzRank3Tensor
friend

Definition at line 344 of file SpinOneLorentzRotation.h.

◆ Helicity::LorentzRSSpinor

template<typename Value >
friend class Helicity::LorentzRSSpinor
friend

Definition at line 345 of file SpinOneLorentzRotation.h.

◆ Helicity::LorentzRSSpinorBar

template<typename Value >
friend class Helicity::LorentzRSSpinorBar
friend

Definition at line 346 of file SpinOneLorentzRotation.h.

◆ Helicity::LorentzTensor

template<typename Value >
friend class Helicity::LorentzTensor
friend

Definition at line 343 of file SpinOneLorentzRotation.h.

Member Data Documentation

◆ matrix_

array<double,16> ThePEG::SpinOneLorentzRotation::matrix_ = {}
private

Matrix components, order: \((xx, xy, \ldots, tz, tt)\).

Definition at line 349 of file SpinOneLorentzRotation.h.

Referenced by operator()(), tt(), tx(), ty(), tz(), xt(), xx(), xy(), xz(), yt(), yx(), yy(), yz(), zt(), zx(), zy(), and zz().


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