Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
RooWorkspace::WSDir Class Reference

Definition at line 219 of file RooWorkspace.h.

Public Types

enum  { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) }
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) }
enum  EStatusBits { kCloseDirectory = (1ULL << (7)) }

Public Member Functions

 WSDir (const char *name, const char *title, RooWorkspace *wspace)
 ~WSDir () override
void AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
void Add (TObject *, bool) override
 Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.
void Append (TObject *, bool) override
 Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.
Int_t AppendKey (TKey *key) override
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
void Browse (TBrowser *b) override
 Browse the content of the directory.
void Build (TFile *motherFile=nullptr, TDirectory *motherDir=nullptr) override
Bool_t cd () override
 Change current directory to "this" directory.
Bool_t cd (const char *path) override
 Change current directory to "this" directory or to the directory described by the path if given one.
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
void Clear (Option_t *option="") override
 Delete all objects from a Directory list.
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
TObjectCloneObject (const TObject *obj, Bool_t autoadd=kTRUE) override
 Clone an object.
void Close (Option_t *option="") override
 Delete all objects from memory and directory structure itself.
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
void Copy (TObject &) const override
 Copy this to obj.
void Delete (const char *namecycle="") override
 Delete Objects or/and keys in a directory.
virtual void DeleteAll (Option_t *option="")
 Delete all objects from memory.
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
void Draw (Option_t *option="") override
 Fill Graphics Structure and Paint.
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
virtual void Dump () const
 Dump contents of object on stdout.
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
void FillBuffer (char *&buffer) override
 Encode TNamed into output buffer.
TKeyFindKey (const char *keyname) const override
TKeyFindKeyAny (const char *keyname) const override
TObjectFindObject (const char *name) const override
 Find object by name in the list of memory objects.
TObjectFindObject (const TObject *obj) const override
 Find object in the list of memory objects.
TObjectFindObjectAny (const char *name) const override
 Find object by name in the list of memory objects of the current directory or its sub-directories.
TObjectFindObjectAnyFile (const char *name) const override
template<class T>
T * Get (const char *namecycle)
 See documentation of TDirectoryFile::Get(const char *namecycle).
TObjectGet (const char *namecycle) override
 Return pointer to object identified by namecycle.
Int_t GetBufferSize () const override
const TDatimeGetCreationDate () const
TDirectoryGetDirectory (const char *apath, Bool_t printError=false, const char *funcname="GetDirectory") override
 Find a directory using apath.
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
TFileGetFile () const override
virtual const char * GetIconName () const
 Returns mime type name of object.
TKeyGetKey (const char *name, Short_t cycle=9999) const override
virtual TListGetList () const
TListGetListOfKeys () const override
const TDatimeGetModificationDate () const
TObjectGetMother () const
TDirectoryGetMotherDir () const
const char * GetName () const override
 Returns name of object.
Int_t GetNbytesKeys () const override
Int_t GetNkeys () const override
template<class T>
void GetObject (const char *namecycle, T *&ptr)
 Get an object with proper type checking.
void * GetObjectChecked (const char *namecycle, const char *classname) override
 See documentation of TDirectory::GetObjectCheck(const char *namecycle, const TClass *cl).
void * GetObjectChecked (const char *namecycle, const TClass *cl) override
 Return pointer to object identified by namecycle if and only if the actual object is a type suitable to be stored as a pointer to a "expectedClass" If expectedClass is null, no check is performed.
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
void * GetObjectUnchecked (const char *namecycle) override
 Return pointer to object identified by namecycle.
virtual Option_tGetOption () const
virtual const char * GetPath () const
 Returns the full path of the directory.
virtual const char * GetPathStatic () const
 Returns the full path of the directory.
Long64_t GetSeekDir () const override
Long64_t GetSeekKeys () const override
Long64_t GetSeekParent () const override
const char * GetTitle () const override
 Returns title of object.
virtual UInt_t GetUniqueID () const
 Return the unique object id.
TUUID GetUUID () const
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
ULong_t Hash () const override
 Return hash value for this object.
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
void InvertBit (UInt_t f)
TClassIsA () const override
Bool_t IsBuilt () const
Bool_t IsDestructed () const
 IsDestructed.
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
Bool_t IsFolder () const override
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Bool_t IsModified () const override
Bool_t IsOnHeap () const
Bool_t IsSortable () const override
Bool_t IsWritable () const override
Bool_t IsZombie () const
void ls (Option_t *option="") const override
 List Directory contents.
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
TDirectorymkdir (const char *name, const char *title="", Bool_t returnExistingDirectory=kFALSE) override
 Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...".
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
TFileOpenFile (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0) override
void operator delete (void *, size_t)
 Operator delete for sized deallocation.
void operator delete (void *ptr)
 Operator delete.
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
void operator delete[] (void *, size_t)
 Operator delete [] for sized deallocation.
void operator delete[] (void *ptr)
 Operator delete [].
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
void Paint (Option_t *option="") override
 Paint all objects in the directory.
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
void Print (Option_t *option="") const override
 Print all objects in the directory.
void Purge (Short_t nkeep=1) override
virtual void pwd () const
 Print the path of the directory.
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
void ReadAll (Option_t *option="") override
Int_t ReadKeys (Bool_t forceRead=kTRUE) override
Int_t ReadTObject (TObject *obj, const char *keyname) override
void RecursiveRemove (TObject *obj) override
 Recursively remove object from a Directory.
virtual TObjectRemove (TObject *)
 Remove an object from the in-memory list.
virtual void ResetAfterMerge (TFileMergeInfo *)
void ResetBit (UInt_t f)
void rmdir (const char *name) override
 Removes subdirectory from the directory When directory is deleted, all keys in all subdirectories will be read first and deleted from file (if exists) Equivalent call is Delete("name;*");.
void Save () override
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
Int_t SaveObjectAs (const TObject *obj, const char *filename="", Option_t *option="") const override
 Save object in filename, if filename is nullptr or "", a file with "<objectname>.root" is created.
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
void SaveSelf (Bool_t force=kFALSE) override
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
void SetBufferSize (Int_t bufsize) override
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
void SetModified () override
virtual void SetMother (TObject *mother)
void SetName (const char *newname) override
 Set the name for directory If the directory name is changed after the directory was written once, ROOT currently would NOT change the name of correspondent key in the mother directory.
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
void SetSeekDir (Long64_t v) override
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
void SetTRefAction (TObject *ref, TObject *parent) override
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
void SetWritable (Bool_t writable=kTRUE) override
Int_t Sizeof () const override
 Return size of the TNamed part of the TObject.
void Streamer (TBuffer &) override
 TDirectory Streamer.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
Int_t Write (const char *name=nullptr, Int_t opt=0, Int_t bufsize=0) const override
 Write this object to the current directory.
Int_t Write (const char *name=nullptr, Int_t opt=0, Int_t bufsize=0) override
 Write this object to the current directory.
void WriteDirHeader () override
void WriteKeys () override
template<typename T>
std::enable_if_t< std::is_base_of< TObject, T >::value, Int_tWriteObject (const T *obj, const char *name, Option_t *option="", Int_t bufsize=0)
 Write an object with proper type checking.
template<typename T>
std::enable_if_t<!std::is_base_of< TObject, T >::value, Int_tWriteObject (const T *obj, const char *name, Option_t *option="", Int_t bufsize=0)
 Write an object with proper type checking.
Int_t WriteObjectAny (const void *obj, const char *classname, const char *name, Option_t *option="", Int_t bufsize=0) override
Int_t WriteObjectAny (const void *obj, const TClass *cl, const char *name, Option_t *option="", Int_t bufsize=0) override
Int_t WriteTObject (const TObject *obj, const char *name=nullptr, Option_t *option="", Int_t bufsize=0) override

Static Public Member Functions

static void _R__DEPRECATED_ ("will be removed in ROOT v" "7" "." "00" ": " "This function has no effect on ROOT") AddDirectory(Bool_t add
static Bool_t _R__DEPRECATED_ ("will be removed in ROOT v" "7" "." "00" ": " "This function has no effect on ROOT") AddDirectoryStatus()
static Bool_t Cd (const char *path)
static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static std::atomic< TDirectory * > & CurrentDirectory ()
 Return the current directory for the current thread.
static const char * DeclFileName ()
static size_t DecodeNameCycle (const char *namecycle, char *name, Short_t &cycle, const size_t namesize=0)
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static Bool_t GetObjectStat ()
 Get status of object stat flag.
static void SetDtorOnly (void *obj)
 Set destructor only flag.
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.

Protected Types

enum  { kOnlyPrepStep = (1ULL << (3)) }
using SharedGDirectory_t = std::shared_ptr<std::atomic<TDirectory *>>

Protected Member Functions

void BuildDirectory (TFile *motherFile, TDirectory *motherDir)
 Initialise directory to defaults.
void BuildDirectoryFile (TFile *motherFile, TDirectory *motherDir)
Bool_t cd1 (const char *path)
 Change current directory to "this" directory or to the directory described by the path if given one.
void CleanTargets ()
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
void FillFullPath (TString &buf) const
 Recursive method to fill full path for directory.
void InitDirectoryFile (TClass *cl=nullptr)
void InternalAppend (TObject *obj)
 Internal access to TDirectory append method.
void MakeZombie ()
void RegisterContext (TContext *ctxt)
void RegisterGDirectory (SharedGDirectory_t &ptr)
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
 Save object name and title into the output stream "out".
void UnregisterContext (TContext *ctxt)
 UnRegister a TContext pointing to this TDirectory object.

Static Protected Member Functions

static Bool_t Cd1 (const char *path)
 Change current directory to "path".
static SharedGDirectory_tGetSharedLocalCurrentDirectory ()
 Return the (address of) a shared pointer to the struct holding the actual thread local gDirectory pointer and the atomic_flag for its lock.
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.

Protected Attributes

RooWorkspace_wspace
 ! do not persist
Int_t fBufferSize {0}
 Default buffer size to create new TKeys.
TContextfContext {nullptr}
 ! Pointer to a list of TContext object pointing to this TDirectory
std::atomic< size_t > fContextPeg {0}
 ! Counter delaying the TDirectory destructor from finishing.
TDatime fDatimeC
 Date and time when directory is created.
TDatime fDatimeM
 Date and time of last modification.
TFilefFile {nullptr}
 Pointer to current file in memory.
std::vector< SharedGDirectory_tfGDirectories
 ! thread local gDirectory pointing to this object.
TListfKeys {nullptr}
 Pointer to keys list in memory.
TListfList {nullptr}
 List of objects in memory.
Bool_t fModified {kFALSE}
 True if directory has been modified.
TObjectfMother {nullptr}
 pointer to mother of the directory
TString fName
Int_t fNbytesKeys {0}
 Number of bytes for the keys.
Int_t fNbytesName {0}
 Number of bytes in TNamed at creation time.
TString fPathBuffer
 ! Buffer for GetPath() function
Long64_t fSeekDir {0}
 Location of directory on file.
Long64_t fSeekKeys {0}
 Location of Keys record on file.
Long64_t fSeekParent {0}
 Location of parent directory on file.
std::atomic_flag fSpinLock
 ! MSVC doesn't support = ATOMIC_FLAG_INIT;
TString fTitle
TUUID fUUID {TUUID::UUIDv4()}
 Unique identifier.
Bool_t fWritable {kFALSE}
 True if directory is writable.

Static Protected Attributes

static Bool_t fgAddDirectory = false
 !

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.

Private Attributes

UInt_t fBits
 bit field status word
UInt_t fUniqueID
 object unique identifier

Static Private Attributes

static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

Friends

class RooWorkspace

#include <RooWorkspace.h>

Inheritance diagram for RooWorkspace::WSDir:
TDirectoryFile TDirectory TNamed TObject

Member Typedef Documentation

◆ SharedGDirectory_t

using TDirectory::SharedGDirectory_t = std::shared_ptr<std::atomic<TDirectory *>>
protectedinherited

Definition at line 147 of file TDirectory.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ EStatusBits

Enumerator
kCloseDirectory 

Definition at line 58 of file TDirectoryFile.h.

Constructor & Destructor Documentation

◆ WSDir()

RooWorkspace::WSDir::WSDir ( const char * name,
const char * title,
RooWorkspace * wspace )
inline

Definition at line 221 of file RooWorkspace.h.

◆ ~WSDir()

RooWorkspace::WSDir::~WSDir ( )
inlineoverride

Definition at line 227 of file RooWorkspace.h.

Member Function Documentation

◆ _R__DEPRECATED_() [1/2]

void TDirectory::_R__DEPRECATED_ ( "will be removed in ROOT v" "7" "." "00" ": " "This function has no effect on ROOT" )
staticinherited

◆ _R__DEPRECATED_() [2/2]

Bool_t TDirectory::_R__DEPRECATED_ ( "will be removed in ROOT v" "7" "." "00" ": " "This function has no effect on ROOT" )
staticinherited

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ Add()

void RooWorkspace::WSDir::Add ( TObject * obj,
bool  )
overridevirtual

Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.

Reimplemented from TDirectoryFile.

Definition at line 2868 of file RooWorkspace.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ Append()

void RooWorkspace::WSDir::Append ( TObject * obj,
bool  )
overridevirtual

Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.

Reimplemented from TDirectoryFile.

Definition at line 2881 of file RooWorkspace.cxx.

◆ AppendKey()

Int_t TDirectoryFile::AppendKey ( TKey * key)
overridevirtualinherited

Reimplemented from TDirectory.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ Browse()

void TDirectoryFile::Browse ( TBrowser * b)
overridevirtualinherited

Browse the content of the directory.

Reimplemented from TDirectory.

◆ Build()

void TDirectoryFile::Build ( TFile * motherFile = nullptr,
TDirectory * motherDir = nullptr )
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 68 of file TDirectoryFile.h.

◆ BuildDirectory()

void TDirectory::BuildDirectory ( TFile * motherFile,
TDirectory * motherDir )
protectedinherited

Initialise directory to defaults.

If directory is created via default ctor (when dir is read from file) don't add it here to the directory since its name is not yet known. It will be added to the directory in TKey::ReadObj().

Definition at line 255 of file TDirectory.cxx.

◆ BuildDirectoryFile()

void TDirectoryFile::BuildDirectoryFile ( TFile * motherFile,
TDirectory * motherDir )
protectedinherited

◆ Cd()

Bool_t TDirectory::Cd ( const char * path)
staticinherited

◆ cd() [1/2]

Bool_t TDirectoryFile::cd ( )
overridevirtualinherited

Change current directory to "this" directory.

Returns kTRUE (it's guaranteed to succeed).

Reimplemented from TDirectory.

◆ cd() [2/2]

Bool_t TDirectoryFile::cd ( const char * path)
overridevirtualinherited

Change current directory to "this" directory or to the directory described by the path if given one.

Using path one can change the current directory to "path". The absolute path syntax is: file.root:/dir1/dir2 where file.root is the file and /dir1/dir2 the desired subdirectory in the file.

Relative syntax is relative to "this" directory. E.g: ../aa.

Returns kTRUE in case of success.

Reimplemented from TDirectory.

◆ Cd1()

Bool_t TDirectory::Cd1 ( const char * apath)
staticprotectedinherited

Change current directory to "path".

The absolute path syntax is: file.root:/dir1/dir2 where file.root is the file and /dir1/dir2 the desired subdirectory in the file. Relative syntax is relative to the current directory gDirectory, e.g.: ../aa`.

Returns kTRUE in case of success. */

Bool_t TDirectory::Cd(const char *path) { return Cd1(path); }

/** Change current directory to "path". The path syntax is: file.root:/dir1/dir2 where file.root is the file and /dir1/dir2 the desired subdirectory in the file. Relative syntax is relative to the current directory gDirectory, e.g.: ../aa.

Returns kFALSE in case path does not exist.

Definition at line 623 of file TDirectory.cxx.

◆ cd1()

Bool_t TDirectory::cd1 ( const char * apath)
protectedinherited

Change current directory to "this" directory or to the directory described by the path if given one.

Using path one can change the current directory to "path". The absolute path syntax is: file.root:/dir1/dir2 where file.root is the file and /dir1/dir2 the desired subdirectory in the file.

Relative syntax is relative to "this" directory. E.g: ../aa.

Returns kFALSE in case path does not exist.

Definition at line 587 of file TDirectory.cxx.

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ Class()

TClass * RooWorkspace::WSDir::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * RooWorkspace::WSDir::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t RooWorkspace::WSDir::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 238 of file RooWorkspace.h.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ CleanTargets()

void TDirectoryFile::CleanTargets ( )
protectedinherited

◆ Clear()

void TDirectory::Clear ( Option_t * option = "")
overridevirtualinherited

Delete all objects from a Directory list.

Reimplemented from TObject.

Definition at line 640 of file TDirectory.cxx.

◆ Clone()

TObject * TNamed::Clone ( const char * newname = "") const
overridevirtualinherited

Make a clone of an object using the Streamer facility.

If newname is specified, this will be the name of the new object.

Reimplemented from TObject.

Reimplemented in TStreamerInfo, and TTreeIndex.

Definition at line 73 of file TNamed.cxx.

◆ CloneObject()

TObject * TDirectoryFile::CloneObject ( const TObject * obj,
Bool_t autoadd = kTRUE )
overridevirtualinherited

Clone an object.

This function is called when the directory is not a TDirectoryFile. This version has to load the I/O package, hence via Cling.

If autoadd is true and if the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.

Reimplemented from TDirectory.

◆ Close()

void TDirectoryFile::Close ( Option_t * option = "")
overridevirtualinherited

Delete all objects from memory and directory structure itself.

if option is "slow", iterate through the containers in a way to can handle 'external' modification (induced by recursions) if option is "nodelete", write the TDirectory but do not delete the contained objects.

Reimplemented from TDirectory.

Reimplemented in TFile, TParallelMergingFile, TSQLFile, and TXMLFile.

◆ Compare()

Int_t TNamed::Compare ( const TObject * obj) const
overridevirtualinherited

Compare two TNamed objects.

Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 84 of file TNamed.cxx.

◆ Copy()

void TDirectoryFile::Copy ( TObject & object) const
inlineoverridevirtualinherited

Copy this to obj.

Reimplemented from TDirectory.

Reimplemented in TFile.

Definition at line 71 of file TDirectoryFile.h.

◆ CurrentDirectory()

std::atomic< TDirectory * > & TDirectory::CurrentDirectory ( )
staticinherited

Return the current directory for the current thread.

Definition at line 438 of file TDirectory.cxx.

◆ DeclFileName()

const char * RooWorkspace::WSDir::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 238 of file RooWorkspace.h.

◆ DecodeNameCycle()

size_t TDirectory::DecodeNameCycle ( const char * namecycle,
char * name,
Short_t & cycle,
const size_t namesize = 0 )
staticinherited

◆ Delete()

void TDirectoryFile::Delete ( const char * namecycle = "")
overridevirtualinherited

Delete Objects or/and keys in a directory.

  • namecycle has the format name;cycle
  • namecycle = "" same as namecycle ="T*"
  • name = * means all
  • cycle = * means all cycles (memory and keys)
  • cycle = "" or cycle = 9999 ==> apply to a memory object When name=* use T* to delete subdirectories also

To delete one directory, you must specify the directory cycle, eg. file.Delete("dir1;1");

examples:

  • foo : delete object named foo in memory
  • foo* : delete all objects with a name starting with foo
  • foo;1 : delete cycle 1 of foo on file
  • foo;* : delete all cycles of foo on file and also from memory
  • ;2 : delete all objects on file having the cycle 2
  • *; : delete all objects from memory and file
  • T*;* : delete all objects from memory and file and all subdirectories

Reimplemented from TDirectory.

Reimplemented in TFile.

◆ DeleteAll()

void TDirectory::DeleteAll ( Option_t * option = "")
virtualinherited

Delete all objects from memory.

Definition at line 691 of file TDirectory.cxx.

◆ DistancetoPrimitive()

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ Draw()

void TDirectory::Draw ( Option_t * option = "")
overridevirtualinherited

Fill Graphics Structure and Paint.

Loop on all objects (memory or file) and all subdirectories

Reimplemented from TObject.

Reimplemented in TFile.

Definition at line 774 of file TDirectory.cxx.

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ FillBuffer()

void TDirectoryFile::FillBuffer ( char *& buffer)
overridevirtualinherited

Encode TNamed into output buffer.

Reimplemented from TNamed.

Reimplemented in TFile, TSQLFile, and TXMLFile.

◆ FillFullPath()

void TDirectory::FillFullPath ( TString & buf) const
protectedinherited

Recursive method to fill full path for directory.

Definition at line 1067 of file TDirectory.cxx.

◆ FindKey()

TKey * TDirectoryFile::FindKey ( const char * keyname) const
overridevirtualinherited

Reimplemented from TDirectory.

◆ FindKeyAny()

TKey * TDirectoryFile::FindKeyAny ( const char * keyname) const
overridevirtualinherited

Reimplemented from TDirectory.

◆ FindObject() [1/2]

TObject * TDirectory::FindObject ( const char * name) const
overridevirtualinherited

Find object by name in the list of memory objects.

Reimplemented from TObject.

Reimplemented in TROOT.

Definition at line 790 of file TDirectory.cxx.

◆ FindObject() [2/2]

TObject * TDirectory::FindObject ( const TObject * obj) const
overridevirtualinherited

Find object in the list of memory objects.

Reimplemented from TObject.

Reimplemented in TROOT.

Definition at line 782 of file TDirectory.cxx.

◆ FindObjectAny()

TObject * TDirectoryFile::FindObjectAny ( const char * aname) const
overridevirtualinherited

Find object by name in the list of memory objects of the current directory or its sub-directories.

After this call the current directory is not changed. To automatically set the current directory where the object is found, use FindKeyAny(aname)->ReadObj().

Reimplemented from TDirectory.

◆ FindObjectAnyFile()

TObject * TDirectoryFile::FindObjectAnyFile ( const char * name) const
overridevirtualinherited

Reimplemented from TDirectory.

◆ Get() [1/2]

template<class T>
T * TDirectoryFile::Get ( const char * namecycle)
inlinevirtualinherited

See documentation of TDirectoryFile::Get(const char *namecycle).

Reimplemented from TDirectory.

Definition at line 82 of file TDirectoryFile.h.

◆ Get() [2/2]

TObject * TDirectoryFile::Get ( const char * namecycle)
overridevirtualinherited

Return pointer to object identified by namecycle.

namecycle has the format name;cycle

  • name = * is illegal, cycle = * is illegal
  • cycle = "" or cycle = 9999 ==> apply to a memory object

examples:

  • foo : get object named foo in memory if object is not in memory, try with highest cycle from file
  • foo;1 : get cycle 1 of foo on file

The retrieved object should in principle derive from TObject. If not, the function TDirectory::GetObject should be called. However, this function will still work for a non-TObject, providing that the calling application cast the return type to the correct type (which is the actual type of the object).

NOTE:

The method GetObject offer better protection and avoid the need for any cast:

MyClass *obj;
directory->GetObject("some object",obj);
if (obj) { ... the object exist and inherits from MyClass ... }
TObject * obj(RooStringView name) const
Return any type of object (RooAbsArg, RooAbsData or generic object) with given name).

VERY IMPORTANT NOTE:

In case the class of this object derives from TObject but not as a first inheritance, one must use dynamic_cast<>().

Example 1: Normal case:

class MyClass : public TObject, public AnotherClass
TObject()
TObject constructor.
Definition TObject.h:259

then on return, one can do:

MyClass *obj = (MyClass*)directory->Get("some object of MyClass");

Example 2: Special case:

class MyClass : public AnotherClass, public TObject

then on return, one must do:

MyClass *obj = dynamic_cast<MyClass*>(directory->Get("some object of MyClass"));

Of course, dynamic_cast<> can also be used in the example 1.

Reimplemented from TDirectory.

◆ GetBufferSize()

Int_t TDirectoryFile::GetBufferSize ( ) const
overridevirtualinherited

Reimplemented from TDirectory.

◆ GetCreationDate()

const TDatime & TDirectoryFile::GetCreationDate ( ) const
inlineinherited

Definition at line 91 of file TDirectoryFile.h.

◆ GetDirectory()

TDirectory * TDirectoryFile::GetDirectory ( const char * apath,
Bool_t printError = false,
const char * funcname = "GetDirectory" )
overridevirtualinherited

Find a directory using apath.

It apath is null or empty, returns "this" directory. Otherwise use apath to find a directory. The absolute path syntax is: file.root:/dir1/dir2

where file.root is the file and /dir1/dir2 the desired subdirectory in the file. Relative syntax is relative to "this" directory. E.g: ../aa. Returns 0 in case path does not exist. If printError is true, use Error with 'funcname' to issue an error message.

Reimplemented from TDirectory.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ GetFile()

TFile * TDirectoryFile::GetFile ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 92 of file TDirectoryFile.h.

◆ GetIconName()

const char * TObject::GetIconName ( ) const
virtualinherited

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.

Definition at line 472 of file TObject.cxx.

◆ GetKey()

TKey * TDirectoryFile::GetKey ( const char * name,
Short_t cycle = 9999 ) const
overridevirtualinherited

Reimplemented from TDirectory.

◆ GetList()

virtual TList * TDirectory::GetList ( ) const
inlinevirtualinherited

Definition at line 223 of file TDirectory.h.

◆ GetListOfKeys()

TList * TDirectoryFile::GetListOfKeys ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 94 of file TDirectoryFile.h.

◆ GetModificationDate()

const TDatime & TDirectoryFile::GetModificationDate ( ) const
inlineinherited

Definition at line 95 of file TDirectoryFile.h.

◆ GetMother()

TObject * TDirectory::GetMother ( ) const
inlineinherited

Definition at line 225 of file TDirectory.h.

◆ GetMotherDir()

TDirectory * TDirectory::GetMotherDir ( ) const
inlineinherited

Definition at line 226 of file TDirectory.h.

◆ GetName()

const char * TNamed::GetName ( ) const
inlineoverridevirtualinherited

Returns name of object.

This default method returns the class name. Classes that give objects a name should override this method.

Reimplemented from TObject.

Definition at line 49 of file TNamed.h.

◆ GetNbytesKeys()

Int_t TDirectoryFile::GetNbytesKeys ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 96 of file TDirectoryFile.h.

◆ GetNkeys()

Int_t TDirectoryFile::GetNkeys ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 97 of file TDirectoryFile.h.

◆ GetObject()

template<class T>
void TDirectory::GetObject ( const char * namecycle,
T *& ptr )
inlineinherited

Get an object with proper type checking.

If the object doesn't exist in the file or if the type doesn't match, a nullptr is returned. Also see TDirectory::Get().

Definition at line 213 of file TDirectory.h.

◆ GetObjectChecked() [1/2]

void * TDirectoryFile::GetObjectChecked ( const char * namecycle,
const char * classname )
overridevirtualinherited

See documentation of TDirectory::GetObjectCheck(const char *namecycle, const TClass *cl).

Reimplemented from TDirectory.

◆ GetObjectChecked() [2/2]

void * TDirectoryFile::GetObjectChecked ( const char * namecycle,
const TClass * expectedClass )
overridevirtualinherited

Return pointer to object identified by namecycle if and only if the actual object is a type suitable to be stored as a pointer to a "expectedClass" If expectedClass is null, no check is performed.

namecycle has the format name;cycle

  • name = * is illegal, cycle = * is illegal
  • cycle = "" or cycle = 9999 ==> apply to a memory object

VERY IMPORTANT NOTE:

The calling application must cast the returned pointer to the type described by the 2 arguments (i.e. cl):

MyClass *obj = (MyClass*)directory->GetObjectChecked("some object of MyClass","MyClass"));

Note: We recommend using the method TDirectory::GetObject:

MyClass *obj = nullptr;
directory->GetObject("some object inheriting from MyClass",obj);
if (obj) { ... we found what we are looking for ... }
static const char * what
Definition stlLoader.cc:5

Reimplemented from TDirectory.

◆ GetObjectInfo()

char * TObject::GetObjectInfo ( Int_t px,
Int_t py ) const
virtualinherited

Returns string containing info about the object at position (px,py).

This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).

Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.

Definition at line 491 of file TObject.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetObjectUnchecked()

void * TDirectoryFile::GetObjectUnchecked ( const char * namecycle)
overridevirtualinherited

Return pointer to object identified by namecycle.

The returned object may or may not derive from TObject.

  • namecycle has the format name;cycle
  • name = * is illegal, cycle = * is illegal
  • cycle = "" or cycle = 9999 ==> apply to a memory object

VERY IMPORTANT NOTE:

The calling application must cast the returned object to the final type, e.g.

MyClass *obj = (MyClass*)directory->GetObject("some object of MyClass");

Reimplemented from TDirectory.

◆ GetOption()

virtual Option_t * TObject::GetOption ( ) const
inlinevirtualinherited

◆ GetPath()

const char * TDirectory::GetPath ( ) const
virtualinherited

Returns the full path of the directory.

E.g. file:/dir1/dir2. The returned path will be re-used by the next call to GetPath().

Definition at line 1054 of file TDirectory.cxx.

◆ GetPathStatic()

const char * TDirectory::GetPathStatic ( ) const
virtualinherited

Returns the full path of the directory.

E.g. file:/dir1/dir2. The returned path will be re-used by the next call to GetPath().

Definition at line 1016 of file TDirectory.cxx.

◆ GetSeekDir()

Long64_t TDirectoryFile::GetSeekDir ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 98 of file TDirectoryFile.h.

◆ GetSeekKeys()

Long64_t TDirectoryFile::GetSeekKeys ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 100 of file TDirectoryFile.h.

◆ GetSeekParent()

Long64_t TDirectoryFile::GetSeekParent ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 99 of file TDirectoryFile.h.

◆ GetSharedLocalCurrentDirectory()

TDirectory::SharedGDirectory_t & TDirectory::GetSharedLocalCurrentDirectory ( )
staticprotectedinherited

Return the (address of) a shared pointer to the struct holding the actual thread local gDirectory pointer and the atomic_flag for its lock.

Definition at line 422 of file TDirectory.cxx.

◆ GetTitle()

const char * TNamed::GetTitle ( ) const
inlineoverridevirtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented from TObject.

Definition at line 50 of file TNamed.h.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ GetUUID()

TUUID TDirectory::GetUUID ( ) const
inlineinherited

Definition at line 234 of file TDirectory.h.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ Hash()

ULong_t TNamed::Hash ( ) const
inlineoverridevirtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
ULong_t Hash() const override
Return hash value for this object.
Definition TNamed.h:51
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented from TObject.

Definition at line 51 of file TNamed.h.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ InitDirectoryFile()

void TDirectoryFile::InitDirectoryFile ( TClass * cl = nullptr)
protectedinherited

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ InternalAppend()

void RooWorkspace::WSDir::InternalAppend ( TObject * obj)
protected

Internal access to TDirectory append method.

Definition at line 2859 of file RooWorkspace.cxx.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ IsA()

TClass * RooWorkspace::WSDir::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TDirectoryFile.

Definition at line 238 of file RooWorkspace.h.

◆ IsBuilt()

Bool_t TDirectory::IsBuilt ( ) const
inlineinherited

Definition at line 235 of file TDirectory.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

Bool_t TDirectory::IsFolder ( ) const
inlineoverridevirtualinherited

Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).

Reimplemented from TObject.

Reimplemented in TROOT.

Definition at line 236 of file TDirectory.h.

◆ IsModified()

Bool_t TDirectoryFile::IsModified ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 101 of file TDirectoryFile.h.

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsSortable()

Bool_t TNamed::IsSortable ( ) const
inlineoverridevirtualinherited

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 52 of file TNamed.h.

◆ IsWritable()

Bool_t TDirectoryFile::IsWritable ( ) const
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 102 of file TDirectoryFile.h.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ ls()

void TDirectoryFile::ls ( Option_t * option = "") const
overridevirtualinherited

List Directory contents.

Indentation is used to identify the directory tree Subdirectories are listed first, then objects in memory.

The option can has the following format:

 [<regexp>]

The <regexp> will be used to match the name of the objects. By default memory and disk objects are listed.

Reimplemented from TDirectory.

Reimplemented in TFile.

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).

Definition at line 1160 of file TObject.cxx.

◆ mkdir()

TDirectory * TDirectoryFile::mkdir ( const char * name,
const char * title = "",
Bool_t returnExistingDirectory = kFALSE )
overridevirtualinherited

Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...".

Parameters
namethe name or hierarchy of the subdirectory ("a" or "a/b/c")
titlethe title
returnExistingDirectoryif key-name is already existing, the returned value points to preexisting sub-directory if true and to nullptr if false.
Returns
a pointer to the created sub-directory, not to the top sub-directory of the hierarchy (in the above example, the returned TDirectory * points to "c"). In case of an error, it returns nullptr. In case of a preexisting sub-directory (hierarchy) with the requested name, the return value depends on the parameter returnExistingDirectory.

In particular, the steps to create first a/b/c and then a/b/d without receiving errors are:

TFile * file = new TFile("afile","RECREATE");
file->mkdir("a");
file->cd("a");
gDirectory->mkdir("b/c");
gDirectory->cd("b");
gDirectory->mkdir("d");
#define gDirectory
Definition TDirectory.h:385
Bool_t cd() override
Change current directory to "this" directory.
TDirectory * mkdir(const char *name, const char *title="", Bool_t returnExistingDirectory=kFALSE) override
Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...".
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
Definition TFile.h:130

or

TFile * file = new TFile("afile","RECREATE");
file->mkdir("a");
file->cd("a");
gDirectory->mkdir("b/c");
gDirectory->mkdir("b/d", "", true);

Reimplemented from TDirectory.

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

This method must be overridden to handle object notification (the base implementation is no-op).

Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.

For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.

Reimplemented in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ OpenFile()

TFile * TDirectoryFile::OpenFile ( const char * name,
Option_t * option = "",
const char * ftitle = "",
Int_t compress = ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault,
Int_t netopt = 0 )
overridevirtualinherited

Reimplemented from TDirectory.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ Paint()

void TDirectory::Paint ( Option_t * option = "")
overridevirtualinherited

Paint all objects in the directory.

Reimplemented from TObject.

Reimplemented in TFile, TSQLFile, and TXMLFile.

Definition at line 1189 of file TDirectory.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ Print()

void TDirectory::Print ( Option_t * option = "") const
overridevirtualinherited

Print all objects in the directory.

Reimplemented from TObject.

Reimplemented in TFile, TMemFile, TSQLFile, and TXMLFile.

Definition at line 1197 of file TDirectory.cxx.

◆ Purge()

void TDirectoryFile::Purge ( Short_t nkeep = 1)
overridevirtualinherited

Reimplemented from TDirectory.

◆ pwd()

void TDirectory::pwd ( ) const
virtualinherited

Print the path of the directory.

Definition at line 1205 of file TDirectory.cxx.

◆ Read()

Int_t TObject::Read ( const char * name)
virtualinherited

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.

Definition at line 673 of file TObject.cxx.

◆ ReadAll()

void TDirectoryFile::ReadAll ( Option_t * option = "")
overridevirtualinherited

Reimplemented from TDirectory.

◆ ReadKeys()

Int_t TDirectoryFile::ReadKeys ( Bool_t forceRead = kTRUE)
overridevirtualinherited

Reimplemented from TDirectory.

◆ ReadTObject()

Int_t TDirectoryFile::ReadTObject ( TObject * obj,
const char * keyname )
overridevirtualinherited

Reimplemented from TDirectory.

◆ RecursiveRemove()

void TDirectory::RecursiveRemove ( TObject * obj)
overridevirtualinherited

Recursively remove object from a Directory.

Reimplemented from TObject.

Reimplemented in TROOT.

Definition at line 1213 of file TDirectory.cxx.

◆ RegisterContext()

void TDirectory::RegisterContext ( TContext * ctxt)
protectedinherited

◆ RegisterGDirectory()

void TDirectory::RegisterGDirectory ( SharedGDirectory_t & ptr)
protectedinherited

◆ Remove()

TObject * TDirectory::Remove ( TObject * obj)
virtualinherited

Remove an object from the in-memory list.

Reimplemented in TROOT.

Definition at line 1222 of file TDirectory.cxx.

◆ ResetAfterMerge()

virtual void TDirectoryFile::ResetAfterMerge ( TFileMergeInfo * )
virtualinherited

Reimplemented in TMemFile.

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ rmdir()

void TDirectoryFile::rmdir ( const char * name)
overridevirtualinherited

Removes subdirectory from the directory When directory is deleted, all keys in all subdirectories will be read first and deleted from file (if exists) Equivalent call is Delete("name;*");.

Reimplemented from TDirectory.

◆ Save()

void TDirectoryFile::Save ( )
overridevirtualinherited

Reimplemented from TDirectory.

◆ SaveAs()

void TObject::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
virtualinherited

Save this object in the file specified by filename.

  • if "filename" contains ".root" the object is saved in filename as root binary file.
  • if "filename" contains ".xml" the object is saved in filename as a xml ascii file.
  • if "filename" contains ".cc" the object is saved in filename as C code independent from ROOT. The code is generated via SavePrimitive(). Specific code should be implemented in each object to handle this option. Like in TF1::SavePrimitive().
  • otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.

    The function is available via the object context menu.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.

Definition at line 708 of file TObject.cxx.

◆ SaveObjectAs()

Int_t TDirectoryFile::SaveObjectAs ( const TObject * obj,
const char * filename = "",
Option_t * option = "" ) const
overridevirtualinherited

Save object in filename, if filename is nullptr or "", a file with "<objectname>.root" is created.

The name of the key is the object name. By default new file will be created. Using option "a", one can append object to the existing ROOT file. If the operation is successful, it returns the number of bytes written to the file otherwise it returns 0. By default a message is printed. Use option "q" to not print the message. If filename contains ".json" extension, JSON representation of the object will be created and saved in the text file. Such file can be used in JavaScript ROOT (https://root.cern/js/) to display object in web browser When creating JSON file, option string may contain compression level from 0 to 3 (default 0)

Reimplemented from TDirectory.

◆ SavePrimitive()

void TObject::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
virtualinherited

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.

Definition at line 858 of file TObject.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveNameTitle()

void TNamed::SavePrimitiveNameTitle ( std::ostream & out,
const char * variable_name )
protectedinherited

Save object name and title into the output stream "out".

Definition at line 135 of file TNamed.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ SaveSelf()

void TDirectoryFile::SaveSelf ( Bool_t force = kFALSE)
overridevirtualinherited

Reimplemented from TDirectory.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ SetBufferSize()

void TDirectoryFile::SetBufferSize ( Int_t bufsize)
overridevirtualinherited

Reimplemented from TDirectory.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ SetModified()

void TDirectoryFile::SetModified ( )
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 118 of file TDirectoryFile.h.

◆ SetMother()

virtual void TDirectory::SetMother ( TObject * mother)
inlinevirtualinherited

Definition at line 259 of file TDirectory.h.

◆ SetName()

void TDirectory::SetName ( const char * newname)
overridevirtualinherited

Set the name for directory If the directory name is changed after the directory was written once, ROOT currently would NOT change the name of correspondent key in the mother directory.

DO NOT use this method to 'rename a directory'. Renaming a directory is currently NOT supported.

Reimplemented from TNamed.

Definition at line 1297 of file TDirectory.cxx.

◆ SetNameTitle()

void TNamed::SetNameTitle ( const char * name,
const char * title )
virtualinherited

Set all the TNamed parameters (name and title).

WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, TContextMenu, TGraph2D, TGraph, TH1, and TNode.

Definition at line 163 of file TNamed.cxx.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetSeekDir()

void TDirectoryFile::SetSeekDir ( Long64_t v)
inlineoverridevirtualinherited

Reimplemented from TDirectory.

Definition at line 119 of file TDirectoryFile.h.

◆ SetTitle()

void TNamed::SetTitle ( const char * title = "")
virtualinherited

◆ SetTRefAction()

void TDirectoryFile::SetTRefAction ( TObject * ref,
TObject * parent )
overridevirtualinherited

Reimplemented from TDirectory.

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ SetWritable()

void TDirectoryFile::SetWritable ( Bool_t writable = kTRUE)
overridevirtualinherited

Reimplemented from TDirectory.

◆ Sizeof()

Int_t TDirectoryFile::Sizeof ( ) const
overridevirtualinherited

Return size of the TNamed part of the TObject.

Reimplemented from TDirectory.

Reimplemented in TFile, TSQLFile, and TXMLFile.

◆ Streamer()

void RooWorkspace::WSDir::Streamer ( TBuffer & R__b)
overridevirtual

TDirectory Streamer.

Reimplemented from TDirectoryFile.

◆ StreamerNVirtual()

void RooWorkspace::WSDir::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 238 of file RooWorkspace.h.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ UnregisterContext()

void TDirectory::UnregisterContext ( TContext * ctxt)
protectedinherited

UnRegister a TContext pointing to this TDirectory object.

Definition at line 1444 of file TDirectory.cxx.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ Write() [1/2]

Int_t TDirectoryFile::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 ) const
overridevirtualinherited

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented from TDirectory.

Reimplemented in TFile, TParallelMergingFile, TSQLFile, and TXMLFile.

◆ Write() [2/2]

Int_t TDirectoryFile::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 )
overridevirtualinherited

Write this object to the current directory.

For more see the const version of this method.

Reimplemented from TDirectory.

Reimplemented in TFile, TParallelMergingFile, TSQLFile, and TXMLFile.

◆ WriteDirHeader()

void TDirectoryFile::WriteDirHeader ( )
overridevirtualinherited

Reimplemented from TDirectory.

◆ WriteKeys()

void TDirectoryFile::WriteKeys ( )
overridevirtualinherited

Reimplemented from TDirectory.

◆ WriteObject() [1/2]

template<typename T>
std::enable_if_t< std::is_base_of< TObject, T >::value, Int_t > TDirectory::WriteObject ( const T * obj,
const char * name,
Option_t * option = "",
Int_t bufsize = 0 )
inlineinherited

Write an object with proper type checking.

Parameters
[in]objPointer to an object to be written.
[in]nameName of the object in the file.
[in]optionOptions. See TDirectoryFile::WriteTObject.
[in]bufsizeBuffer size. See TDirectoryFile::WriteTObject.

This overload takes care of instances of classes that are derived from TObject. The method redirects to TDirectory::WriteTObject.

Definition at line 297 of file TDirectory.h.

◆ WriteObject() [2/2]

template<typename T>
std::enable_if_t<!std::is_base_of< TObject, T >::value, Int_t > TDirectory::WriteObject ( const T * obj,
const char * name,
Option_t * option = "",
Int_t bufsize = 0 )
inlineinherited

Write an object with proper type checking.

Parameters
[in]objPointer to an object to be written.
[in]nameName of the object in the file.
[in]optionOptions. See TDirectoryFile::WriteTObject.
[in]bufsizeBuffer size. See TDirectoryFile::WriteTObject.

This overload takes care of instances of classes that are not derived from TObject. The method redirects to TDirectory::WriteObjectAny.

Definition at line 283 of file TDirectory.h.

◆ WriteObjectAny() [1/2]

Int_t TDirectoryFile::WriteObjectAny ( const void * obj,
const char * classname,
const char * name,
Option_t * option = "",
Int_t bufsize = 0 )
overridevirtualinherited

Reimplemented from TDirectory.

◆ WriteObjectAny() [2/2]

Int_t TDirectoryFile::WriteObjectAny ( const void * obj,
const TClass * cl,
const char * name,
Option_t * option = "",
Int_t bufsize = 0 )
overridevirtualinherited

Reimplemented from TDirectory.

◆ WriteTObject()

Int_t TDirectoryFile::WriteTObject ( const TObject * obj,
const char * name = nullptr,
Option_t * option = "",
Int_t bufsize = 0 )
overridevirtualinherited

Reimplemented from TDirectory.

◆ RooWorkspace

friend class RooWorkspace
friend

Definition at line 234 of file RooWorkspace.h.

Member Data Documentation

◆ _wspace

RooWorkspace* RooWorkspace::WSDir::_wspace
protected

! do not persist

Definition at line 236 of file RooWorkspace.h.

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fBufferSize

Int_t TDirectoryFile::fBufferSize {0}
protectedinherited

Default buffer size to create new TKeys.

Definition at line 41 of file TDirectoryFile.h.

◆ fContext

TContext* TDirectory::fContext {nullptr}
protectedinherited

! Pointer to a list of TContext object pointing to this TDirectory

Definition at line 145 of file TDirectory.h.

◆ fContextPeg

std::atomic<size_t> TDirectory::fContextPeg {0}
protectedinherited

! Counter delaying the TDirectory destructor from finishing.

Definition at line 153 of file TDirectory.h.

◆ fDatimeC

TDatime TDirectoryFile::fDatimeC
protectedinherited

Date and time when directory is created.

Definition at line 37 of file TDirectoryFile.h.

◆ fDatimeM

TDatime TDirectoryFile::fDatimeM
protectedinherited

Date and time of last modification.

Definition at line 38 of file TDirectoryFile.h.

◆ fFile

TFile* TDirectoryFile::fFile {nullptr}
protectedinherited

Pointer to current file in memory.

Definition at line 45 of file TDirectoryFile.h.

◆ fgAddDirectory

Bool_t TDirectory::fgAddDirectory = false
inlinestaticprotectedinherited

!

Deprecated
This flag has no effect in ROOT.

Definition at line 157 of file TDirectory.h.

◆ fGDirectories

std::vector<SharedGDirectory_t> TDirectory::fGDirectories
protectedinherited

! thread local gDirectory pointing to this object.

Definition at line 151 of file TDirectory.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fKeys

TList* TDirectoryFile::fKeys {nullptr}
protectedinherited

Pointer to keys list in memory.

Definition at line 46 of file TDirectoryFile.h.

◆ fList

TList* TDirectory::fList {nullptr}
protectedinherited

List of objects in memory.

Definition at line 142 of file TDirectory.h.

◆ fModified

Bool_t TDirectoryFile::fModified {kFALSE}
protectedinherited

True if directory has been modified.

Definition at line 35 of file TDirectoryFile.h.

◆ fMother

TObject* TDirectory::fMother {nullptr}
protectedinherited

pointer to mother of the directory

Definition at line 141 of file TDirectory.h.

◆ fName

TString TNamed::fName
protectedinherited

Definition at line 32 of file TNamed.h.

◆ fNbytesKeys

Int_t TDirectoryFile::fNbytesKeys {0}
protectedinherited

Number of bytes for the keys.

Definition at line 39 of file TDirectoryFile.h.

◆ fNbytesName

Int_t TDirectoryFile::fNbytesName {0}
protectedinherited

Number of bytes in TNamed at creation time.

Definition at line 40 of file TDirectoryFile.h.

◆ fPathBuffer

TString TDirectory::fPathBuffer
mutableprotectedinherited

! Buffer for GetPath() function

Definition at line 144 of file TDirectory.h.

◆ fSeekDir

Long64_t TDirectoryFile::fSeekDir {0}
protectedinherited

Location of directory on file.

Definition at line 42 of file TDirectoryFile.h.

◆ fSeekKeys

Long64_t TDirectoryFile::fSeekKeys {0}
protectedinherited

Location of Keys record on file.

Definition at line 44 of file TDirectoryFile.h.

◆ fSeekParent

Long64_t TDirectoryFile::fSeekParent {0}
protectedinherited

Location of parent directory on file.

Definition at line 43 of file TDirectoryFile.h.

◆ fSpinLock

std::atomic_flag TDirectory::fSpinLock
mutableprotectedinherited

! MSVC doesn't support = ATOMIC_FLAG_INIT;

Definition at line 154 of file TDirectory.h.

◆ fTitle

TString TNamed::fTitle
protectedinherited

Definition at line 33 of file TNamed.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.

◆ fUUID

TUUID TDirectory::fUUID {TUUID::UUIDv4()}
protectedinherited

Unique identifier.

Definition at line 143 of file TDirectory.h.

◆ fWritable

Bool_t TDirectoryFile::fWritable {kFALSE}
protectedinherited

True if directory is writable.

Definition at line 36 of file TDirectoryFile.h.


The documentation for this class was generated from the following files: