12 #ifndef ROOT_TProcessID 13 #define ROOT_TProcessID 29 #include <type_traits> 50 static_assert(std::is_pointer<T>::value,
"Only pointer types supported");
89 virtual void Clear(
Option_t *option=
"");
90 Int_t DecrementCount();
91 Int_t IncrementCount();
96 virtual void RecursiveRemove(
TObject *obj);
100 static void Cleanup();
101 static UInt_t GetNProcessIDs();
108 static UInt_t GetObjectCount();
110 static void SetObjectCount(
UInt_t number);
ROOT::Internal::TAtomicPointer< TObjArray * > fObjects
Reference count to this object (from TFile)
Namespace for new ROOT classes and functions.
static TObjArray * fgPIDs
#define ClassDef(name, id)
static TProcessID * fgPID
Spin lock for initialization of fObjects.
The TNamed class is the base class for all named ROOT classes.
TObjArray * GetObjects() const
A TProcessID identifies a ROOT job in a unique way in time and space.
Helper class to manage atomic pointers.
std::atomic_flag fLock
Array pointing to the referenced objects.
static TExMap * fgObjPIDs
Mother of all ROOT objects.
This class stores a (key,value) pair using an external hash.