11 #ifndef ROOT_TRotation 12 #define ROOT_TRotation 46 inline Double_t
XX()
const;
47 inline Double_t
XY()
const;
48 inline Double_t
XZ()
const;
49 inline Double_t
YX()
const;
50 inline Double_t
YY()
const;
51 inline Double_t
YZ()
const;
52 inline Double_t
ZX()
const;
53 inline Double_t
ZY()
const;
54 inline Double_t
ZZ()
const;
106 Double_t
PhiX()
const;
107 Double_t
PhiY()
const;
108 Double_t
PhiZ()
const;
178 TRotation(Double_t, Double_t, Double_t, Double_t, Double_t,
179 Double_t, Double_t, Double_t, Double_t);
213 return fRR->operator()(
fII,jj);
246 return (
fxx == 1.0 &&
fxy == 0.0 &&
fxz == 0.0 &&
247 fyx == 0.0 &&
fyy == 1.0 &&
fyz == 0.0 &&
248 fzx == 0.0 &&
fzy == 0.0 &&
fzz == 1.0) ? kTRUE : kFALSE;
268 return *
this = m.operator * (*this);
TRotation & RotateYEulerAngles(Double_t phi, Double_t theta, Double_t psi)
Rotate using the y-convention.
Double_t PhiY() const
Return Phi.
Double_t operator[](int) const
TRotation & RotateZ(Double_t)
Rotate around z.
Quaternion is a 4-component mathematic object quite convenient when dealing with space rotation (or r...
TRotation & RotateX(Double_t)
Rotate around x.
Double_t operator()(int, int) const
Dereferencing operator const.
Double_t GetXPsi(void) const
Get psi angle.
void SetYPsi(Double_t)
Set YPsi.
TRotation & operator=(const TRotation &)
TRotation & SetXAxis(const TVector3 &axis)
Set X axis.
TRotation & RotateAxes(const TVector3 &newX, const TVector3 &newY, const TVector3 &newZ)
Rotate axes.
Double_t PhiX() const
Return Phi.
void SetXPhi(Double_t)
Set XPhi.
TRotation & SetToIdentity()
void SetYTheta(Double_t)
Set YTheta.
void SetXTheta(Double_t)
Set XTheta.
TRotation & Rotate(Double_t, const TVector3 &)
Rotate along an axis.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t Int_t m
TVector3 is a general three vector class, which can be used for the description of different vectors ...
TRotation & Transform(const TRotation &)
The TRotation class describes a rotation of objects of the TVector3 class.
TRotation & SetYAxis(const TVector3 &axis)
Set Y axis.
TRotationRow & operator=(const TRotationRow &)
TRotation & RotateXEulerAngles(Double_t phi, Double_t theta, Double_t psi)
Rotate using the x-convention.
Double_t PhiZ() const
Return Phi.
void AngleAxis(Double_t &, TVector3 &) const
Rotation defined by an angle and a vector.
Double_t GetYTheta(void) const
Return YTheta.
Bool_t IsIdentity() const
void SetYPhi(Double_t)
Set YPhi.
Bool_t operator!=(const TRotation &) const
Double_t GetYPhi(void) const
Return YPhi.
Double_t GetXPhi(void) const
Return phi angle.
TRotation & RotateY(Double_t)
Rotate around y.
TRotation Inverse() const
TRotation & SetYEulerAngles(Double_t phi, Double_t theta, Double_t psi)
Rotate using the y-convention.
void MakeBasis(TVector3 &xAxis, TVector3 &yAxis, TVector3 &zAxis) const
Make the Z axis into a unit variable.
TRotationRow(const TRotation &, int)
TRotationRow operator[](int) const
TRotation & SetZAxis(const TVector3 &axis)
Set Z axis.
TVector3 operator*(const TVector3 &) const
Double_t ThetaX() const
Return Theta.
Double_t ThetaY() const
Return Theta.
TRotation & operator*=(const TRotation &)
Double_t GetXTheta(void) const
Return XTheta.
Bool_t operator==(const TRotation &) const
void SetXPsi(Double_t)
Set XPsi.
Double_t GetYPsi(void) const
Return YPsi.
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...
Double_t ThetaZ() const
Return Theta.