#include <LorentzRotation.h>
Public Member Functions | |
bool | isIdentity () const |
Returns true if the Identity matrix. | |
LorentzRotation | inverse () const |
Return the inverse. | |
LorentzRotation & | invert () |
Inverts the LorentzRotation matrix. | |
std::ostream & | print (std::ostream &os) const |
output operator | |
Constructors and destructor. | |
LorentzRotation () | |
Default constructor. | |
LorentzRotation (double bx, double by, double bz, double gamma=-1.) | |
Constructor giving the components of a Lorentz boost. | |
LorentzRotation (const Boost &b, double gamma=-1.) | |
Constructor giving the vector for a Lorentz boost. | |
Set methods for speical cases of simple rotations and boosts | |
LorentzRotation & | setBoost (double bx, double by, double bz, double gamma=-1.) |
Specify the components of a Lorentz Boost. | |
LorentzRotation & | setBoost (const Boost &b, double gamma=-1.) |
Specify a Lorentz Boost as a vector. | |
LorentzRotation & | setBoostX (double boost) |
Specify a boost by the given factor along the x-axis. | |
LorentzRotation & | setBoostY (double boost) |
Specify a boost by the given factor along the y-axis. | |
LorentzRotation & | setBoostZ (double boost) |
Specify a boost by the given factor along the z-axis. | |
LorentzRotation & | setRotate (double delta, const Axis &axis) |
Specify a rotation about a general axis by the angle given. | |
LorentzRotation & | setRotateX (double angle) |
Specify a rotation by the given angle about the x-axis. | |
LorentzRotation & | setRotateY (double angle) |
Specify a rotation by the given angle about the y-axis. | |
LorentzRotation & | setRotateZ (double angle) |
Specify a rotation by the given angle about the z-axis. | |
Methods to return the spin-\f$\frac12\f$ and spin-1 transformations | |
const SpinHalfLorentzRotation & | half () const |
The spin- transformation. | |
const SpinOneLorentzRotation & | one () const |
The spin-1 transformation. | |
operator const SpinOneLorentzRotation & () const | |
Automatically cast to the spin-1 transformation. | |
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. | |
Access methods for the components of the spin-\f$\frac12\f$ rotation | |
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. | |
Transformation and product members | |
template<typename Value> | |
LorentzVector< Value > | operator* (const LorentzVector< Value > &lv) const |
Product with a LorentzVector simply returns the rotated vector. | |
template<typename Value> | |
Lorentz5Vector< Value > | operator* (const Lorentz5Vector< Value > &lv) const |
Product with a Lorentz5Vector simply returns the rotated vector. | |
LorentzRotation | operator* (const LorentzRotation <) const |
Product of two LorentzRotations (this) * lt - matrix multiplication. | |
LorentzRotation & | operator*= (const LorentzRotation <) |
Multiply by and assign a*=b becomes a= a*b. | |
LorentzRotation & | transform (const LorentzRotation <) |
Transform (similar to *= but a.transform(b) becomes a = b*a. | |
LorentzRotation & | rotateX (double delta) |
Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT. | |
LorentzRotation & | rotateY (double delta) |
Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT. | |
LorentzRotation & | rotateZ (double delta) |
Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT. | |
LorentzRotation & | rotate (double delta, const Axis &axis) |
Rotation around specified vector - LT = Rotation(delta,axis)*LT. | |
LorentzRotation & | boostX (double beta) |
Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT. | |
LorentzRotation & | boostY (double beta) |
Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT. | |
LorentzRotation & | boostZ (double beta) |
Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT. | |
LorentzRotation & | boost (double bx, double by, double bz, double gamma=-1.) |
boost equivalent to LT = Boost(bx,by,bz) * LT | |
LorentzRotation & | boost (const Boost &bv, double gamma=-1.) |
boost equivalent to LT = Boost(bv) * LT | |
Private Attributes | |
SpinHalfLorentzRotation | _half |
The spin- rotation. | |
SpinOneLorentzRotation | _one |
The spin-1 rotation. | |
Friends | |
LorentzRotation | inverseOf (const LorentzRotation <) |
The external inverseOf needs to be a friend. |
The class ensures that the two transformations are consistent by only allowing transformations to be made to both the spin-1 and spin- members.
Definition at line 27 of file LorentzRotation.h.
ThePEG::LorentzRotation::LorentzRotation | ( | ) | [inline] |
ThePEG::LorentzRotation::LorentzRotation | ( | double | bx, | |
double | by, | |||
double | bz, | |||
double | gamma = -1. | |||
) | [inline] |
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) |
Definition at line 51 of file LorentzRotation.h.
ThePEG::LorentzRotation::LorentzRotation | ( | const Boost & | b, | |
double | gamma = -1. | |||
) | [inline] |
Constructor giving the vector for a Lorentz boost.
b | The boost vector | |
gamma | The factor (optional) |
Definition at line 59 of file LorentzRotation.h.
LorentzRotation& ThePEG::LorentzRotation::setBoost | ( | double | bx, | |
double | by, | |||
double | bz, | |||
double | gamma = -1. | |||
) | [inline] |
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) |
Definition at line 102 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setBoost(), and ThePEG::SpinHalfLorentzRotation::setBoost().
LorentzRotation& ThePEG::LorentzRotation::setBoost | ( | const Boost & | b, | |
double | gamma = -1. | |||
) | [inline] |
Specify a Lorentz Boost as a vector.
b | The boost vector | |
gamma | The factor (optional) |
Definition at line 113 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setBoost(), and ThePEG::SpinHalfLorentzRotation::setBoost().
LorentzRotation& ThePEG::LorentzRotation::setBoostX | ( | double | boost | ) | [inline] |
Specify a boost by the given factor along the x-axis.
boost | The Lorentz boost |
Definition at line 123 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setBoost(), and ThePEG::SpinHalfLorentzRotation::setBoostX().
LorentzRotation& ThePEG::LorentzRotation::setBoostY | ( | double | boost | ) | [inline] |
Specify a boost by the given factor along the y-axis.
boost | The Lorentz boost |
Definition at line 133 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setBoost(), and ThePEG::SpinHalfLorentzRotation::setBoostY().
LorentzRotation& ThePEG::LorentzRotation::setBoostZ | ( | double | boost | ) | [inline] |
Specify a boost by the given factor along the z-axis.
boost | The Lorentz boost |
Definition at line 143 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setBoost(), and ThePEG::SpinHalfLorentzRotation::setBoostZ().
LorentzRotation& ThePEG::LorentzRotation::setRotate | ( | double | delta, | |
const Axis & | axis | |||
) | [inline] |
Specify a rotation about a general axis by the angle given.
delta | The angle | |
axis | The axis |
Definition at line 154 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setRotate(), and ThePEG::SpinHalfLorentzRotation::setRotate().
LorentzRotation& ThePEG::LorentzRotation::setRotateX | ( | double | angle | ) | [inline] |
Specify a rotation by the given angle about the x-axis.
angle | The rotation angle |
Definition at line 164 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setRotateX(), and ThePEG::SpinHalfLorentzRotation::setRotateX().
LorentzRotation& ThePEG::LorentzRotation::setRotateY | ( | double | angle | ) | [inline] |
Specify a rotation by the given angle about the y-axis.
angle | The rotation angle |
Definition at line 174 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setRotateZ(), and ThePEG::SpinHalfLorentzRotation::setRotateZ().
LorentzRotation& ThePEG::LorentzRotation::setRotateZ | ( | double | angle | ) | [inline] |
Specify a rotation by the given angle about the z-axis.
angle | The rotation angle |
Definition at line 184 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::setRotateZ(), and ThePEG::SpinHalfLorentzRotation::setRotateZ().
LorentzRotation ThePEG::LorentzRotation::operator* | ( | const LorentzRotation & | lt | ) | const [inline] |
Product of two LorentzRotations (this) * lt - matrix multiplication.
lt | The LorentzRotation we are multiplying |
Definition at line 399 of file LorentzRotation.h.
LorentzRotation& ThePEG::LorentzRotation::boost | ( | double | bx, | |
double | by, | |||
double | bz, | |||
double | gamma = -1. | |||
) | [inline] |
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) |
Definition at line 494 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::boost(), and ThePEG::SpinHalfLorentzRotation::boost().
LorentzRotation& ThePEG::LorentzRotation::boost | ( | const Boost & | bv, | |
double | gamma = -1. | |||
) | [inline] |
boost equivalent to LT = Boost(bv) * LT
bv | The boost | |
gamma | The factor (optional) |
Definition at line 505 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinOneLorentzRotation::boost(), and ThePEG::SpinHalfLorentzRotation::boost().