Describe directory structure in memory.
It is possible to retrieve the content of a TDirectory object just like getting items from a Python dictionary. Moreover, once a subdirectory or object is accessed for the first time, it is cached for later use. For example, assuming d is a TDirectory instance: Furthermore, TDirectory implements a WriteObject Python method which relies on TDirectory::WriteObjectAny. This method is a no-op for TDirectory objects, but it is useful for objects of TDirectory subclasses such as TDirectoryFile and TFile, which inherit it. Please refer to the documentation of those classes for more information.
Python interface
Definition at line 45 of file TDirectory.h.
Classes | |
| class | TContext |
| TDirectory::TContext keeps track and restore the current directory. More... | |
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 { kCanDelete = (1ULL << (0)) , kMustCleanup = (1ULL << (3)) , kIsReferenced = (1ULL << (4)) , kHasUUID = (1ULL << (5)) , kCannotPick = (1ULL << (6)) , kNoContextMenu = (1ULL << (8)) , kInvalidObject = (1ULL << (13)) } |
Public Member Functions | |
| TDirectory () | |
| Directory default constructor. | |
| TDirectory (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=nullptr) | |
| Create a new Directory. | |
| virtual | ~TDirectory () |
| Destructor. | |
| 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. | |
| virtual void | Add (TObject *obj, Bool_t replace=kFALSE) |
| Append object to this directory. | |
| virtual void | Append (TObject *obj, Bool_t replace=kFALSE) |
| Append object to this directory. | |
| virtual Int_t | AppendKey (TKey *) |
| virtual void | AppendPad (Option_t *option="") |
| Append graphics object to current pad. | |
| void | Browse (TBrowser *b) override |
| Browse the content of the directory. | |
| virtual void | Build (TFile *motherFile=nullptr, TDirectory *motherDir=nullptr) |
| virtual Bool_t | cd () |
| Change current directory to "this" directory. | |
| virtual Bool_t | cd (const char *path) |
| 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. | |
| TObject * | Clone (const char *newname="") const override |
| Make a clone of an object using the Streamer facility. | |
| virtual TObject * | CloneObject (const TObject *obj, Bool_t autoadd=kTRUE) |
| Clone an object. | |
| virtual void | Close (Option_t *option="") |
| 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 TObject * | DrawClone (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. | |
| virtual void | FillBuffer (char *&buffer) |
| Encode TNamed into output buffer. | |
| virtual TKey * | FindKey (const char *) const |
| virtual TKey * | FindKeyAny (const char *) const |
| TObject * | FindObject (const char *name) const override |
| Find object by name in the list of memory objects. | |
| TObject * | FindObject (const TObject *obj) const override |
| Find object in the list of memory objects. | |
| virtual TObject * | FindObjectAny (const char *name) const |
| Find object by name in the list of memory objects of the current directory or its sub-directories. | |
| virtual TObject * | FindObjectAnyFile (const char *) const |
| template<class T> | |
| T * | Get (const char *namecycle) |
| See documentation of TDirectoryFile::Get(const char *namecycle). | |
| virtual TObject * | Get (const char *namecycle) |
| Return pointer to object identified by namecycle. | |
| virtual Int_t | GetBufferSize () const |
| virtual TDirectory * | GetDirectory (const char *namecycle, Bool_t printError=false, const char *funcname="GetDirectory") |
| Find a directory using apath. | |
| virtual Option_t * | GetDrawOption () const |
| Get option used by the graphics system to draw this object. | |
| virtual TFile * | GetFile () const |
| virtual const char * | GetIconName () const |
| Returns mime type name of object. | |
| virtual TKey * | GetKey (const char *, Short_t=9999) const |
| virtual TList * | GetList () const |
| virtual TList * | GetListOfKeys () const |
| TObject * | GetMother () const |
| TDirectory * | GetMotherDir () const |
| const char * | GetName () const override |
| Returns name of object. | |
| virtual Int_t | GetNbytesKeys () const |
| virtual Int_t | GetNkeys () const |
| template<class T> | |
| void | GetObject (const char *namecycle, T *&ptr) |
| Get an object with proper type checking. | |
| virtual void * | GetObjectChecked (const char *namecycle, const char *classname) |
| See documentation of TDirectory::GetObjectCheck(const char *namecycle, const TClass *cl). | |
| virtual void * | GetObjectChecked (const char *namecycle, const TClass *cl) |
| 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). | |
| virtual void * | GetObjectUnchecked (const char *namecycle) |
| Return pointer to object identified by namecycle. | |
| virtual Option_t * | GetOption () 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. | |
| virtual Long64_t | GetSeekDir () const |
| virtual Long64_t | GetSeekKeys () const |
| virtual Long64_t | GetSeekParent () const |
| 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) |
| TClass * | IsA () 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). | |
| virtual Bool_t | IsModified () const |
| Bool_t | IsOnHeap () const |
| Bool_t | IsSortable () const override |
| virtual Bool_t | IsWritable () const |
| 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). | |
| virtual TDirectory * | mkdir (const char *name, const char *title="", Bool_t returnExistingDirectory=kFALSE) |
| 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. | |
| virtual TFile * | OpenFile (const char *, Option_t *="", const char *="", Int_t=1, Int_t=0) |
| 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. | |
| virtual void | Purge (Short_t=1) |
| 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. | |
| virtual void | ReadAll (Option_t *="") |
| virtual Int_t | ReadKeys (Bool_t=kTRUE) |
| virtual Int_t | ReadTObject (TObject *, const char *) |
| void | RecursiveRemove (TObject *obj) override |
| Recursively remove object from a Directory. | |
| virtual TObject * | Remove (TObject *) |
| Remove an object from the in-memory list. | |
| void | ResetBit (UInt_t f) |
| virtual void | rmdir (const char *name) |
| 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;*");. | |
| virtual void | Save () |
| virtual void | SaveAs (const char *filename="", Option_t *option="") const |
| Save this object in the file specified by filename. | |
| virtual Int_t | SaveObjectAs (const TObject *, const char *="", Option_t *="") const |
| 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". | |
| virtual void | SaveSelf (Bool_t=kFALSE) |
| void | SetBit (UInt_t f) |
| void | SetBit (UInt_t f, Bool_t set) |
| Set or unset the user status bits as specified in f. | |
| virtual void | SetBufferSize (Int_t) |
| virtual void | SetDrawOption (Option_t *option="") |
| Set drawing option for object. | |
| virtual void | SetModified () |
| 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). | |
| virtual void | SetSeekDir (Long64_t) |
| virtual void | SetTitle (const char *title="") |
| Set the title of the TNamed. | |
| virtual void | SetTRefAction (TObject *, TObject *) |
| virtual void | SetUniqueID (UInt_t uid) |
| Set the unique object id. | |
| virtual void | SetWritable (Bool_t) |
| 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. | |
| virtual Int_t | Write (const char *=nullptr, Int_t=0, Int_t=0) const override |
| Write this object to the current directory. | |
| virtual Int_t | Write (const char *=nullptr, Int_t=0, Int_t=0) override |
| Write this object to the current directory. | |
| virtual void | WriteDirHeader () |
| virtual void | WriteKeys () |
| template<typename T> | |
| std::enable_if_t< std::is_base_of< TObject, T >::value, Int_t > | WriteObject (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_t > | WriteObject (const T *obj, const char *name, Option_t *option="", Int_t bufsize=0) |
| Write an object with proper type checking. | |
| virtual Int_t | WriteObjectAny (const void *, const char *, const char *, Option_t *="", Int_t=0) |
| virtual Int_t | WriteObjectAny (const void *, const TClass *, const char *, Option_t *="", Int_t=0) |
| virtual Int_t | WriteTObject (const TObject *obj, const char *name=nullptr, Option_t *="", Int_t=0) |
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 TClass * | Class () |
| 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 | |
| TDirectory (const TDirectory &directory)=delete | |
| void | BuildDirectory (TFile *motherFile, TDirectory *motherDir) |
| Initialise directory to defaults. | |
| 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 () |
| Clean the pointers to this object (gDirectory, TContext, etc.). | |
| 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 | MakeZombie () |
| void | operator= (const TDirectory &)=delete |
| 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_t & | GetSharedLocalCurrentDirectory () |
| 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 | |
| TContext * | fContext {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. | |
| std::vector< SharedGDirectory_t > | fGDirectories |
| ! thread local gDirectory pointing to this object. | |
| TList * | fList {nullptr} |
| List of objects in memory. | |
| TObject * | fMother {nullptr} |
| pointer to mother of the directory | |
| TString | fName |
| TString | fPathBuffer |
| ! Buffer for GetPath() function | |
| std::atomic_flag | fSpinLock |
| ! MSVC doesn't support = ATOMIC_FLAG_INIT; | |
| TString | fTitle |
| TUUID | fUUID {TUUID::UUIDv4()} |
| Unique identifier. | |
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 | |
| struct | ROOT::Internal::TDirectoryAtomicAdapter |
| class | TContext |
#include <TDirectory.h>
|
protected |
Definition at line 147 of file TDirectory.h.
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protecteddelete |
| TDirectory::TDirectory | ( | ) |
Directory default constructor.
Definition at line 53 of file TDirectory.cxx.
| TDirectory::TDirectory | ( | const char * | name, |
| const char * | title, | ||
| Option_t * | option = "", | ||
| TDirectory * | initMotherDir = nullptr ) |
Create a new Directory.
A new directory with name,title is created in the current directory The directory header information is immediately saved in the file A new key is added in the parent directory
When this constructor is called from a class directly derived from TDirectory, the third argument classname MUST be specified. In this case, classname must be the name of the derived class.
Note that the directory name cannot contain slashes.
Definition at line 72 of file TDirectory.cxx.
|
virtual |
Destructor.
Definition at line 97 of file TDirectory.cxx.
|
static |
|
static |
|
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.
Definition at line 1149 of file TObject.cxx.
Append object to this directory.
Reimplemented in RooWorkspace::WSDir, and TDirectoryFile.
Definition at line 184 of file TDirectory.h.
|
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 object to this directory.
If replace is true: remove any existing objects with the same name (if the name is not "")
Reimplemented in RooWorkspace::WSDir, TDirectoryFile, and TROOT.
Definition at line 203 of file TDirectory.cxx.
Reimplemented in TDirectoryFile.
Definition at line 185 of file TDirectory.h.
|
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.
|
overridevirtual |
Browse the content of the directory.
Reimplemented from TObject.
Reimplemented in TDirectoryFile, and TROOT.
Definition at line 233 of file TDirectory.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 187 of file TDirectory.h.
|
protected |
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.
|
static |
|
virtual |
Change current directory to "this" directory.
Returns kTRUE (it's guaranteed to succeed).
Reimplemented in TDirectoryFile.
Definition at line 544 of file TDirectory.cxx.
|
virtual |
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 in TDirectoryFile.
Definition at line 568 of file TDirectory.cxx.
|
staticprotected |
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.
|
protected |
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.
|
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.
|
static |
|
static |
|
inlinestaticconstexpr |
Definition at line 309 of file TDirectory.h.
|
virtualinherited |
Returns name of class to which the object belongs.
Definition at line 227 of file TObject.cxx.
|
protected |
Clean the pointers to this object (gDirectory, TContext, etc.).
Definition at line 270 of file TDirectory.cxx.
|
overridevirtual |
Delete all objects from a Directory list.
Reimplemented from TObject.
Definition at line 640 of file TDirectory.cxx.
|
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.
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 in TDirectoryFile.
Definition at line 370 of file TDirectory.cxx.
|
virtual |
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 in TDirectoryFile, TFile, TParallelMergingFile, TSQLFile, and TXMLFile.
Definition at line 651 of file TDirectory.cxx.
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.
|
inlineoverridevirtual |
Copy this to obj.
Reimplemented from TObject.
Reimplemented in TDirectoryFile, and TFile.
Definition at line 192 of file TDirectory.h.
|
static |
Return the current directory for the current thread.
Definition at line 438 of file TDirectory.cxx.
|
inlinestatic |
Definition at line 309 of file TDirectory.h.
|
static |
|
overridevirtual |
Delete Objects or/and keys in a directory.
To delete one directory, you must specify the directory cycle, eg. file.Delete("dir1;1");
examples:
Reimplemented from TObject.
Reimplemented in TDirectoryFile, and TFile.
Definition at line 718 of file TDirectory.cxx.
|
virtual |
Delete all objects from memory.
Definition at line 691 of file TDirectory.cxx.
Computes distance from point (px,py) to the object.
This member function must be implemented for each graphics primitive. This default function returns a big number (999999).
Reimplemented in TASImage, TAxis3D, TAxis, TBox, TBRIK, TColorWheel, TCrown, TCurlyArc, TCurlyLine, TDiamond, TEfficiency, TEllipse, TF1, TF2, TF3, TFileDrawMap, TGenerator, TGeoBBox, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoEltu, TGeoHalfSpace, TGeoHype, TGeoNode, TGeoOverlap, TGeoParaboloid, TGeoPcon, TGeoPgon, TGeoScaledShape, TGeoShape, TGeoShapeAssembly, TGeoSphere, TGeoTessellated, TGeoTorus, TGeoTrack, TGeoTube, TGeoTubeSeg, TGeoVGShape, TGeoVolume, TGeoXtru, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLScenePad, TGLTH3Composition, TGLViewer, TGraph2D, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TH1, THistPainter, THStack, TLine, TMarker3DBox, TMarker, TMultiGraph, TNode, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPCON, TPie, TPieSlice, TPoints3DABC, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TScatter2D, TScatter, TSPHE, TSpider, TSpline, TStyle, TText, TTreePerfStats, TTUBE, TTUBS, TVirtualHistPainter, and TXTRU.
Definition at line 284 of file TObject.cxx.
|
protectedvirtualinherited |
Interface to ErrorHandler (protected).
Reimplemented in TThread, and TTreeViewer.
Definition at line 1059 of file TObject.cxx.
|
overridevirtual |
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.
|
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.
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
If pad was not selected - gPad will be used.
Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.
Definition at line 319 of file TObject.cxx.
|
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:
Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.
Definition at line 367 of file TObject.cxx.
|
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.
|
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.
|
virtualinherited |
Execute method on this object with parameters stored in the TObjArray.
The TObjArray should contain an argv vector like:
Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.
Definition at line 398 of file TObject.cxx.
Execute action corresponding to an event at (px,py).
This method must be overridden if an object can react to graphics events.
Reimplemented in TASImage, TASPaletteEditor::LimitLine, TAxis3D, TAxis, TBox, TButton, TCanvas, TCrown, TCurlyArc, TCurlyLine, TDiamond, TEfficiency, TEllipse, TF1, TF2, TF3, TFrame, TGenerator, TGeoManager, TGeoNode, TGeoOverlap, TGeoShape, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLEventHandler, TGLHistPainter, TGLParametricEquation, TGLScenePad, TGLTH3Composition, TGLViewer, TGraph2D, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGroupButton, TH1, THistPainter, TLine, TLink, TMarker3DBox, TMarker, TNode, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TScatter2D, TScatter, TSliderBox, TSpider, TSpline, TText, TTreePerfStats, TView3D, TView, TVirtualHistPainter, and TWbox.
Definition at line 415 of file TObject.cxx.
|
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.
|
virtualinherited |
Encode TNamed into output buffer.
Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.
Definition at line 103 of file TNamed.cxx.
|
protected |
Recursive method to fill full path for directory.
Definition at line 1067 of file TDirectory.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 198 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 199 of file TDirectory.h.
|
overridevirtual |
Find object by name in the list of memory objects.
Reimplemented from TObject.
Reimplemented in TROOT.
Definition at line 790 of file TDirectory.cxx.
Find object in the list of memory objects.
Reimplemented from TObject.
Reimplemented in TROOT.
Definition at line 782 of file TDirectory.cxx.
|
virtual |
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 in TDirectoryFile, and TROOT.
Definition at line 802 of file TDirectory.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile, and TROOT.
Definition at line 203 of file TDirectory.h.
|
inline |
See documentation of TDirectoryFile::Get(const char *namecycle).
Definition at line 206 of file TDirectory.h.
|
virtual |
Return pointer to object identified by namecycle.
namecycle has the format name;cycle
examples:
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:
VERY IMPORTANT NOTE:
In case the class of this object derives from TObject but not as a first inheritance, one must use dynamic_cast<>().
then on return, one can do:
then on return, one must do:
Of course, dynamic_cast<> can also be used in the example 1.
Reimplemented in TDirectoryFile, and TDirectoryFile.
Definition at line 872 of file TDirectory.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 220 of file TDirectory.h.
|
virtual |
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 in TDirectoryFile.
Definition at line 454 of file TDirectory.cxx.
|
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.
|
staticinherited |
Return destructor only flag.
Definition at line 1196 of file TObject.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile, and TROOT.
Definition at line 221 of file TDirectory.h.
|
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.
Reimplemented in TDirectoryFile.
Definition at line 222 of file TDirectory.h.
|
inlinevirtual |
Definition at line 223 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 224 of file TDirectory.h.
|
inline |
Definition at line 225 of file TDirectory.h.
|
inline |
Definition at line 226 of file TDirectory.h.
|
inlineoverridevirtualinherited |
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 227 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 228 of file TDirectory.h.
|
inline |
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.
|
virtual |
See documentation of TDirectory::GetObjectCheck(const char *namecycle, const TClass *cl).
Reimplemented in TDirectoryFile.
Definition at line 935 of file TDirectory.cxx.
|
virtual |
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
VERY IMPORTANT NOTE:
The calling application must cast the returned pointer to the type described by the 2 arguments (i.e. cl):
Note: We recommend using the method TDirectory::GetObject:
Reimplemented in TDirectoryFile.
Definition at line 964 of file TDirectory.cxx.
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.
|
staticinherited |
Get status of object stat flag.
Definition at line 1181 of file TObject.cxx.
|
virtual |
Return pointer to object identified by namecycle.
The returned object may or may not derive from TObject.
VERY IMPORTANT NOTE:
The calling application must cast the returned object to the final type, e.g.
Reimplemented in TDirectoryFile.
Definition at line 927 of file TDirectory.cxx.
|
inlinevirtualinherited |
Reimplemented in TArrow, TAxis3D, TFile, TGaxis, TGeoVolume, TH1, THelix, TLegendEntry, TMapFile, TNode, TPave, TPoints3DABC, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPSocket, TSelector, TSocket, and TUDPSocket.
|
virtual |
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.
|
virtual |
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.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 229 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 231 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 230 of file TDirectory.h.
|
staticprotected |
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.
|
inlineoverridevirtualinherited |
|
virtualinherited |
Return the unique object id.
Definition at line 480 of file TObject.cxx.
|
inline |
Definition at line 234 of file TDirectory.h.
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.
|
inlineoverridevirtualinherited |
Return hash value for this object.
Note: If this routine is overloaded in a derived class, this derived class should also add
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
Reimplemented from TObject.
|
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)
|
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.
|
virtualinherited |
Returns kTRUE if object inherits from class "classname".
Reimplemented in TClass.
Definition at line 549 of file TObject.cxx.
Returns kTRUE if object inherits from TClass cl.
Reimplemented in TClass.
Definition at line 557 of file TObject.cxx.
|
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.
|
inlineoverridevirtual |
Reimplemented from TObject.
Reimplemented in RooWorkspace::WSDir, TDirectoryFile, TFile, TMemFile, TNetXNGFile, TParallelMergingFile, TSQLFile, and TXMLFile.
Definition at line 309 of file TDirectory.h.
|
inline |
Definition at line 235 of file TDirectory.h.
|
inlineinherited |
IsDestructed.
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.
|
inlineoverridevirtual |
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.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 237 of file TDirectory.h.
|
inlineoverridevirtualinherited |
Reimplemented from TObject.
Reimplemented in TStructNodeProperty.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 238 of file TDirectory.h.
|
overridevirtual |
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 TObject.
Reimplemented in TDirectoryFile, TFile, and TROOT.
Definition at line 1153 of file TDirectory.cxx.
|
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.
|
virtual |
Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...".
| name | the name or hierarchy of the subdirectory ("a" or "a/b/c") |
| title | the title |
| returnExistingDirectory | if key-name is already existing, the returned value points to preexisting sub-directory if true and to nullptr if false. |
In particular, the steps to create first a/b/c and then a/b/d without receiving errors are:
or
Reimplemented in TDirectoryFile.
Definition at line 1112 of file TDirectory.cxx.
|
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.
|
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.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 241 of file TDirectory.h.
|
inherited |
Operator delete for sized deallocation.
Definition at line 1234 of file TObject.cxx.
|
inherited |
Operator delete.
Definition at line 1212 of file TObject.cxx.
|
inherited |
Only called by placement new when throwing an exception.
Definition at line 1266 of file TObject.cxx.
|
inherited |
Operator delete [] for sized deallocation.
Definition at line 1245 of file TObject.cxx.
|
inherited |
Operator delete [].
Definition at line 1223 of file TObject.cxx.
|
inherited |
Only called by placement new[] when throwing an exception.
Definition at line 1274 of file TObject.cxx.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
protecteddelete |
|
overridevirtual |
|
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.
|
overridevirtual |
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 246 of file TDirectory.h.
|
virtual |
Print the path of the directory.
Definition at line 1205 of file TDirectory.cxx.
|
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.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 248 of file TDirectory.h.
Reimplemented in TDirectoryFile.
Definition at line 249 of file TDirectory.h.
Reimplemented in TDirectoryFile.
Definition at line 250 of file TDirectory.h.
|
overridevirtual |
Recursively remove object from a Directory.
Reimplemented from TObject.
Reimplemented in TROOT.
Definition at line 1213 of file TDirectory.cxx.
|
protected |
|
protected |
Remove an object from the in-memory list.
Reimplemented in TROOT.
Definition at line 1222 of file TDirectory.cxx.
|
virtual |
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 in TDirectoryFile.
Definition at line 1237 of file TDirectory.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 254 of file TDirectory.h.
|
virtualinherited |
Save this object in the file specified by filename.
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.
|
virtual |
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 in TDirectoryFile.
Definition at line 1260 of file TDirectory.cxx.
|
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.
|
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.
|
staticprotectedinherited |
Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
Definition at line 845 of file TObject.cxx.
|
protectedinherited |
Save object name and title into the output stream "out".
Definition at line 135 of file TNamed.cxx.
|
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.
Reimplemented in TDirectoryFile.
Definition at line 256 of file TDirectory.h.
Set or unset the user status bits as specified in f.
Definition at line 888 of file TObject.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 257 of file TDirectory.h.
|
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.
|
staticinherited |
Set destructor only flag.
Definition at line 1204 of file TObject.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 258 of file TDirectory.h.
|
inlinevirtual |
Definition at line 259 of file TDirectory.h.
|
overridevirtual |
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.
|
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.
|
staticinherited |
Turn on/off tracking of objects in the TObjectTable.
Definition at line 1188 of file TObject.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 262 of file TDirectory.h.
|
virtualinherited |
Set the title of the TNamed.
Reimplemented in Axis2, RooPlot, ROOT::Experimental::XRooFit::xRooNode, ROOT::TSchemaRule::TSources, TASImage, TEfficiency, TF1, TGraph2D, TGraph, TH1, THnBase, TParallelCoordVar, TSystemDirectory, and TSystemFile.
Definition at line 173 of file TNamed.cxx.
Reimplemented in TDirectoryFile.
Definition at line 261 of file TDirectory.h.
|
virtualinherited |
Set the unique object id.
Definition at line 899 of file TObject.cxx.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 263 of file TDirectory.h.
|
inlineoverridevirtual |
Return size of the TNamed part of the TObject.
Reimplemented from TNamed.
Reimplemented in TDirectoryFile, TFile, TSQLFile, and TXMLFile.
Definition at line 264 of file TDirectory.h.
|
overridevirtual |
TDirectory Streamer.
Reimplemented from TObject.
Reimplemented in RooWorkspace::WSDir, TDirectoryFile, TFile, TMemFile, TNetXNGFile, TParallelMergingFile, TSQLFile, and TXMLFile.
Definition at line 1466 of file TDirectory.cxx.
|
inline |
Definition at line 309 of file TDirectory.h.
|
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.
|
protected |
UnRegister a TContext pointing to this TDirectory object.
Definition at line 1444 of file TDirectory.cxx.
|
virtualinherited |
|
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.
|
inlineoverridevirtual |
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:
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 TObject.
Reimplemented in TDirectoryFile, TFile, TParallelMergingFile, TSQLFile, and TXMLFile.
Definition at line 266 of file TDirectory.h.
|
inlineoverridevirtual |
Write this object to the current directory.
For more see the const version of this method.
Reimplemented from TObject.
Reimplemented in ROOT::TBufferMergerFile, TDirectoryFile, TFile, TParallelMergingFile, TSQLFile, and TXMLFile.
Definition at line 265 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 303 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 304 of file TDirectory.h.
|
inline |
Write an object with proper type checking.
| [in] | obj | Pointer to an object to be written. |
| [in] | name | Name of the object in the file. |
| [in] | option | Options. See TDirectoryFile::WriteTObject. |
| [in] | bufsize | Buffer 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.
|
inline |
Write an object with proper type checking.
| [in] | obj | Pointer to an object to be written. |
| [in] | name | Name of the object in the file. |
| [in] | option | Options. See TDirectoryFile::WriteTObject. |
| [in] | bufsize | Buffer 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.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 301 of file TDirectory.h.
|
inlinevirtual |
Reimplemented in TDirectoryFile.
Definition at line 302 of file TDirectory.h.
|
virtual |
Reimplemented in TDirectoryFile.
|
friend |
Definition at line 170 of file TDirectory.h.
|
friend |
Definition at line 169 of file TDirectory.h.
|
privateinherited |
|
protected |
! Pointer to a list of TContext object pointing to this TDirectory
Definition at line 145 of file TDirectory.h.
|
protected |
! Counter delaying the TDirectory destructor from finishing.
Definition at line 153 of file TDirectory.h.
|
inlinestaticprotected |
|
protected |
! thread local gDirectory pointing to this object.
Definition at line 151 of file TDirectory.h.
|
staticprivateinherited |
|
protected |
List of objects in memory.
Definition at line 142 of file TDirectory.h.
|
protected |
pointer to mother of the directory
Definition at line 141 of file TDirectory.h.
|
mutableprotected |
! Buffer for GetPath() function
Definition at line 144 of file TDirectory.h.
|
mutableprotected |
! MSVC doesn't support = ATOMIC_FLAG_INIT;
Definition at line 154 of file TDirectory.h.
|
privateinherited |
|
protected |
Unique identifier.
Definition at line 143 of file TDirectory.h.