ThePEG 2.3.0
|
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 | |
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. | |
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 | |
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- \(\frac12\) 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 \((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. | |
Friends | |
LorentzRotation | inverseOf (const LorentzRotation <) |
The external inverseOf needs to be a friend. | |
Transformation and product members | |
SpinHalfLorentzRotation | _half |
The spin- \(\frac12\) rotation. | |
SpinOneLorentzRotation | _one |
The spin-1 rotation. | |
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 | |
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- \(\frac12\) 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 \(\gamma\) 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 \(\gamma\) factor (optional) |
Definition at line 59 of file LorentzRotation.h.
|
inline |
boost equivalent to LT = Boost(bv) * LT
bv | The boost |
gamma | The \(\gamma\) factor (optional) |
Definition at line 505 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::boost(), and ThePEG::SpinOneLorentzRotation::boost().
|
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 \(\gamma\) factor (optional) |
Definition at line 494 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::boost(), and ThePEG::SpinOneLorentzRotation::boost().
Referenced by setBoostX(), setBoostY(), and setBoostZ().
|
inline |
Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
Definition at line 463 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::boostX(), and ThePEG::SpinOneLorentzRotation::boostX().
|
inline |
Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
Definition at line 472 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::boostY(), and ThePEG::SpinOneLorentzRotation::boostY().
|
inline |
Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.
Definition at line 481 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::boostZ(), and ThePEG::SpinOneLorentzRotation::boostZ().
|
inline |
The spin- \(\frac12\) transformation.
Definition at line 197 of file LorentzRotation.h.
References _half.
Referenced by ThePEG::Helicity::LorentzSpinor< Value >::transform(), and ThePEG::Helicity::LorentzSpinorBar< Value >::transform().
|
inline |
Return the inverse.
Definition at line 73 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::inverse(), and ThePEG::SpinOneLorentzRotation::inverse().
Referenced by invert().
|
inline |
Inverts the LorentzRotation matrix.
Definition at line 83 of file LorentzRotation.h.
References inverse().
Referenced by ThePEG::TmpTransform< Ptr >::~TmpTransform().
|
inline |
Returns true if the Identity matrix.
Definition at line 66 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::isIdentity(), and ThePEG::SpinOneLorentzRotation::isIdentity().
|
inline |
The spin-1 transformation.
Definition at line 202 of file LorentzRotation.h.
References _one.
Referenced by operator*(), and ThePEG::Lorentz5Vector< Value >::transform().
|
inline |
Automatically cast to the spin-1 transformation.
Definition at line 207 of file LorentzRotation.h.
References _one.
|
inline |
Product with a Lorentz5Vector simply returns the rotated vector.
Definition at line 393 of file LorentzRotation.h.
References one().
|
inline |
Product of two LorentzRotations (this) * lt - matrix multiplication
lt | The LorentzRotation we are multiplying |
Definition at line 399 of file LorentzRotation.h.
|
inline |
Product with a LorentzVector simply returns the rotated vector.
Definition at line 386 of file LorentzRotation.h.
References one().
|
inline |
Multiply by and assign a*=b becomes a= a*b.
Definition at line 409 of file LorentzRotation.h.
|
inline |
Rotation around specified vector - LT = Rotation(delta,axis)*LT.
Definition at line 454 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::rotate(), and ThePEG::SpinOneLorentzRotation::rotate().
|
inline |
Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
Definition at line 427 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::rotateX(), and ThePEG::SpinOneLorentzRotation::rotateX().
|
inline |
Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
Definition at line 436 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::rotateY(), and ThePEG::SpinOneLorentzRotation::rotateY().
|
inline |
Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
Definition at line 445 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::rotateZ(), and ThePEG::SpinOneLorentzRotation::rotateZ().
|
inline |
The \((1,1)\) component.
Definition at line 299 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s1s1().
|
inline |
The \((1,2)\) component.
Definition at line 304 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s1s2().
|
inline |
The \((1,3)\) component.
Definition at line 309 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s1s3().
|
inline |
The \((1,4)\) component.
Definition at line 314 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s1s4().
|
inline |
The \((1,1)\) component.
Definition at line 319 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s2s1().
|
inline |
The \((1,1)\) component.
Definition at line 324 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s2s2().
|
inline |
The \((1,1)\) component.
Definition at line 329 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s2s3().
|
inline |
The \((1,1)\) component.
Definition at line 334 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s2s4().
|
inline |
The \((1,1)\) component.
Definition at line 339 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s3s1().
|
inline |
The \((1,1)\) component.
Definition at line 344 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s3s2().
|
inline |
The \((1,1)\) component.
Definition at line 349 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s3s3().
|
inline |
The \((1,1)\) component.
Definition at line 354 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s3s4().
|
inline |
The \((1,1)\) component.
Definition at line 359 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s4s1().
|
inline |
The \((1,1)\) component.
Definition at line 364 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s4s2().
|
inline |
The \((1,1)\) component.
Definition at line 369 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s4s3().
|
inline |
The \((1,1)\) component.
Definition at line 374 of file LorentzRotation.h.
References _half, and ThePEG::SpinHalfLorentzRotation::s4s4().
|
inline |
Specify a Lorentz Boost as a vector.
b | The boost vector |
gamma | The \(\gamma\) factor (optional) |
Definition at line 113 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::setBoost(), and ThePEG::SpinOneLorentzRotation::setBoost().
|
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 \(\gamma\) factor (optional) |
Definition at line 102 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::setBoost(), and ThePEG::SpinOneLorentzRotation::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, boost(), 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, boost(), 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, boost(), 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::SpinHalfLorentzRotation::setRotate(), and ThePEG::SpinOneLorentzRotation::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::SpinHalfLorentzRotation::setRotateX(), and ThePEG::SpinOneLorentzRotation::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::SpinHalfLorentzRotation::setRotateZ(), and ThePEG::SpinOneLorentzRotation::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::SpinHalfLorentzRotation::setRotateZ(), and ThePEG::SpinOneLorentzRotation::setRotateZ().
|
inline |
Transform (similar to *= but a.transform(b) becomes a = b*a.
Definition at line 418 of file LorentzRotation.h.
References _half, _one, ThePEG::SpinHalfLorentzRotation::transform(), and ThePEG::SpinOneLorentzRotation::transform().
|
inline |
The tt component.
Definition at line 291 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::tt().
|
inline |
The tx component.
Definition at line 276 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::tx().
|
inline |
The ty component.
Definition at line 281 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::ty().
|
inline |
The tz component.
Definition at line 286 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::tz().
|
inline |
The xt component.
Definition at line 231 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::xt().
|
inline |
The xx component.
Definition at line 216 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::xx().
|
inline |
The xy component.
Definition at line 221 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::xy().
|
inline |
The xz component.
Definition at line 226 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::xz().
|
inline |
The yt component.
Definition at line 251 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::yt().
|
inline |
The yx component.
Definition at line 236 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::yx().
|
inline |
The yy component.
Definition at line 241 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::yy().
|
inline |
The yz component.
Definition at line 246 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::yz().
|
inline |
The zt component.
Definition at line 271 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::zt().
|
inline |
The zx component.
Definition at line 256 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::zx().
|
inline |
The zy component.
Definition at line 261 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::zy().
|
inline |
The zz component.
Definition at line 266 of file LorentzRotation.h.
References _one, and ThePEG::SpinOneLorentzRotation::zz().
|
friend |
The external inverseOf needs to be a friend.
Definition at line 529 of file LorentzRotation.h.
|
private |
The spin- \(\frac12\) rotation.
Definition at line 517 of file LorentzRotation.h.
Referenced by boost(), boostX(), boostY(), boostZ(), half(), inverse(), isIdentity(), operator*(), operator*=(), rotate(), rotateX(), rotateY(), rotateZ(), s1s1(), s1s2(), s1s3(), s1s4(), s2s1(), s2s2(), s2s3(), s2s4(), s3s1(), s3s2(), s3s3(), s3s4(), s4s1(), s4s2(), s4s3(), s4s4(), setBoost(), setBoostX(), setBoostY(), setBoostZ(), setRotate(), setRotateX(), setRotateY(), setRotateZ(), and transform().
|
private |
The spin-1 rotation.
Definition at line 522 of file LorentzRotation.h.
Referenced by boost(), boostX(), boostY(), boostZ(), inverse(), isIdentity(), one(), operator const SpinOneLorentzRotation &(), operator*(), operator*=(), rotate(), rotateX(), rotateY(), rotateZ(), setBoost(), setBoostX(), setBoostY(), setBoostZ(), setRotate(), setRotateX(), setRotateY(), setRotateZ(), transform(), tt(), tx(), ty(), tz(), xt(), xx(), xy(), xz(), yt(), yx(), yy(), yz(), zt(), zx(), zy(), and zz().