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 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)
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, 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.