9 #ifndef THEPEG_LorentzRotation_H
10 #define THEPEG_LorentzRotation_H
14 #include "SpinOneLorentzRotation.h"
15 #include "SpinHalfLorentzRotation.h"
16 #include "LorentzRotation.fh"
52 :
_half(bx,by,bz,gamma),
_one(bx,by,bz,gamma) {}
90 std::ostream &
print( std::ostream & os )
const;
384 template <
typename Value>
391 template <
typename Value>
LorentzRotation & setBoostX(double boost)
Specify a boost by the given factor along the x-axis.
LorentzRotation(const Boost &b, double gamma=-1.)
Constructor giving the vector for a Lorentz boost.
Complex s1s4() const
The component.
LorentzRotation & setBoost(const Boost &b, double gamma=-1.)
Specify a Lorentz Boost as a vector.
SpinOneLorentzRotation & boostZ(double beta)
Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.
double zx() const
The zx component.
double yt() const
The yt component.
A 4-component Lorentz vector.
SpinHalfLorentzRotation & boostY(double beta)
Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
SpinOneLorentzRotation _one
The spin-1 rotation.
Complex s4s3() const
The component.
double tz() const
The tz component.
SpinHalfLorentzRotation & 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.
Complex s1s2() const
The component.
Complex s3s3() const
The component.
SpinOneLorentzRotation & rotateZ(double delta)
Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
SpinOneLorentzRotation inverse() const
Return the inverse.
double yx() const
The yx component.
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
double xy() const
The xy component.
SpinHalfLorentzRotation & rotateY(double delta)
Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
LorentzRotation & rotate(double delta, const Axis &axis)
Rotation around specified vector - LT = Rotation(delta,axis)*LT.
Complex s2s4() const
The component.
LorentzVector< Value > operator*(const LorentzVector< Value > &lv) const
Product with a LorentzVector simply returns the rotated vector.
SpinHalfLorentzRotation & setBoostY(double &boost)
Specify a boost by the given factor along the y-axis.
Complex s1s2() const
The component.
Complex s2s2() const
The component.
LorentzRotation(double bx, double by, double bz, double gamma=-1.)
Constructor giving the components of a Lorentz boost.
double zt() const
The zt component.
double yy() const
The yy component.
LorentzRotation & setBoost(double bx, double by, double bz, double gamma=-1.)
Specify the components of a Lorentz Boost.
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to prov...
SpinOneLorentzRotation & setRotateX(double angle)
Specify a rotation by the given angle about the x-axis.
SpinHalfLorentzRotation & rotateX(double delta)
Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
LorentzRotation & rotateZ(double delta)
Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
double yz() const
The yz component.
Complex s2s3() const
The component.
Complex s2s3() const
The component.
LorentzRotation & rotateY(double delta)
Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
double zy() const
The zy component.
SpinOneLorentzRotation & rotateX(double delta)
Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
This is the main namespace within which all identifiers in ThePEG are declared.
LorentzRotation & boost(double bx, double by, double bz, double gamma=-1.)
boost equivalent to LT = Boost(bx,by,bz) * LT
SpinOneLorentzRotation & transform(const SpinOneLorentzRotation <)
Transform (similar to *= but a.transform(b) becomes a = b*a.
SpinHalfLorentzRotation inverse() const
Return the inverse.
double xz() const
The xz component.
std::ostream & print(std::ostream &os) const
output operator
SpinHalfLorentzRotation & transform(const SpinHalfLorentzRotation &)
Transform (similar to *= but a.transform(b) becomes a = b*a.
Complex s3s1() const
The component.
Complex s4s1() const
The component.
SpinOneLorentzRotation & boostX(double beta)
Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
double ty() const
The ty component.
Complex s4s3() const
The component.
LorentzRotation & setRotateY(double angle)
Specify a rotation by the given angle about the y-axis.
Complex s2s1() const
The component.
double zz() const
The zz component.
SpinOneLorentzRotation & setRotate(double delta, const Axis &axis)
Specify a rotation about a general axis by the angle given.
Complex s1s4() const
The component.
SpinHalfLorentzRotation & setBoostX(double &boost)
Specify a boost by the given factor along the x-axis.
double yx() const
The yx component.
friend LorentzRotation inverseOf(const LorentzRotation <)
The external inverseOf needs to be a friend.
Complex s4s2() const
The component.
double zx() const
The zx component.
LorentzRotation & invert()
Inverts the LorentzRotation matrix.
Complex s1s1() const
The component.
LorentzRotation & boostZ(double beta)
Pure boost along the z-axis; equivalent to LT = BoostX(beta) * LT.
LorentzRotation inverse() const
Return the inverse.
double zt() const
The zt component.
SpinOneLorentzRotation & boost(double bx, double by, double bz, double gamma=-1.)
boost equivalent to LT = Boost(bx,by,bz) * LT
SpinOneLorentzRotation & rotateY(double delta)
Rotation around the y-axis; equivalent to LT = RotationY(delta) * LT.
SpinOneLorentzRotation & boostY(double beta)
Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
The SpinOneLorentzRotation class is ...
double tt() const
The tt component.
bool isIdentity() const
Returns true if the Identity matrix.
SpinOneLorentzRotation & rotate(double delta, const Axis &axis)
Rotation around specified vector - LT = Rotation(delta,axis)*LT.
SpinHalfLorentzRotation _half
The spin- rotation.
const SpinOneLorentzRotation & one() const
The spin-1 transformation.
Complex s3s4() const
The component.
LorentzRotation & setBoostY(double boost)
Specify a boost by the given factor along the y-axis.
double xt() const
The xt component.
Complex s1s3() const
The component.
SpinHalfLorentzRotation & setRotateZ(double &angle)
Specify a rotation by the given angle about the z-axis.
Complex s3s4() const
The component.
Complex s2s1() const
The component.
LorentzRotation & setBoostZ(double boost)
Specify a boost by the given factor along the z-axis.
Complex s3s3() const
The component.
SpinHalfLorentzRotation & setRotate(double delta, const Axis &axis)
Specify a rotation about a general axis by the angle given.
LorentzRotation inverseOf(const LorentzRotation <)
Global method to get the inverse.
const SpinHalfLorentzRotation & half() const
The spin- transformation.
Complex s3s1() const
The component.
LorentzRotation & setRotateX(double angle)
Specify a rotation by the given angle about the x-axis.
LorentzRotation & boost(const Boost &bv, double gamma=-1.)
boost equivalent to LT = Boost(bv) * LT
The Lorentz5Vector inherits from the LorentzVector class.
SpinHalfLorentzRotation & boostX(double beta)
Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
SpinHalfLorentzRotation & setRotateX(double &angle)
Specify a rotation by the given angle about the x-axis.
double ty() const
The ty component.
LorentzRotation & boostY(double beta)
Pure boost along the y-axis; equivalent to LT = BoostX(beta) * LT.
double yz() const
The yz component.
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.
Complex s4s2() const
The component.
double xx() const
The xx component.
LorentzRotation & rotateX(double delta)
Rotation around the x-axis; equivalent to LT = RotationX(delta) * LT.
bool isIdentity() const
Returns true if the Identity matrix.
double tx() const
The tx component.
double xy() const
The xy component.
LorentzRotation & transform(const LorentzRotation <)
Transform (similar to *= but a.transform(b) becomes a = b*a.
double tz() const
The tz component.
LorentzRotation & operator*=(const LorentzRotation <)
Multiply by and assign a*=b becomes a= a*b.
SpinHalfLorentzRotation & rotateZ(double delta)
Rotation around the z-axis; equivalent to LT = RotationZ(delta) * LT.
vector< T > & operator<<(vector< T > &tv, const U &u)
Overload the left shift operator for vector to push_back objects to a vector.
The SpinHalfLorentzRotation class is designed to offer the same features as the HepLorentzRotation cl...
double xx() const
The xx component.
double yy() const
The yy component.
LorentzRotation()
Default constructor.
Complex s3s2() const
The component.
LorentzRotation & boostX(double beta)
Pure boost along the x-axis; equivalent to LT = BoostX(beta) * LT.
double xz() const
The xz component.
bool isIdentity() const
Returns true if the Identity matrix.
Complex s2s4() const
The component.
double yt() const
The yt component.
Complex s3s2() const
The component.
Lorentz5Vector< Value > operator*(const Lorentz5Vector< Value > &lv) const
Product with a Lorentz5Vector simply returns the rotated vector.
SpinHalfLorentzRotation & rotate(double delta, const Axis &axis)
Rotation around specified vector - LT = Rotation(delta,axis)*LT.
Complex s2s2() const
The component.
LorentzRotation & setRotateZ(double angle)
Specify a rotation by the given angle about the z-axis.
SpinHalfLorentzRotation & setBoost(double bx, double by, double bz, double gamma=-1.)
Specify the components of a Lorentz Boost.
double tx() const
The tx component.
SpinOneLorentzRotation & setRotateZ(double angle)
Specify a rotation by the given angle about the z-axis.
Complex s1s1() const
The component.
Complex s4s4() const
The component.
SpinOneLorentzRotation & setBoost(double bx, double by, double bz, double gamma=-1.)
Specify the components of a Lorentz Boost.
double zz() const
The zz component.
double zy() const
The zy component.
double xt() const
The xt component.
Complex s4s4() const
The component.
Complex s1s3() const
The component.
double tt() const
The tt component.
Complex s4s1() const
The component.