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