library: libGraf3d
#include "TRotMatrix.h"

TRotMatrix


class description - header file - source file - inheritance tree (.pdf)

class TRotMatrix : public TNamed

Inheritance Chart:
TObject
<-
TNamed
<-
TRotMatrix
    private:
virtual void SetReflection() public:
TRotMatrix() TRotMatrix(const char* name, const char* title, Double_t* matrix) TRotMatrix(const char* name, const char* title, Double_t theta, Double_t phi, Double_t psi) TRotMatrix(const char* name, const char* title, Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) TRotMatrix(const TRotMatrix&) virtual ~TRotMatrix() static TClass* Class() virtual Double_t Determinant() const virtual Double_t* GetGLMatrix(Double_t* rGLMatrix) const virtual Double_t* GetMatrix() virtual Int_t GetNumber() const virtual Double_t GetPhi() const virtual Double_t GetPsi() const virtual Double_t GetTheta() const virtual Int_t GetType() const virtual TClass* IsA() const virtual Bool_t IsReflection() const TRotMatrix& operator=(const TRotMatrix&) virtual const Double_t* SetAngles(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) virtual void SetMatrix(const Double_t* matrix) virtual void SetName(const char* name) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Int_t fNumber Rotation matrix number Int_t fType Type of matrix (0=identity, 1=reflexion, 2=otherwise) Double_t fTheta theta angle Double_t fPhi phi angle Double_t fPsi psi angle Double_t fMatrix[9] Rotation matrix public:
static const enum TRotMatrix:: kReflection

Class Description

______________________________________________________________________________

 Manages a detector rotation matrix. See class TGeometry.

TRotMatrix()
 RotMatrix default constructor.
TRotMatrix(const char *name, const char *title, Double_t *matrix)
 RotMatrix normal constructor.
TRotMatrix(const char *name, const char *title, Double_t theta, Double_t phi, Double_t psi)
 RotMatrix normal constructor.
TRotMatrix(const char *name, const char *title, Double_t theta1, Double_t phi1 , Double_t theta2, Double_t phi2 , Double_t theta3, Double_t phi3)
 RotMatrix normal constructor defined a la GEANT.

 The TRotMatrix constructor with six angles uses the GEANT convention:

 theta1 is the polar angle of the x-prim axis in the main reference system
 (MRS), theta2 and theta3 have the same meaning for the y-prim and z-prim
 axis.

 Phi1 is the azimuthal angle of the x-prim in the MRS and phi2 and phi3
 have the same meaning for y-prim and z-prim.


 for example, the unit matrix is defined in the following way.

     x-prim || x, y-prim || y, z-prim || z

     means:  theta1=90, theta2=90, theta3=0, phi1=0, phi2=90, phi3=0
~TRotMatrix()
 RotMatrix default destructor.
Double_t Determinant()
 Determinant() returns the value of the determiant of this matrix
Double_t* GetGLMatrix(Double_t *rGLMatrix)
  Convert this matrix to the OpenGL [4x4]

  [  fMatrix[0]   fMatrix[1]   fMatrix[2]    0  ]
  [  fMatrix[3]   fMatrix[4]   fMatrix[5]    0  ]
  [  fMatrix[6]   fMatrix[7]   fMatrix[8]    0  ]
  [     0             0           0          1  ]

  Input:
  -----
  Double_t *rGLMatrix - pointer to Double_t 4x4 buffer array

  Return:
  ------
  Double_t pointer to the input buffer
const Double_t* SetAngles(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2,Double_t theta3, Double_t phi3)
 theta1 is the polar angle of the x-prim axis in the main reference system
 (MRS), theta2 and theta3 have the same meaning for the y-prim and z-prim
 axis.

 Phi1 is the azimuthal angle of the x-prim in the MRS and phi2 and phi3
 have the same meaning for y-prim and z-prim.


 for example, the unit matrix is defined in the following way.

     x-prim || x, y-prim || y, z-prim || z

     means:  theta1=90, theta2=90, theta3=0, phi1=0, phi2=90, phi3=0
void SetMatrix(const Double_t *matrix)
 copy predefined 3x3 matrix into TRotMatrix object
void SetReflection()
 SetReflection() -  checks whether the determinant of this
                    matrix defines the reflection transformation
                    and set the "reflection" flag if any
void Streamer(TBuffer &R__b)
 Stream an object of class TRotMatrix.

TRotMatrix()
Double_t* GetMatrix()
Int_t GetNumber()
Int_t GetType()
Double_t GetTheta()
Double_t GetPhi()
Double_t GetPsi()
Bool_t IsReflection()
void SetName(const char *name)

Author: Rene Brun 14/09/95
Last update: root/g3d:$Name: $:$Id: TRotMatrix.cxx,v 1.4 2005/11/24 17:28:07 couet Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


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.