library: libGeom
#include "TGeoMatrix.h"

TGeoMatrix


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

class TGeoMatrix : public TNamed

Inheritance Chart:
TObject
<-
TNamed
<-
TGeoMatrix
<-
TGeoCombiTrans
<-
TGeoGenTrans
TGeoHMatrix
TGeoIdentity
TGeoRotation
TGeoScale
TGeoTranslation
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.


    public:
virtual ~TGeoMatrix() static TClass* Class() virtual Int_t GetByteCount() const void GetHomogenousMatrix(Double_t* hmat) const char* GetPointerName() const virtual const Double_t* GetRotationMatrix() const virtual const Double_t* GetScale() const virtual const Double_t* GetTranslation() const virtual TGeoMatrix& Inverse() const virtual TClass* IsA() const Bool_t IsCombi() const Bool_t IsGeneral() const Bool_t IsIdentity() const Bool_t IsReflection() const Bool_t IsRegistered() const Bool_t IsRotAboutZ() const Bool_t IsRotation() const Bool_t IsScale() const Bool_t IsTranslation() const virtual void LocalToMaster(const Double_t* local, Double_t* master) const virtual void LocalToMasterBomb(const Double_t* local, Double_t* master) const virtual void LocalToMasterVect(const Double_t* local, Double_t* master) const virtual void MasterToLocal(const Double_t* master, Double_t* local) const virtual void MasterToLocalBomb(const Double_t* master, Double_t* local) const virtual void MasterToLocalVect(const Double_t* master, Double_t* local) const TGeoMatrix& operator*(const TGeoMatrix& right) const TGeoMatrix& operator=(const TGeoMatrix& matrix) Bool_t operator==(const TGeoMatrix& other) const virtual void Print(Option_t* option) const virtual void RegisterYourself() virtual void RotateX(Double_t) virtual void RotateY(Double_t) virtual void RotateZ(Double_t) void SetDefaultName() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    public:
static const TGeoMatrix::EGeoTransfTypes kGeoIdentity static const TGeoMatrix::EGeoTransfTypes kGeoTranslation static const TGeoMatrix::EGeoTransfTypes kGeoRotation static const TGeoMatrix::EGeoTransfTypes kGeoScale static const TGeoMatrix::EGeoTransfTypes kGeoReflection static const TGeoMatrix::EGeoTransfTypes kGeoRegistered static const TGeoMatrix::EGeoTransfTypes kGeoSavePrimitive static const TGeoMatrix::EGeoTransfTypes kGeoMatrixOwned static const TGeoMatrix::EGeoTransfTypes kGeoCombiTrans static const TGeoMatrix::EGeoTransfTypes kGeoGenTrans

Class Description


Bool_t IsRotAboutZ() const
 Returns true if no rotation or the rotation is about Z axis

Int_t GetByteCount() const
 Get total size in bytes of this

char* GetPointerName() const
 Provide a pointer name containing uid.

void GetHomogenousMatrix(Double_t *hmat) const
 The homogenous matrix associated with the transformation is used for
 piling up's and visualization. A homogenous matrix is a 4*4 array
 containing the translation, the rotation and the scale components

          | R00*sx  R01    R02    dx |
          | R10    R11*sy  R12    dy |
          | R20     R21   R22*sz  dz |
          |  0       0      0      1 |

   where Rij is the rotation matrix, (sx, sy, sz) is the scale
 transformation and (dx, dy, dz) is the translation.

void LocalToMaster(const Double_t *local, Double_t *master) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse

void LocalToMasterVect(const Double_t *local, Double_t *master) const
 convert a vector by multiplying its column vector (x, y, z, 1) to matrix inverse

void LocalToMasterBomb(const Double_t *local, Double_t *master) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse

void MasterToLocal(const Double_t *master, Double_t *local) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix

void MasterToLocalVect(const Double_t *master, Double_t *local) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix

void MasterToLocalBomb(const Double_t *master, Double_t *local) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix

void Print(Option_t *) const
 print the matrix in 4x4 format

void RegisterYourself()

void SetDefaultName()
 If no name was supplied in the ctor, the type of transformation is checked.
 A letter will be prepended to the name :
   t - translation
   r - rotation
   s - scale
   c - combi (translation + rotation)
   g - general (tr+rot+scale)
 The index of the transformation in gGeoManager list of transformations will
 be appended.



Inline Functions


                   void ~TGeoMatrix()
            TGeoMatrix& operator=(const TGeoMatrix& matrix)
            TGeoMatrix& operator*(const TGeoMatrix& right) const
                 Bool_t operator==(const TGeoMatrix& other) const
                 Bool_t IsIdentity() const
                 Bool_t IsTranslation() const
                 Bool_t IsRotation() const
                 Bool_t IsReflection() const
                 Bool_t IsScale() const
                 Bool_t IsCombi() const
                 Bool_t IsGeneral() const
                 Bool_t IsRegistered() const
        const Double_t* GetTranslation() const
        const Double_t* GetRotationMatrix() const
        const Double_t* GetScale() const
            TGeoMatrix& Inverse() const
                   void RotateX(Double_t)
                   void RotateY(Double_t)
                   void RotateZ(Double_t)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)


Author: Andrei Gheata 25/10/01
Last update: root/geom:$Name: $:$Id: TGeoMatrix.cxx,v 1.39 2005/04/05 08:54:12 brun 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.