ThePEG::LorentzRotation Class Reference

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>

List of all members.

Public Member Functions

bool isIdentity () const
 Returns true if the Identity matrix.
LorentzRotation inverse () const
 Return the inverse.
LorentzRotationinvert ()
 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
LorentzRotationsetBoost (double bx, double by, double bz, double gamma=-1.)
 Specify the components of a Lorentz Boost.
LorentzRotationsetBoost (const Boost &b, double gamma=-1.)
 Specify a Lorentz Boost as a vector.
LorentzRotationsetBoostX (double boost)
 Specify a boost by the given factor along the x-axis.
LorentzRotationsetBoostY (double boost)
 Specify a boost by the given factor along the y-axis.
LorentzRotationsetBoostZ (double boost)
 Specify a boost by the given factor along the z-axis.
LorentzRotationsetRotate (double delta, const Axis &axis)
 Specify a rotation about a general axis by the angle given.
LorentzRotationsetRotateX (double angle)
 Specify a rotation by the given angle about the x-axis.
LorentzRotationsetRotateY (double angle)
 Specify a rotation by the given angle about the y-axis.
LorentzRotationsetRotateZ (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 SpinHalfLorentzRotationhalf () const
 The spin-$\frac12$ transformation.
const SpinOneLorentzRotationone () 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.
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 &lt) const
 Product of two LorentzRotations (this) * lt - matrix multiplication.
LorentzRotationoperator*= (const LorentzRotation &lt)
 Multiply by and assign a*=b becomes a= a*b.
LorentzRotationtransform (const LorentzRotation &lt)
 Transform (similar to *= but a.transform(b) becomes a = b*a.
LorentzRotationrotateX (double delta)
 Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
LorentzRotationrotateY (double delta)
 Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
LorentzRotationrotateZ (double delta)
 Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
LorentzRotationrotate (double delta, const Axis &axis)
 Rotation around specified vector - LT = Rotation(delta,axis)*LT.
LorentzRotationboostX (double beta)
 Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
LorentzRotationboostY (double beta)
 Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
LorentzRotationboostZ (double beta)
 Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.
LorentzRotationboost (double bx, double by, double bz, double gamma=-1.)
 boost equivalent to LT = Boost(bx,by,bz) * LT
LorentzRotationboost (const Boost &bv, double gamma=-1.)
 boost equivalent to LT = Boost(bv) * LT

Private Attributes

SpinHalfLorentzRotation _half
 The spin-$\frac12$ rotation.
SpinOneLorentzRotation _one
 The spin-1 rotation.

Friends

LorentzRotation inverseOf (const LorentzRotation &lt)
 The external inverseOf needs to be a friend.


Detailed Description

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.


Constructor & Destructor Documentation

ThePEG::LorentzRotation::LorentzRotation (  )  [inline]

Default constructor.

Gives a unit matrix.

Definition at line 42 of file LorentzRotation.h.

ThePEG::LorentzRotation::LorentzRotation ( double  bx,
double  by,
double  bz,
double  gamma = -1. 
) [inline]

Constructor giving the components of a Lorentz boost.

Parameters:
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.

ThePEG::LorentzRotation::LorentzRotation ( const Boost b,
double  gamma = -1. 
) [inline]

Constructor giving the vector for a Lorentz boost.

Parameters:
b The boost vector
gamma The $\gamma$ factor (optional)

Definition at line 59 of file LorentzRotation.h.


Member Function Documentation

LorentzRotation& ThePEG::LorentzRotation::setBoost ( double  bx,
double  by,
double  bz,
double  gamma = -1. 
) [inline]

Specify the components of a Lorentz Boost.

Parameters:
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::SpinOneLorentzRotation::setBoost(), and ThePEG::SpinHalfLorentzRotation::setBoost().

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

Specify a Lorentz Boost as a vector.

Parameters:
b The boost vector
gamma The $\gamma$ 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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
lt The LorentzRotation we are multiplying

Definition at line 399 of file LorentzRotation.h.

References _half, and _one.

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

boost equivalent to LT = Boost(bx,by,bz) * LT

Parameters:
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::SpinOneLorentzRotation::boost(), and ThePEG::SpinHalfLorentzRotation::boost().

LorentzRotation& ThePEG::LorentzRotation::boost ( const Boost bv,
double  gamma = -1. 
) [inline]

boost equivalent to LT = Boost(bv) * LT

Parameters:
bv The boost
gamma The $\gamma$ factor (optional)

Definition at line 505 of file LorentzRotation.h.

References _half, _one, ThePEG::SpinOneLorentzRotation::boost(), and ThePEG::SpinHalfLorentzRotation::boost().


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

Generated on Thu Apr 29 12:43:26 2010 for ThePEG by  doxygen 1.5.5