TGeoNodeArray


class description - source file - inheritance tree

class TGeoNodeArray : public TObject


    public:
TGeoNodeArray TGeoNodeArray() TGeoNodeArray TGeoNodeArray(Int_t ndaughters, Int_t size = 0) TGeoNodeArray TGeoNodeArray(const TGeoNodeArray&) virtual void ~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 kGeoArrayMaxSize maximum cache size static const Int_t kGeoArrayInitSize initial cache size static const Int_t kGeoReleasedSpace default number of nodes released on cleaning


See also

TGeoNodeObjArray

Class Description

 Physical tree description.





/*

*/


TGeoNodeArray()
 dummy ctor

TGeoNodeArray(Int_t ndaughters, Int_t size)
 default constructor

~TGeoNodeArray()
 destructor
   DeleteArray();

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()

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() const

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.
   printf("Increasing array %in", fNdaughters);

Bool_t IsPersistent() const
 returns persistency flag of the node

void SetPersistency(Bool_t flag)



Inline Functions


                 void cd(Int_t inode)
                Int_t GetDaughter(Int_t ind) const
                Int_t GetMatrixInd() const
                Int_t GetNdaughters() const
            TGeoNode* GetNode() const
                Int_t GetNused() const
                Int_t GetSize() const
                Int_t GetUsageCount() const
                 void IncrementUsageCount()
                 void SetMatrix(Int_t mind)
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
        TGeoNodeArray TGeoNodeArray(const TGeoNodeArray&)


Author: Andrei Gheata 18/03/02
Last update: root/geom:$Name: $:$Id: TGeoCache.cxx,v 1.18 2003/03/14 11:49:02 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - 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.