ThePEG
2.2.1
|
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to provide members which can perform the Lorentz transformation of any object. More...
#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. More... | |
LorentzRotation (double bx, double by, double bz, double gamma=-1.) | |
Constructor giving the components of a Lorentz boost. More... | |
LorentzRotation (const Boost &b, double gamma=-1.) | |
Constructor giving the vector for a Lorentz boost. More... | |
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. More... | |
LorentzRotation & | setBoost (const Boost &b, double gamma=-1.) |
Specify a Lorentz Boost as a vector. More... | |
LorentzRotation & | setBoostX (double boost) |
Specify a boost by the given factor along the x-axis. More... | |
LorentzRotation & | setBoostY (double boost) |
Specify a boost by the given factor along the y-axis. More... | |
LorentzRotation & | setBoostZ (double boost) |
Specify a boost by the given factor along the z-axis. More... | |
LorentzRotation & | setRotate (double delta, const Axis &axis) |
Specify a rotation about a general axis by the angle given. More... | |
LorentzRotation & | setRotateX (double angle) |
Specify a rotation by the given angle about the x-axis. More... | |
LorentzRotation & | setRotateY (double angle) |
Specify a rotation by the given angle about the y-axis. More... | |
LorentzRotation & | setRotateZ (double angle) |
Specify a rotation by the given angle about the z-axis. More... | |
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. More... | |
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 More... | |
LorentzRotation & | boost (const Boost &bv, double gamma=-1.) |
boost equivalent to LT = Boost(bv) * LT More... | |
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 LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to provide members which can perform the Lorentz transformation of any object.
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.
|
inline |
|
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.
|
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.
|
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::SpinHalfLorentzRotation::boost(), and ThePEG::SpinOneLorentzRotation::boost().
|
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::SpinHalfLorentzRotation::boost(), and ThePEG::SpinOneLorentzRotation::boost().
|
inline |
Product of two LorentzRotations (this) * lt - matrix multiplication.
lt | The LorentzRotation we are multiplying |
Definition at line 399 of file LorentzRotation.h.
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().