ROOT logo
ROOT » GRAF3D » G3D » TRotMatrix

class TRotMatrix: public TNamed


 Manages a detector rotation matrix. See class TGeometry.

Function Members (Methods)

public:
TRotMatrix()
TRotMatrix(const 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)
virtual~TRotMatrix()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Double_tDeterminant() const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_t*GetGLMatrix(Double_t* rGLMatrix) const
virtual const char*TObject::GetIconName() const
virtual Double_t*GetMatrix()
virtual const char*TNamed::GetName() const
virtual Int_tGetNumber() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Double_tGetPhi() const
virtual Double_tGetPsi() const
virtual Double_tGetTheta() const
virtual const char*TNamed::GetTitle() const
virtual Int_tGetType() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsReflection() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TRotMatrix&operator=(const TRotMatrix&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual const Double_t*SetAngles(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetMatrix(const Double_t* matrix)
virtual voidSetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
virtual voidSetReflection()

Data Members

protected:
Double_tfMatrix[9]Rotation matrix
TStringTNamed::fNameobject identifier
Int_tfNumberRotation matrix number
Double_tfPhiphi angle
Double_tfPsipsi angle
Double_tfThetatheta angle
TStringTNamed::fTitleobject title
Int_tfTypeType of matrix (0=identity, 1=reflexion, 2=otherwise)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

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() const
 Determinant() returns the value of the determiant of this matrix
Double_t* GetGLMatrix(Double_t* rGLMatrix) const
  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& b)
 Stream an object of class TRotMatrix.
void SetName(const char* name)
{ }
TRotMatrix()
Double_t* GetMatrix()
{return &fMatrix[0];}
Int_t GetNumber() const
{return fNumber;}
Int_t GetType() const
{return fType;}
Double_t GetTheta() const
{return fTheta;}
Double_t GetPhi() const
{return fPhi;}
Double_t GetPsi() const
{return fPsi;}
Bool_t IsReflection() const
{return TestBit(kReflection);}