library: libGeom
#include "TGeoCache.h"


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

class TGeoNodeArray : public TObject

Inheritance Chart:

TGeoNodeArray() TGeoNodeArray(Int_t ndaughters, Int_t size = 0) TGeoNodeArray(const TGeoNodeArray&) 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 TGeoNodeArray& operator=(const TGeoNodeArray&) 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

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.

/* */

 dummy ctor

TGeoNodeArray(Int_t ndaughters, Int_t size)
 default constructor


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 %i\n", 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&)
        TGeoNodeArray& operator=(const TGeoNodeArray&)

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.