| library: libGeom #include "TGeoCache.h"
 | 
TGeoNodeCache
class description - source file - inheritance tree (.pdf)
    public:
                           TGeoNodeCache()
                           TGeoNodeCache(Bool_t nodeid)
                           TGeoNodeCache(Int_t size, Bool_t nodeid = kFALSE)
                           TGeoNodeCache(const TGeoNodeCache&)
                   virtual ~TGeoNodeCache()
                     Int_t AddNode(TGeoNode* node)
                      void BuildIdArray()
                     Int_t CacheId(Int_t nindex) const
                      void CdCache()
            virtual Bool_t CdDown(Int_t index, Bool_t make = kTRUE)
                      void CdNode(Int_t nodeid)
              virtual void CdTop()
              virtual void CdUp()
            static TClass* Class()
              virtual void CleanCache()
              virtual void ClearDaughter(Int_t index)
              virtual void ClearNode(Int_t nindex)
              virtual void Compact()
              virtual void DeleteCaches()
            virtual Bool_t DumpNodes()
                      void FillIdBranch(const Int_t* br, Int_t startlevel = 0)
             virtual void* GetBranch() const
              virtual void GetBranchNames(Int_t*) const
              virtual void GetBranchNumbers(Int_t*, Int_t*) const
              virtual void GetBranchOnlys(Int_t*) const
      virtual TGeoHMatrix* GetCurrentMatrix() const
                     Int_t GetCurrentNode() const
                     Int_t GetCurrentNodeId() const
             virtual Int_t GetFreeSpace() const
              const Int_t* GetIdBranch() const
                     Int_t GetLevel() const
             virtual void* GetMatrices() const
          TGeoMatrixCache* GetMatrixPool() const
         virtual TGeoNode* GetMother(Int_t up = 1) const
      virtual TGeoHMatrix* GetMotherMatrix(Int_t) const
             virtual Int_t GetNfree() const
         virtual TGeoNode* GetNode() const
             virtual Int_t GetNodeId() const
             virtual Int_t GetNused() const
       virtual const char* GetPath() const
                     Int_t GetSize() const
                     Int_t GetStackLevel() const
                     Int_t GetTopNode() const
             virtual Int_t GetUsageCount() const
                    Bool_t HasIdArray() const
              virtual void IncreasePool(Int_t size)
              virtual void IncrementUsageCount()
                     Int_t Index(Int_t nindex) const
           virtual TClass* IsA() const
            virtual Bool_t IsDummy() 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
            TGeoNodeCache& operator=(const TGeoNodeCache&)
              virtual void PopDummy(Int_t ipop = 9999)
            virtual Bool_t PopState(Int_t& nmany, Double_t* point = 0)
            virtual Bool_t PopState(Int_t& nmany, Int_t level, Double_t* point = 0)
              virtual void PrintNode() const
             virtual Int_t PushState(Bool_t ovlp, Int_t ntmany = 0, Int_t startlevel = 0, Double_t* point = 0)
              virtual void Refresh()
                      void SetDefaultLevel(Int_t level)
                    Bool_t SetPersistency()
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
                      void Status() const
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
    private:
                Int_t fSize          current size of the cache
                Int_t fNused         number of used nodes
                Int_t fDefaultLevel  level down to which nodes will be persistent
                Int_t fTopNode       top level physical node
                Int_t fCount         total usage count
                Int_t fCountLimit    count limit for which nodes become persistent
                Int_t fCurrentNode   current physical node
                Int_t fCurrentCache  current cache number
                Int_t fCurrentIndex  index of current node in current cache
               Int_t* fBranch        nodes from current branch
               Int_t* fMatrices      matrix indices from current branch
                Int_t fStackLevel    level in the stack of states
         TGeoHMatrix* fGlobalMatrix  current global matrix
      TGeoNodeArray** fCache         [128] cache of node arrays
    protected:
              Double_t fGeoCacheUsageRatio    percentage of total usage count that triggers persistency
                 Int_t fGeoCacheMaxDaughters  max ndaugters for TGeoNodeArray
                 Int_t fGeoCacheMaxSize       maximum initial cache size
                 Int_t fGeoCacheDefaultLevel  default level down to store nodes
                 Int_t fGeoCacheMaxLevels     maximum supported number of levels
                 Int_t fGeoCacheObjArrayInd   maximum number of daughters stored as node arrays
                 Int_t fGeoCacheStackSize     maximum size of the stack
                 Int_t fLevel                 level in the current branch
                 Int_t fCurrentID             unique ID of current node
               TString fPath                  path for current branch
            TObjArray* fStack                 stack of cache states
                Int_t* fNodeIdArray           ! array of node id's
                 Int_t fIndex                 index in array of ID's
      TGeoMatrixCache* fMatrixPool            pool of compressed global matrices
                 Int_t fIdBranch[30]          current branch of indices
 Physical tree description.
/*
 */
*/
 TGeoNodeCache()
 dummy constructor
 TGeoNodeCache(Bool_t nodeid)
 dummy constructor
 TGeoNodeCache(Int_t size, Bool_t nodeid)
 constructor
 ~TGeoNodeCache()
 dtor
void BuildIdArray()
 Builds node id array.
Int_t GetCurrentNodeId() const
 Returns a fixed ID for current physical node
void Compact()
 compact arrays
void DeleteCaches()
 delete all node caches
Int_t AddNode(TGeoNode *node)
 add a logical node in the cache corresponding to ndaughters
void CdNode(Int_t nodeid) 
 Change current path to point to the node having this id.
 Node id has to be in range : 0 to fNNodes-1 (no check for performance reasons)
Bool_t CdDown(Int_t index, Bool_t make)
 make daughter 'index' of current node current
 first make sure that current node is also current in its cache
void CdUp()
 change current path to mother.
void CleanCache()
 free nodes which are not persistent from cache
 except the current branch
 first compute count limit for persistency
Bool_t DumpNodes()
 dump all non-persistent branches
void ClearNode(Int_t nindex)
 clear the only the node nindex
   printf("clearing node %x\n", (UInt_t)nindex);
TGeoNode* GetMother(Int_t up) const
 get mother of current logical node, <up> levels up
Int_t GetNodeId() const
 Get unique node id.
const char* GetPath()
 prints the current path
void PrintNode() const
Int_t PushState(Bool_t ovlp, Int_t startlevel, Int_t nmany, Double_t *point)
void Refresh()
Bool_t PopState(Int_t &nmany, Double_t *point)
Bool_t PopState(Int_t &nmany, Int_t level, Double_t *point)
Bool_t SetPersistency()
void Status() const
 print status of cache
Inline Functions
                   Int_t CacheId(Int_t nindex) const
                    void CdCache()
                    void CdTop()
                    void ClearDaughter(Int_t index)
                    void FillIdBranch(const Int_t* br, Int_t startlevel = 0)
            const Int_t* GetIdBranch() const
                   void* GetBranch() const
                    void GetBranchNames(Int_t*) const
                    void GetBranchNumbers(Int_t*, Int_t*) const
                    void GetBranchOnlys(Int_t*) const
                   void* GetMatrices() const
            TGeoHMatrix* GetCurrentMatrix() const
                   Int_t GetCurrentNode() const
            TGeoHMatrix* GetMotherMatrix(Int_t) const
               TGeoNode* GetNode() const
                   Int_t GetStackLevel() const
                   Int_t GetTopNode() const
                   Int_t GetLevel() const
                   Int_t GetFreeSpace() const
        TGeoMatrixCache* GetMatrixPool() const
                   Int_t GetNfree() const
                   Int_t GetNused() const
                   Int_t GetSize() const
                   Int_t GetUsageCount() const
                  Bool_t HasIdArray() const
                    void IncreasePool(Int_t size)
                    void IncrementUsageCount()
                   Int_t Index(Int_t nindex) const
                  Bool_t IsDummy() const
                    void LocalToMaster(const Double_t* local, Double_t* master) const
                    void MasterToLocal(const Double_t* master, Double_t* local) const
                    void LocalToMasterVect(const Double_t* local, Double_t* master) const
                    void MasterToLocalVect(const Double_t* master, Double_t* local) const
                    void LocalToMasterBomb(const Double_t* local, Double_t* master) const
                    void MasterToLocalBomb(const Double_t* master, Double_t* local) const
                    void PopDummy(Int_t ipop = 9999)
                    void SetDefaultLevel(Int_t level)
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
           TGeoNodeCache TGeoNodeCache(const TGeoNodeCache&)
          TGeoNodeCache& operator=(const TGeoNodeCache&)
Author: Andrei Gheata 18/03/02
Last update: root/geom:$Name:  $:$Id: TGeoCache.cxx,v 1.37 2005/09/02 13:54:38 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.