12 #ifndef ROOT_TRotMatrix
13 #define ROOT_TRotMatrix
28 class TRotMatrix :
public TNamed {
30 virtual void SetReflection();
47 TRotMatrix(
const char *name,
const char *title, Double_t *matrix);
48 TRotMatrix(
const char *name,
const char *title, Double_t theta, Double_t phi, Double_t psi);
49 TRotMatrix(
const char *name,
const char *title, Double_t theta1, Double_t phi1,
50 Double_t theta2, Double_t phi2,
51 Double_t theta3, Double_t phi3);
52 virtual ~TRotMatrix();
53 virtual Double_t Determinant()
const ;
54 virtual Double_t* GetMatrix() {
return &fMatrix[0];}
55 virtual Int_t GetNumber()
const {
return fNumber;}
56 virtual Int_t GetType()
const {
return fType;}
57 virtual Double_t GetTheta()
const {
return fTheta;}
58 virtual Double_t GetPhi()
const {
return fPhi;}
59 virtual Double_t GetPsi()
const {
return fPsi;}
60 virtual Double_t* GetGLMatrix(Double_t *rGLMatrix)
const ;
61 virtual Bool_t IsReflection()
const {
return TestBit(kReflection);}
62 virtual const Double_t* SetAngles(Double_t theta1, Double_t phi1,Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3);
63 virtual void SetMatrix(
const Double_t *matrix);
64 virtual void SetName(
const char *name);
66 ClassDef(TRotMatrix,2)
69 inline void TRotMatrix::SetName(
const char *) { }