library: libGeom #include "TGeoCache.h"

# TGeoNodePos

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

## class TGeoNodePos : public TObject

| Inheritance Chart:
`TObject`
| <- | `TGeoNodePos` |

        public:

                              TGeoNodePos()
                              TGeoNodePos(Int_t ndaughters)
                              TGeoNodePos(const TGeoNodePos&)
                      virtual ~TGeoNodePos()
                        Int_t AddDaughter(Int_t ind, Int_t nindex)
                        Int_t AddMatrix(TGeoMatrix* global)
               static TClass* Class()
                         void ClearDaughter(Int_t ind)
                         void ClearMatrix()
                        Int_t GetDaughter(Int_t ind) const
                        Int_t GetMatrixInd() const
          virtual const char* GetName() const
                        Int_t GetNdaughters() const
                    TGeoNode* GetNode() const
                        Int_t GetUsageCount() const
                       Bool_t HasDaughters() const
                         void IncrementUsageCount()
              virtual TClass* IsA() const
                       Bool_t IsPersistent() const
                         void Map(TGeoNode* node)
                 TGeoNodePos& operator=(const TGeoNodePos&)
                         void ResetCount()
                         void SetMatrix(Int_t mat_ind)
                         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 fNdaughters  number of daughters
              Int_t fMatrix      index of global matrix
              Int_t fCount       usage counter
             Int_t* fDaughters   [fNdaughters] list of daughters offsets
          TGeoNode* fNode        pointer to corresponding node from the logical tree

        public:

            static const Int_t kPersistentNodeMask    byte mask for persistent nodes
          static const UChar_t kPersistentMatrixMask  byte mask for persistent matrices
           static const UInt_t kNoMatrix              initial value for fGlobalMatrix

## Class Description

     Physical tree description.

/* */

TGeoNodePos()

     dummy ctor

TGeoNodePos(Int_t ndaughters)

     default constructor.

~TGeoNodePos()

     destructor. It deletes the daughters also.
     delete daughters

Int_t AddMatrix(TGeoMatrix *global)

     cache the global matrix

void ClearMatrix()

     clear the matrix if not used by other nodes

Int_t GetDaughter(Int_t ind) const

     get the i-th daughter.

Bool_t HasDaughters() const

void Map(TGeoNode *node)

     map this nodepos to a physical node

void SetPersistency(Bool_t flag)

     set this node persistent in cache

### Inline Functions

                   Int_t AddDaughter(Int_t ind, Int_t nindex)
                    void ClearDaughter(Int_t ind)
                   Int_t GetMatrixInd() const
             const char* GetName() const
                   Int_t GetNdaughters() const
               TGeoNode* GetNode() const
                   Int_t GetUsageCount() const
                  Bool_t IsPersistent() const
                    void IncrementUsageCount()
                    void ResetCount()
                    void SetMatrix(Int_t mat_ind)
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
             TGeoNodePos TGeoNodePos(const TGeoNodePos&)
            TGeoNodePos& operator=(const TGeoNodePos&)

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. *