#include <SpinHalfLorentzRotation.h>
Public Member Functions | |
bool | isIdentity () const |
Returns true if the Identity matrix. | |
SpinHalfLorentzRotation | inverse () const |
Return the inverse. | |
SpinHalfLorentzRotation & | invert () |
Inverts the SpinHalfLorentzRotation matrix. | |
std::ostream & | print (std::ostream &os) const |
output operator | |
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. | |
Set methods for speical cases of simple rotations and boosts | |
SpinHalfLorentzRotation & | setBoost (double bx, double by, double bz, double gamma=-1.) |
Specify the components of a Lorentz Boost. | |
SpinHalfLorentzRotation & | setBoost (const Boost &b, double gamma=-1.) |
Specify a Lorentz Boost as a vector. | |
SpinHalfLorentzRotation & | setBoostX (double &boost) |
Specify a boost by the given factor along the x-axis. | |
SpinHalfLorentzRotation & | setBoostY (double &boost) |
Specify a boost by the given factor along the y-axis. | |
SpinHalfLorentzRotation & | setBoostZ (double &boost) |
Specify a boost by the given factor along the z-axis. | |
SpinHalfLorentzRotation & | setRotate (double delta, const Axis &axis) |
Specify a rotation about a general axis by the angle given. | |
SpinHalfLorentzRotation & | setRotateX (double &angle) |
Specify a rotation by the given angle about the x-axis. | |
SpinHalfLorentzRotation & | setRotateY (double &angle) |
Specify a rotation by the given angle about the y-axis. | |
SpinHalfLorentzRotation & | setRotateZ (double &angle) |
Specify a rotation by the given angle about the z-axis. | |
Access methods for the components | |
Complex | s1s1 () const |
The component. | |
Complex | s1s2 () const |
The component. | |
Complex | s1s3 () const |
The component. | |
Complex | s1s4 () const |
The component. | |
Complex | s2s1 () const |
The component. | |
Complex | s2s2 () const |
The component. | |
Complex | s2s3 () const |
The component. | |
Complex | s2s4 () const |
The component. | |
Complex | s3s1 () const |
The component. | |
Complex | s3s2 () const |
The component. | |
Complex | s3s3 () const |
The component. | |
Complex | s3s4 () const |
The component. | |
Complex | s4s1 () const |
The component. | |
Complex | s4s2 () const |
The component. | |
Complex | s4s3 () const |
The component. | |
Complex | s4s4 () const |
The component. | |
Complex | operator() (unsigned int i, unsigned int j) const |
Fortran style subscript operator. | |
Transformation and product members | |
SpinHalfLorentzRotation | operator* (const SpinHalfLorentzRotation <) const |
Product of two SpinHalfLorentzRotations (this) * lt - matrix multiplication. | |
SpinHalfLorentzRotation & | operator*= (const SpinHalfLorentzRotation &) |
Multiply by and assign a*=b becomes a= a*b. | |
SpinHalfLorentzRotation & | transform (const SpinHalfLorentzRotation &) |
Transform (similar to *= but a.transform(b) becomes a = b*a. | |
SpinHalfLorentzRotation & | rotateX (double delta) |
Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT. | |
SpinHalfLorentzRotation & | rotateY (double delta) |
Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT. | |
SpinHalfLorentzRotation & | rotateZ (double delta) |
Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT. | |
SpinHalfLorentzRotation & | rotate (double delta, const Axis &axis) |
Rotation around specified vector - LT = Rotation(delta,axis)*LT. | |
SpinHalfLorentzRotation & | boostX (double beta) |
Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT. | |
SpinHalfLorentzRotation & | boostY (double beta) |
Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT. | |
SpinHalfLorentzRotation & | boostZ (double beta) |
Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT. | |
SpinHalfLorentzRotation & | boost (double bx, double by, double bz, double gamma=-1.) |
General boost equivalent to LT = Boost(bx,by,bz) * LT. | |
SpinHalfLorentzRotation & | boost (const Boost &bv, double gamma=-1.) |
General boost equivalent to LT = Boost(bv) * LT. | |
Protected Member Functions | |
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. | |
Private Attributes | |
vector< vector< Complex > > | _mx |
The members of the transformation matrix. | |
Friends | |
SpinHalfLorentzRotation | inverseOf (const SpinHalfLorentzRotation <) |
The external inverseOf needs to be a friend. |
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- 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.
ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation | ( | ) |
Default constructor.
Gives a unit matrix.
ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation | ( | double | bx, | |
double | by, | |||
double | bz, | |||
double | gamma = -1. | |||
) |
Constructor giving the components of a Lorentz boost.
bx | The x-component of the boost | |
by | The y-component of the boost | |
bz | The z-component of the boost | |
gamma | The factor (optional) |
ThePEG::SpinHalfLorentzRotation::SpinHalfLorentzRotation | ( | const Boost & | b, | |
double | gamma = -1. | |||
) |
Constructor giving the vector for a Lorentz boost.
b | The boost vector | |
gamma | The factor (optional) |
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setBoost | ( | double | bx, | |
double | by, | |||
double | bz, | |||
double | gamma = -1. | |||
) |
Specify the components of a Lorentz Boost.
bx | The x-component of the boost | |
by | The y-component of the boost | |
bz | The z-component of the boost | |
gamma | The factor (optional) |
Referenced by ThePEG::LorentzRotation::setBoost().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setBoost | ( | const Boost & | b, | |
double | gamma = -1. | |||
) |
Specify a Lorentz Boost as a vector.
b | The boost vector | |
gamma | The factor (optional) |
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setBoostX | ( | double & | boost | ) |
Specify a boost by the given factor along the x-axis.
boost | The Lorentz boost |
Referenced by ThePEG::LorentzRotation::setBoostX().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setBoostY | ( | double & | boost | ) |
Specify a boost by the given factor along the y-axis.
boost | The Lorentz boost |
Referenced by ThePEG::LorentzRotation::setBoostY().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setBoostZ | ( | double & | boost | ) |
Specify a boost by the given factor along the z-axis.
boost | The Lorentz boost |
Referenced by ThePEG::LorentzRotation::setBoostZ().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setRotate | ( | double | delta, | |
const Axis & | axis | |||
) |
Specify a rotation about a general axis by the angle given.
delta | The angle | |
axis | The axis |
Referenced by ThePEG::LorentzRotation::setRotate().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setRotateX | ( | double & | angle | ) |
Specify a rotation by the given angle about the x-axis.
angle | The rotation angle |
Referenced by ThePEG::LorentzRotation::setRotateX().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setRotateY | ( | double & | angle | ) |
Specify a rotation by the given angle about the y-axis.
angle | The rotation angle |
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::setRotateZ | ( | double & | angle | ) |
Specify a rotation by the given angle about the z-axis.
angle | The rotation angle |
Referenced by ThePEG::LorentzRotation::setRotateY(), and ThePEG::LorentzRotation::setRotateZ().
SpinHalfLorentzRotation ThePEG::SpinHalfLorentzRotation::operator* | ( | const SpinHalfLorentzRotation & | lt | ) | const |
Product of two SpinHalfLorentzRotations (this) * lt - matrix multiplication.
lt | The SpinHalfLorentzRotation we are multiplying |
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::boost | ( | double | bx, | |
double | by, | |||
double | bz, | |||
double | gamma = -1. | |||
) |
General boost equivalent to LT = Boost(bx,by,bz) * LT.
bx | The x-component of the boost | |
by | The y-component of the boost | |
bz | The z-component of the boost | |
gamma | The factor (optional) |
Referenced by ThePEG::LorentzRotation::boost().
SpinHalfLorentzRotation& ThePEG::SpinHalfLorentzRotation::boost | ( | const Boost & | bv, | |
double | gamma = -1. | |||
) |
General boost equivalent to LT = Boost(bv) * LT.
bv | The boost vector | |
gamma | The factor (optional) |