library: libGeom #include "TGeoCache.h"

# TGeoNodeObjArray

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

## class TGeoNodeObjArray : public TGeoNodeArray

| Inheritance Chart:
`TObject`
| <- | `TGeoNodeArray`
| <- | `TGeoNodeObjArray` |

        public:

                            TGeoNodeObjArray()
                            TGeoNodeObjArray(Int_t size)
                            TGeoNodeObjArray(const TGeoNodeObjArray&)
                    virtual ~TGeoNodeObjArray()
              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 Int_t GetDaughter(Int_t ind) const
              virtual Int_t GetMatrixInd() const
              virtual Int_t GetNdaughters() const
          virtual TGeoNode* GetNode() 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
          TGeoNodeObjArray& operator=(const TGeoNodeObjArray&)
               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 fIndex     index of current node
            TObjArray* fObjArray  [fSize] array of TGeoNodePos objects
          TGeoNodePos* fCurrent   current node

## Class Description

     Physical tree description.

/* */

TGeoNodeObjArray()

     dummy ctor

TGeoNodeObjArray(Int_t size)

     default ctor

~TGeoNodeObjArray()

     destructor

Int_t AddDaughter(TGeoNode *node, Int_t i)

     node must be the i'th daughter of current node (inode, fOffset)
     This is called ONLY after GetDaughter(i) returns 0

Int_t AddNode(TGeoNode *node)

     Add node in the node array.
     first map the node to the first free location which becomes current

Int_t AddMatrix(TGeoMatrix *global)

     store the global matrix for the current node

void cd(Int_t inode)

     make inode the current node

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

     clear 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

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.

### Inline Functions

                        Int_t GetMatrixInd() const
                        Int_t GetDaughter(Int_t ind) const
                        Int_t GetNdaughters() const
                    TGeoNode* GetNode() const
                        Int_t GetUsageCount() const
                       Bool_t HasDaughters() const
                         void IncrementUsageCount()
                       Bool_t IsPersistent() const
                         void SetPersistency(Bool_t flag = kTRUE)
                         void SetMatrix(Int_t mind)
                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)
             TGeoNodeObjArray TGeoNodeObjArray(const TGeoNodeObjArray&)
            TGeoNodeObjArray& operator=(const TGeoNodeObjArray&)

Author: Andrei Gheata 18/03/02
Last update: root/geom:$Name: $:$Id: TGeoCache.cxx,v 1.35 2005/05/26 13:20:26 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *