#ifndef ROOT_TRefTable
#define ROOT_TRefTable
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#include <string>
#include <vector>
class TObjArray;
class TProcessID;
class TRefTable : public TObject {
protected:
   Int_t             fNumPIDs;    
   Int_t            *fAllocSize;  
   Int_t            *fN;          
   Int_t           **fParentIDs;  
   Int_t             fParentID;   
   Int_t             fDefaultSize;
   UInt_t            fUID;        
   TProcessID       *fUIDContext; 
   Int_t             fSize;       
   TObjArray        *fParents;    
   TObject          *fOwner;      
   std::vector<std::string> fProcessGUIDs; 
   std::vector<Int_t> fMapPIDtoInternal; 
   static TRefTable *fgRefTable;  
   Int_t              AddInternalIdxForPID(TProcessID* procid);
   virtual Int_t      ExpandForIID(Int_t iid, Int_t newsize);
   void               ExpandPIDs(Int_t numpids);
   Int_t              FindPIDGUID(const char* guid) const;
   Int_t              GetInternalIdxForPID(TProcessID* procid) const;
   Int_t              GetInternalIdxForPID(Int_t pid) const;
public:
   enum {
      kHaveWarnedReadingOld = BIT(14)
   };
   TRefTable();
   TRefTable(TObject *owner, Int_t size);
   virtual ~TRefTable();
   virtual Int_t      Add(Int_t uid, TProcessID* context = 0);
   virtual void       Clear(Option_t *  ="");
   virtual Int_t      Expand(Int_t pid, Int_t newsize);
   virtual void       FillBuffer(TBuffer &b);
   static TRefTable  *GetRefTable();
   Int_t              GetNumPIDs() const {return fNumPIDs;}
   Int_t              GetSize(Int_t pid) const {return fAllocSize[GetInternalIdxForPID(pid)];}
   Int_t              GetN(Int_t pid) const {return fN[GetInternalIdxForPID(pid)];}
   TObject           *GetOwner() const {return fOwner;}
   TObject           *GetParent(Int_t uid, TProcessID* context = 0) const;
   TObjArray         *GetParents() const {return fParents;}
   UInt_t             GetUID() const {return fUID;}
   TProcessID        *GetUIDContext() const {return fUIDContext;}
   virtual Bool_t     Notify();
   virtual void       ReadBuffer(TBuffer &b);
   virtual void       Reset(Option_t *  ="");
   virtual Int_t      SetParent(const TObject* parent, const Int_t branchID);
   static  void       SetRefTable(TRefTable *table);
   virtual void       SetUID(UInt_t uid, TProcessID* context = 0) {fUID=uid; fUIDContext = context;}
   ClassDef(TRefTable,3)  
};
#endif
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.