size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
#define ClassDefOverride(name, id)
 
Buffer base class used for serializing objects.
 
Mother of all ROOT objects.
 
A TProcessID identifies a ROOT job in a unique way in time and space.
 
A TRefTable maintains the association between a referenced object and the parent object supporting th...
 
void Clear(Option_t *="") override
Clear all entries in the table.
 
Int_t * fN
[fNumPIDs] allocated size of array fParentIDs for each ProcessID
 
virtual Int_t SetParent(const TObject *parent, Int_t branchID)
– Set current parent object, typically a branch of a tree.
 
std::vector< Int_t > fMapPIDtoInternal
 
TRefTable()
Default constructor for I/O.
 
virtual Int_t ExpandForIID(Int_t iid, Int_t newsize)
Expand fParentIDs to newsize for internel ProcessID index iid.
 
Int_t GetInternalIdxForPID(TProcessID *procid) const
Get the index for fProcessIDs, fAllocSize, etc given a PID.
 
UInt_t fUID
default size for a new PID array
 
TProcessID * GetUIDContext() const
 
virtual void FillBuffer(TBuffer &b)
Fill buffer b with the fN elements in fParentdIDs.
 
virtual void SetUID(UInt_t uid, TProcessID *context=nullptr)
 
Int_t FindPIDGUID(const char *guid) const
Get fProcessGUIDs' index of the TProcessID with GUID guid.
 
Int_t * fAllocSize
number of known ProcessIDs
 
TProcessID * fUIDContext
Current uid (set by TRef::GetObject)
 
TObject * GetParent(Int_t uid, TProcessID *context=nullptr) const
Return object corresponding to uid.
 
Int_t AddInternalIdxForPID(TProcessID *procid)
Add the internal index for fProcessIDs, fAllocSize, etc given a PID.
 
TObject * GetOwner() const
 
static TRefTable * fgRefTable
cache of pid to index in fProcessGUIDs
 
static void SetRefTable(TRefTable *table)
Static function setting the current TRefTable.
 
Int_t fSize
TProcessID the current uid is referring to.
 
Int_t fDefaultSize
current parent ID in fParents (latest call to SetParent)
 
static TRefTable * GetRefTable()
Static function returning the current TRefTable.
 
virtual void Reset(Option_t *="")
Clear all entries in the table.
 
void ExpandPIDs(Int_t numpids)
Expand the arrays of managed PIDs.
 
std::vector< std::string > fProcessGUIDs
 
virtual Int_t Add(Int_t uid, TProcessID *context=nullptr)
Add a new uid to the table.
 
virtual Int_t Expand(Int_t pid, Int_t newsize)
Expand fParentIDs to newsize for ProcessID pid.
 
virtual ~TRefTable()
Destructor.
 
TRefTable & operator=(const TRefTable &)=delete
 
TRefTable(const TRefTable &)=delete
 
Int_t GetSize(Int_t pid) const
 
Int_t ** fParentIDs
[fNumPIDs] current maximum number of IDs in array fParentIDs for each ProcessID
 
Bool_t Notify() override
This function is called by TRef::Streamer or TStreamerInfo::ReadBuffer when reading a reference.
 
Int_t GetN(Int_t pid) const
 
TObjArray * GetParents() const
 
Int_t fParentID
[fNumPIDs][fAllocSize] array of Parent IDs
 
virtual void ReadBuffer(TBuffer &b)
Fill buffer b with the fN elements in fParentdIDs.