library: libGeom
#include "TGeoCache.h"

TGeoNodeCache


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

class TGeoNodeCache

Inheritance Chart:
TGeoNodeCache
<-
TGeoCacheDummy

    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 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(Double_t* point = 0) virtual Bool_t PopState(Int_t level, Double_t* point = 0) virtual void PrintNode() const virtual Int_t PushState(Bool_t ovlp, 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)

Data Members

    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

Class Description

 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, Double_t *point)

void Refresh()

Bool_t PopState(Double_t *point)

Bool_t PopState(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
               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.32 2004/12/02 07:22:06 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.