library: libGeom
#include "TGeoCache.h"

TGeoNodeArray


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

class TGeoNodeArray : public TObject

Inheritance Chart:
TObject
<-
TGeoNodeArray
<-
TGeoNodeObjArray

    protected:
TGeoNodeArray(const TGeoNodeArray&) TGeoNodeArray& operator=(const TGeoNodeArray&) public:
TGeoNodeArray() TGeoNodeArray(Int_t ndaughters, Int_t size = 0) virtual ~TGeoNodeArray() virtual Int_t AddDaughter(TGeoNode* node, Int_t i) virtual Int_t AddMatrix(TGeoMatrix* global) virtual Int_t AddNode(TGeoNode* node) virtual void cd(Int_t inode) static TClass* Class() virtual void ClearDaughter(Int_t ind) virtual void ClearMatrix() virtual void ClearNode() virtual void Compact() void DeleteArray() virtual Int_t GetDaughter(Int_t ind) const virtual Int_t GetMatrixInd() const virtual Int_t GetNdaughters() const virtual TGeoNode* GetNode() const Int_t GetNused() const Int_t GetSize() const virtual Int_t GetUsageCount() const virtual Bool_t HasDaughters() const virtual void IncreaseArray() virtual void IncrementUsageCount() virtual TClass* IsA() const virtual Bool_t IsPersistent() const virtual void SetMatrix(Int_t mind) virtual void SetPersistency(Bool_t flag = kTRUE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Int_t fNodeSize size of a node in bytes Int_t fNdaughters number of daughters for nodes in this array Int_t* fOffset [fSize*fNodeSize] offset of the current node Int_t* fArray array of nodes protected:
Int_t fSize number of nodes stored in array Int_t fFirstFree index of first free location Int_t fCurrent index of current node Int_t fNused number of used nodes TBits* fBitsArray occupancy flags public:
static const Int_t fgGeoArrayMaxSize maximum cache size static const Int_t fgGeoArrayInitSize initial cache size static const Int_t fgGeoReleasedSpace default number of nodes released on cleaning

Class Description

 Physical tree description.




TGeoNodeArray()
 dummy ctor
TGeoNodeArray(Int_t ndaughters, Int_t size)
 default constructor
TGeoNodeArray(const TGeoNodeArray& gna)
copy constructor
TGeoNodeArray& operator=(const TGeoNodeArray& gna)
assignment operator
~TGeoNodeArray()
 destructor
Int_t AddDaughter(TGeoNode *node, Int_t i)
 Add node as i-th daughter of current node of this array.
Int_t AddMatrix(TGeoMatrix *global)
 Adds a global matrix to the current node in this array.
void Compact()
 Compact the array.
void DeleteArray()
 Deletes the array of nodes.
Int_t AddNode(TGeoNode *node)
 Add node in the node array. The number of daughters
 MUST be equal to fNdaughters (no check for speed reasons)
 It does not check if node is already in the cache. This is
 done by AddDaughter
 first compute the offset of the first free location
void ClearDaughter(Int_t ind)
 Clear the daughter ind from the list of the current node. Send the
 signal back to TGeoNodeCache, that proceeds with dispatching the
 clear signal for all the branch.
void ClearMatrix()
 Clears the global matrix of this node from matrix cache.
void ClearNode()
 Clear the current node. All branch from this point downwords will be deleted.
 remember the current node
Bool_t HasDaughters()
 Check if current node has daughters.
void IncreaseArray()
 Doubles the array size unless maximum cache limit is reached or
 global cache limit is reached. In this case forces the cache
 manager to do the garbage collection.
Bool_t IsPersistent()
 Returns persistency flag of the node.
void SetPersistency(Bool_t flag)
 Set array of nodes as persistent in memory.
Int_t GetNused()
Int_t GetSize()
Int_t GetUsageCount()
void IncrementUsageCount()
void cd(Int_t mindex)
Int_t GetDaughter(Int_t ind)
Int_t GetMatrixInd()
Int_t GetNdaughters()
void SetMatrix(Int_t mat_ind)

Author: Andrei Gheata 18/03/02
Last update: root/geom:$Name: $:$Id: TGeoCache.cxx,v 1.45 2006/07/09 05:27:53 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.