library: libPhysics #include "TRotation.h" |
TRotation
class description - header file - source file - inheritance tree (.pdf)
protected:
TRotation(Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t)
public:
TRotation()
TRotation(const TRotation&)
TRotation(const TQuaternion&)
TRotation operator*(const TRotation&) const
TRotation Inverse() const
virtual ~TRotation()
void AngleAxis(Double_t&, TVector3&) const
static TClass* Class()
Double_t GetXPhi() const
Double_t GetXPsi() const
Double_t GetXTheta() const
Double_t GetYPhi() const
Double_t GetYPsi() const
Double_t GetYTheta() const
TRotation& Invert()
virtual TClass* IsA() const
Bool_t IsIdentity() const
void MakeBasis(TVector3& xAxis, TVector3& yAxis, TVector3& zAxis) const
Bool_t operator!=(const TRotation& m) const
Double_t operator()(int, int) const
TVector3 operator*(const TVector3& p) const
TRotation& operator*=(const TRotation& m)
TRotation& operator=(const TRotation& m)
Bool_t operator==(const TRotation& m) const
TRotation::TRotationRow operator[](int i) const
Double_t PhiX() const
Double_t PhiY() const
Double_t PhiZ() const
TRotation& Rotate(Double_t, const TVector3&)
TRotation& Rotate(Double_t psi, const TVector3* p)
TRotation& RotateAxes(const TVector3& newX, const TVector3& newY, const TVector3& newZ)
TRotation& RotateX(Double_t)
TRotation& RotateXEulerAngles(Double_t phi, Double_t theta, Double_t psi)
TRotation& RotateY(Double_t)
TRotation& RotateYEulerAngles(Double_t phi, Double_t theta, Double_t psi)
TRotation& RotateZ(Double_t)
TRotation& SetToIdentity()
TRotation& SetXAxis(const TVector3& axis)
TRotation& SetXAxis(const TVector3& axis, const TVector3& xyPlane)
TRotation& SetXEulerAngles(Double_t phi, Double_t theta, Double_t psi)
void SetXPhi(Double_t)
void SetXPsi(Double_t)
void SetXTheta(Double_t)
TRotation& SetYAxis(const TVector3& axis)
TRotation& SetYAxis(const TVector3& axis, const TVector3& yzPlane)
TRotation& SetYEulerAngles(Double_t phi, Double_t theta, Double_t psi)
void SetYPhi(Double_t)
void SetYPsi(Double_t)
void SetYTheta(Double_t)
TRotation& SetZAxis(const TVector3& axis)
TRotation& SetZAxis(const TVector3& axis, const TVector3& zxPlane)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Double_t ThetaX() const
Double_t ThetaY() const
Double_t ThetaZ() const
TRotation& Transform(const TRotation& m)
Double_t XX() const
Double_t XY() const
Double_t XZ() const
Double_t YX() const
Double_t YY() const
Double_t YZ() const
Double_t ZX() const
Double_t ZY() const
Double_t ZZ() const
protected:
Double_t fxx
Double_t fxy
Double_t fxz
Double_t fyx
Double_t fyy
Double_t fyz
Double_t fzx
Double_t fzy
Double_t fzz
TRotation(const TQuaternion & Q)
Constructor for a rotation based on a Quaternion
if magnitude of quaternion is null, creates identity rotation
if quaternion is non-unit, creates rotation corresponding to the normalized (unit) quaternion
TRotation & SetXEulerAngles(Double_t phi, Double_t theta, Double_t psi)
Rotate using the x-convention (Landau and Lifshitz, Goldstein, &c) by
doing the explicit rotations. This is slightly less efficient than
directly applying the rotation, but makes the code much clearer. My
presumption is that this code is not going to be a speed bottle neck.
Author: Peter Malzacher 19/06/99
Last update: root/physics:$Name: $:$Id: TRotation.cxx,v 1.11 2006/05/17 06:49:59 brun Exp $
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.