library: libGeom #include "TGeoCache.h"

# TGeoMatrixCache

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

## class TGeoMatrixCache

| Inheritance Chart:
`TGeoMatrixCache` |

        protected:

          void IncreaseCache()

        public:

                           TGeoMatrixCache()
                           TGeoMatrixCache(Int_t size)
                           TGeoMatrixCache(const TGeoMatrixCache&)
                   virtual ~TGeoMatrixCache()
                     Int_t AddMatrix(TGeoMatrix* matrix)
                      void cd(Int_t mindex)
            static TClass* Class()
                      void ClearMatrix(Int_t index)
                      void GetMatrix(TGeoHMatrix* matrix) const
           virtual TClass* IsA() const
                      void LocalToMaster(const Double_t* local, Double_t* master) const
                      void LocalToMasterBomb(const Double_t* local, Double_t* master) const
                      void LocalToMasterVect(const Double_t* local, Double_t* master) const
                      void MasterToLocal(const Double_t* master, Double_t* local) const
                      void MasterToLocalBomb(const Double_t* master, Double_t* local) const
                      void MasterToLocalVect(const Double_t* master, Double_t* local) const
          TGeoMatrixCache& operator=(const TGeoMatrixCache&)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
                      void Status() const
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

                     Int_t fMatrix        current global transformation
                     Int_t fHandler       current matrix handler
                     Int_t fCacheId       current cache id
                     Int_t fLength        length of current matrix
                    UInt_t fSize[7]       size of matrix caches
                    UInt_t fFree[7]       offset of first free matrices
                 Double_t* fCache[7]      pointers to all caches
                    TBits* fBitsArray[7]  flags for matrix usage
          TGeoMatHandler** fHandlers      handlers for cached matrices

        protected:

          Int_t fGeoMinCacheSize  minimum starting cache size

## Class Description

     Physical tree description.

/* */

TGeoMatrixCache()

     dummy ctor

TGeoMatrixCache(Int_t size)

     default constructor

~TGeoMatrixCache()

     destructor

Int_t AddMatrix(TGeoMatrix *matrix)

     add a global matrix to the first free array of corresponding type

void cd(Int_t mindex)

void ClearMatrix(Int_t mindex)

     release the space occupied by a matrix

void GetMatrix(TGeoHMatrix *matrix) const

     get a matrix from cache

void IncreaseCache()

     doubles the cache size
       printf("Increasing matrix cache %i ...\n", fCacheId);

void Status() const

     print current status of matrix cache

### Inline Functions

                        void LocalToMaster(const Double_t* local, Double_t* master) const
                        void LocalToMasterVect(const Double_t* local, Double_t* master) const
                        void LocalToMasterBomb(const Double_t* local, Double_t* master) const
                        void MasterToLocal(const Double_t* master, Double_t* local) const
                        void MasterToLocalVect(const Double_t* master, Double_t* local) const
                        void MasterToLocalBomb(const Double_t* master, Double_t* local) const
                     TClass* Class()
                     TClass* IsA() const
                        void ShowMembers(TMemberInspector& insp, char* parent)
                        void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)
             TGeoMatrixCache TGeoMatrixCache(const TGeoMatrixCache&)
            TGeoMatrixCache& operator=(const TGeoMatrixCache&)

Author: Andrei Gheata 18/03/02
Last update: root/geom:$Name: $:$Id: TGeoCache.cxx,v 1.35 2005/05/26 13:20:26 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *