A file, usually with extension .root, that stores data and code in the form of serialized objects in a file-system-like logical structure, possibly including subdirectory hierarchies.
In the same way as for TDirectory, it is possible to get the content of a TFile object with the familiar item-getting syntax. For more information, please refer to the TDirectory documentation. In addition, TFile instances can be inspected via the Get method, a feature that is inherited from TDirectoryFile (please see the documentation of TDirectoryFile for examples on how to use it). In order to write objects into a TFile, the WriteObject Python method can be used (more information in the documentation of TDirectoryFile). PyROOT modifies the TFile constructor and the TFile::Open method to make them behave in a more pythonic way. In particular, they both throw an OSError if there was a problem accessing the file (e.g. non-existent or corrupted file). This class can also be used as a context manager, with the goal of opening a file and doing some quick manipulations of the objects inside it. The TFile::Close method will be automatically called at the end of the context. For example: Since the file is closed at the end of the context, all objects created or read from the file inside the context are not accessible anymore in the application (but they will be stored in the file if they were written to it). ROOT objects like histograms can be detached from a file with the SetDirectory method. This will leave the object untouched so that it can be accessed after the end of the context:
Python interface
ROOT files a are an efficient mean to store C++ class instances, e.g. data, both as individual objects, in a so called row-wise fashion, and in a so-called columnar fashion*. Also executable code can be stored in ROOT files, for example in the form of TMacro, TExec or TFormula instances, and the related federation of classes.
For example, a TCanvas or TPad instance may rely on TExec instances stored in their list of executables to obtain certain graphics effects: in this case, code will be executed upon drawing. A TH1 or a TGraph instance, as well as their multidimensional counterparts and derived classes, may also execute code upon drawing through TExec instances stored in their list of functions. Another example of code which is executable is represented by TFormula instances, that are the "computational workhorse" of function classes such as TF1, its multidimensional counterparts, and related classes. There, jitted C++ code is executed for example upon evaluation, for example during fits or drawing operations, to obtain maximum runtime performance.
A ROOT file is composed of a header, followed by consecutive data records (TKey instances) with a well defined format.
The first data record starts at byte fBEGIN (currently set to kBEGIN). Bytes 1->kBEGIN contain the file description, when fVersion >= 1000000 it is a large file (> 2 GB) and the offsets will be 8 bytes long and fUnits will be set to 8:
| Byte Range | Record Name | Description |
|---|---|---|
| 1->4 | "root" | Root file identifier |
| 5->8 | fVersion | File format version |
| 9->12 | fBEGIN | Pointer to first data record |
| 13->16 [13->20] | fEND | Pointer to first free word at the EOF |
| 17->20 [21->28] | fSeekFree | Pointer to FREE data record |
| 21->24 [29->32] | fNbytesFree | Number of bytes in FREE data record |
| 25->28 [33->36] | nfree | Number of free data records |
| 29->32 [37->40] | fNbytesName | Number of bytes in TNamed at creation time |
| 33->33 [41->41] | fUnits | Number of bytes for file pointers |
| 34->37 [42->45] | fCompress | Compression level and algorithm |
| 38->41 [46->53] | fSeekInfo | Pointer to TStreamerInfo record |
| 42->45 [54->57] | fNbytesInfo | Number of bytes in TStreamerInfo record |
| 46->63 [58->75] | fUUID | Universal Unique ID |
For the purpose of magic bytes in the context of ROOT files' MIME definition, the following additional requirements are introduced:
The key structure is as follows; if a key is located past the 32 bit file limit (> 2 GB) then some fields will be 8 instead of 4 bytes (see parts marked with square brackets below):
| Byte Range | Member Name | Description |
|---|---|---|
| 1->4 | Nbytes | Length of compressed object (in bytes) |
| 5->6 | Version | TKey version identifier |
| 7->10 | ObjLen | Length of uncompressed object |
| 11->14 | Datime | Date and time when object was written to file |
| 15->16 | KeyLen | Length of the key structure (in bytes) |
| 17->18 | Cycle | Cycle of key |
| 19->22 [19->26] | SeekKey | Pointer to record itself (consistency check) |
| 23->26 [27->34] | SeekPdir | Pointer to directory header |
| 27->27 [35->35] | lname | Number of bytes in the class name |
| 28->.. [36->..] | ClassName | Object Class Name |
| ..->.. | lname | Number of bytes in the object name |
| ..->.. | Name | lName bytes with the name of the object |
| ..->.. | lTitle | Number of bytes in the object title |
| ..->.. | Title | Title of the object |
| -----> | DATA | Data bytes associated to the object |
End_Macro
The structure of a directory is shown in TDirectoryFile::TDirectoryFile
Classes | |
| struct | InfoListRet |
| Simple struct of the return value of GetStreamerInfoListImpl. 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 | { kStartBigFile = 2000000000 } |
| enum | EAsyncOpenStatus { kAOSNotAsync = -1 , kAOSFailure = 0 , kAOSInProgress = 1 , kAOSSuccess = 2 } |
| Asynchronous open request status. More... | |
| enum | ECacheAction { kDisconnect = 0 , kDoNotDisconnect = 1 } |
| TTreeCache flushing semantics. More... | |
| enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) } |
| enum | EFileType { kDefault = 0 , kLocal = 1 , kNet = 2 , kWeb = 3 , kFile = 4 , kMerge = 5 } |
| File type. More... | |
| enum | EOpenTimeOut { kInstantTimeout = 0 , kEternalTimeout = 999999999 } |
| Open timeout constants. More... | |
| enum | ERelativeTo { kBeg = 0 , kCur = 1 , kEnd = 2 } |
| enum | EStatusBits { k630forwardCompatibility = (1ULL << (2)) , kRecovered = (1ULL << (10)) , kHasReferences = (1ULL << (11)) , kDevNull = (1ULL << (12)) , kWriteError = (1ULL << (14)) , kBinaryFile = (1ULL << (15)) , kRedirected = (1ULL << (16)) , kReproducible = (1ULL << (17)) , kCancelTTreeChangeRequest = (1ULL << (18)) } |
| TFile status bits. BIT(13) is taken up by TObject. More... | |
Public Member Functions | |
| TFile () | |
| File default Constructor. | |
| TFile (const char *fname, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault) | |
| Opens or creates a local ROOT file. | |
| ~TFile () override | |
| File 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. | |
| void | Add (TObject *obj, Bool_t replace=kFALSE) override |
| Append object to this directory. | |
| void | Append (TObject *obj, Bool_t replace=kFALSE) override |
| Append object to this directory. | |
| 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. | |
| TObject * | Clone (const char *newname="") const override |
| Make a clone of an object using the Streamer facility. | |
| TObject * | CloneObject (const TObject *obj, Bool_t autoadd=kTRUE) override |
| Clone an object. | |
| void | Close (Option_t *option="") override |
| Close a file. | |
| Int_t | Compare (const TObject *obj) const override |
| Compare two TNamed objects. | |
| void | Copy (TObject &) const override |
| Copy this to obj. | |
| virtual Bool_t | Cp (const char *dst, Bool_t progressbar=kTRUE, UInt_t bufsize=1000000) |
| Allows to copy this file to the dst URL. | |
| virtual TKey * | CreateKey (TDirectory *mother, const TObject *obj, const char *name, Int_t bufsize) |
| Creates key for object and converts data to buffer. | |
| virtual TKey * | CreateKey (TDirectory *mother, const void *obj, const TClass *cl, const char *name, Int_t bufsize) |
| Creates key for object and converts data to buffer. | |
| 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 | DrawMap (const char *keys="*", Option_t *option="") |
| Draw map of objects in this file. | |
| 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 file output buffer. | |
| TKey * | FindKey (const char *keyname) const override |
| TKey * | FindKeyAny (const char *keyname) const override |
| 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. | |
| TObject * | FindObjectAny (const char *name) const override |
| Find object by name in the list of memory objects of the current directory or its sub-directories. | |
| TObject * | FindObjectAnyFile (const char *name) const override |
| virtual void | Flush () |
| Synchronize a file's in-memory and on-disk states. | |
| template<class T> | |
| T * | Get (const char *namecycle) |
| See documentation of TDirectoryFile::Get(const char *namecycle). | |
| TObject * | Get (const char *namecycle) override |
| Return pointer to object identified by namecycle. | |
| TArchiveFile * | GetArchive () const |
| Long64_t | GetArchiveOffset () const |
| Int_t | GetBestBuffer () const |
| Return the best buffer size of objects on this file. | |
| Int_t | GetBufferSize () const override |
| virtual Long64_t | GetBytesRead () const |
| virtual Long64_t | GetBytesReadExtra () const |
| virtual Int_t | GetBytesToPrefetch () const |
| Max number of bytes to prefetch. | |
| virtual Long64_t | GetBytesWritten () const |
| Return the total number of bytes written so far to the file. | |
| TFileCacheRead * | GetCacheRead (const TObject *tree=nullptr) const |
| Return a pointer to the current read cache. | |
| TFileCacheWrite * | GetCacheWrite () const |
| Return a pointer to the current write cache. | |
| TArrayC * | GetClassIndex () const |
| Int_t | GetCompressionAlgorithm () const |
| Float_t | GetCompressionFactor () |
| Return the file compression factor. | |
| Int_t | GetCompressionLevel () const |
| Int_t | GetCompressionSettings () const |
| const TDatime & | GetCreationDate () const |
| TDirectory * | GetDirectory (const char *apath, Bool_t printError=false, const char *funcname="GetDirectory") override |
| Find a directory using apath. | |
| virtual Option_t * | GetDrawOption () const |
| Get option used by the graphics system to draw this object. | |
| virtual Long64_t | GetEND () const |
| virtual const TUrl * | GetEndpointUrl () const |
| virtual Int_t | GetErrno () const |
| Method returning errno. | |
| Int_t | GetFd () const |
| TFile * | GetFile () const override |
| virtual const char * | GetIconName () const |
| Returns mime type name of object. | |
| TKey * | GetKey (const char *name, Short_t cycle=9999) const override |
| virtual TList * | GetList () const |
| TList * | GetListOfFree () const |
| TList * | GetListOfKeys () const override |
| TObjArray * | GetListOfProcessIDs () const |
| const TDatime & | GetModificationDate () const |
| TObject * | GetMother () const |
| TDirectory * | GetMotherDir () const |
| const char * | GetName () const override |
| Returns name of object. | |
| virtual Int_t | GetNbytesFree () const |
| virtual Int_t | GetNbytesInfo () const |
| Int_t | GetNbytesKeys () const override |
| virtual TString | GetNewUrl () |
| virtual Int_t | GetNfree () const |
| Int_t | GetNkeys () const override |
| virtual Int_t | GetNProcessIDs () const |
| 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. | |
| Option_t * | GetOption () const override |
| 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 Int_t | GetReadCalls () const |
| Int_t | GetRecordHeader (char *buf, Long64_t first, Int_t maxbytes, Int_t &nbytes, Int_t &objlen, Int_t &keylen) |
| Read the logical record header starting at a certain postion. | |
| Long64_t | GetRelOffset () const |
| Long64_t | GetSeekDir () const override |
| virtual Long64_t | GetSeekFree () const |
| virtual Long64_t | GetSeekInfo () const |
| Long64_t | GetSeekKeys () const override |
| Long64_t | GetSeekParent () const override |
| virtual Long64_t | GetSize () const |
| Returns the current file size. | |
| const TList * | GetStreamerInfoCache () |
| Returns the cached list of StreamerInfos used in this file. | |
| virtual TList * | GetStreamerInfoList () final |
| Read the list of TStreamerInfo objects written to this file. | |
| const char * | GetTitle () const override |
| Returns title of object. | |
| virtual UInt_t | GetUniqueID () const |
| Return the unique object id. | |
| TUUID | GetUUID () const |
| Int_t | GetVersion () 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 | IncrementProcessIDs () |
| 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 |
| virtual Bool_t | IsArchive () const |
| Bool_t | IsBinary () const |
| 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 |
| virtual Bool_t | IsOpen () const |
| Returns kTRUE in case file is open and kFALSE if file is not open. | |
| Bool_t | IsRaw () const |
| Bool_t | IsSortable () const override |
| Bool_t | IsWritable () const override |
| Bool_t | IsZombie () const |
| void | ls (Option_t *option="") const override |
| List file contents. | |
| virtual void | MakeFree (Long64_t first, Long64_t last) |
| Mark unused bytes on the file. | |
| virtual void | MakeProject (const char *dirname, const char *classes="*", Option_t *option="new") |
| Generate source code necessary to access the objects stored in the file. | |
| virtual void | Map () |
| virtual void | Map (Option_t *opt) |
| List the contents of a file sequentially. | |
| virtual Bool_t | Matches (const char *name) |
| Return kTRUE if 'url' matches the coordinates of this file. | |
| 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). | |
| 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/...". | |
| virtual Bool_t | MustFlush () const |
| 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. | |
| TFile * | OpenFile (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 file. | |
| 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 file. | |
| 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 |
| virtual Bool_t | ReadBuffer (char *buf, Int_t len) |
| Read a buffer from the file. | |
| virtual Bool_t | ReadBuffer (char *buf, Long64_t pos, Int_t len) |
| Read a buffer from the file at the offset 'pos' in the file. | |
| virtual Bool_t | ReadBufferAsync (Long64_t offs, Int_t len) |
| virtual Bool_t | ReadBuffers (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf) |
| Read the nbuf blocks described in arrays pos and len. | |
| virtual void | ReadFree () |
| Read the FREE linked list. | |
| Int_t | ReadKeys (Bool_t forceRead=kTRUE) override |
| virtual TProcessID * | ReadProcessID (UShort_t pidf) |
| The TProcessID with number pidf is read from this file. | |
| virtual void | ReadStreamerInfo () |
| Read the list of StreamerInfo from this file. | |
| Int_t | ReadTObject (TObject *obj, const char *keyname) override |
| virtual Int_t | Recover () |
| Attempt to recover file if not correctly closed. | |
| void | RecursiveRemove (TObject *obj) override |
| Recursively remove object from a Directory. | |
| virtual TObject * | Remove (TObject *) |
| Remove an object from the in-memory list. | |
| virtual Int_t | ReOpen (Option_t *mode) |
| Reopen a file with a different access mode. | |
| virtual void | ResetAfterMerge (TFileMergeInfo *) |
| void | ResetBit (UInt_t f) |
| virtual void | ResetErrno () const |
| Method resetting the errno. | |
| 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 |
| virtual void | Seek (Long64_t offset, ERelativeTo pos=kBeg) |
| Seek to a specific position in the file. Pos it either kBeg, kCur or kEnd. | |
| 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 | SetCacheRead (TFileCacheRead *cache, TObject *tree=nullptr, ECacheAction action=kDisconnect) |
| Set a pointer to the read cache. | |
| virtual void | SetCacheWrite (TFileCacheWrite *cache) |
| Set a pointer to the write cache. | |
| virtual void | SetCompressionAlgorithm (Int_t algorithm=ROOT::RCompressionSetting::EAlgorithm::kUseGlobal) |
| See comments for function SetCompressionSettings. | |
| virtual void | SetCompressionLevel (Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin) |
| See comments for function SetCompressionSettings. | |
| virtual void | SetCompressionSettings (Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault) |
| Used to specify the compression level and algorithm. | |
| virtual void | SetDrawOption (Option_t *option="") |
| Set drawing option for object. | |
| virtual void | SetEND (Long64_t last) |
| 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). | |
| virtual void | SetOffset (Long64_t offset, ERelativeTo pos=kBeg) |
| Set position from where to start reading. | |
| virtual void | SetOption (Option_t *option=">") |
| virtual void | SetReadCalls (Int_t readcalls=0) |
| 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 |
| virtual void | ShowStreamerInfo () |
| Show the StreamerInfo of all classes written to this file. | |
| Int_t | Sizeof () const override |
| Return the size in bytes of the file header. | |
| void | Streamer (TBuffer &) override |
| Stream a TFile object. | |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| void | SumBuffer (Int_t bufsize) |
| Increment statistics for buffer sizes of objects in this file. | |
| 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. | |
| ROOT::Detail::TKeyMapIterable | WalkTKeys () |
| Traverses all TKeys in the TFile and returns information about them. | |
| 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 |
| One can not save a const TDirectory object. | |
| Int_t | Write (const char *name=nullptr, Int_t opt=0, Int_t bufsize=0) override |
| Write memory objects to this file. | |
| virtual Bool_t | WriteBuffer (const char *buf, Int_t len) |
| Write a buffer to the file. | |
| void | WriteDirHeader () override |
| virtual void | WriteFree () |
| Write FREE linked list on the file. | |
| virtual void | WriteHeader () |
| Write File Header. | |
| void | WriteKeys () override |
| 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. | |
| 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 |
| virtual UShort_t | WriteProcessID (TProcessID *pid) |
| Check if the ProcessID pidd is already in the file, if not, add it and return the index number in the local file list. | |
| virtual void | WriteStreamerInfo () |
| Write the list of TStreamerInfo as a single object in this file The class Streamer description for all classes written to this file is saved. | |
| 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 TFileOpenHandle * | AsyncOpen (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0) |
| Submit an asynchronous open request. | |
| static Bool_t | Cd (const char *path) |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static Bool_t | Cp (const char *src, const char *dst, Bool_t progressbar=kTRUE, UInt_t buffersize=1000000) |
| Allows to copy file from src to dst URL. | |
| static std::atomic< TDirectory * > & | CurrentDirectory () |
| Return the current directory for the current thread. | |
| static TFile *& | CurrentFile () |
| Return the current ROOT file if any. | |
| static const char * | DeclFileName () |
| static size_t | DecodeNameCycle (const char *namecycle, char *name, Short_t &cycle, const size_t namesize=0) |
| static EAsyncOpenStatus | GetAsyncOpenStatus (const char *name) |
| Get status of the async open request related to 'name'. | |
| static EAsyncOpenStatus | GetAsyncOpenStatus (TFileOpenHandle *handle) |
| Get status of the async open request related to 'handle'. | |
| static const char * | GetCacheFileDir () |
| Get the directory where to locally stage/cache remote files. | |
| static Longptr_t | GetDtorOnly () |
| Return destructor only flag. | |
| static const TUrl * | GetEndpointUrl (const char *name) |
| Get final URL for file being opened asynchronously. | |
| static Long64_t | GetFileBytesRead () |
| Static function returning the total number of bytes read from all files. | |
| static Long64_t | GetFileBytesWritten () |
| Static function returning the total number of bytes written to all files. | |
| static Long64_t | GetFileCounter () |
| static Int_t | GetFileReadCalls () |
| Static function returning the total number of read calls from all files. | |
| static Bool_t | GetObjectStat () |
| Get status of object stat flag. | |
| static Bool_t | GetOnlyStaged () |
| Returns staged only flag. | |
| static UInt_t | GetOpenTimeout () |
| Returns open timeout (in ms). | |
| static Int_t | GetReadaheadSize () |
| Static function returning the readahead buffer size. | |
| static Bool_t | GetReadStreamerInfo () |
| If the streamerinfos are to be read at file opening. | |
| static EFileType | GetType (const char *name, Option_t *option="", TString *prefix=nullptr) |
| Resolve the file type as a function of the protocol field in 'name'. | |
| static void | IncrementFileCounter () |
| static TFile * | Open (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0) |
| Create / open a file. | |
| static TFile * | Open (TFileOpenHandle *handle) |
| Waits for the completion of an asynchronous open request. | |
| static Bool_t | SetCacheFileDir (std::string_view cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE) |
| Sets the directory where to locally stage/cache remote files. | |
| static void | SetDtorOnly (void *obj) |
| Set destructor only flag. | |
| static void | SetFileBytesRead (Long64_t bytes=0) |
| static void | SetFileBytesWritten (Long64_t bytes=0) |
| static void | SetFileReadCalls (Int_t readcalls=0) |
| static void | SetObjectStat (Bool_t stat) |
| Turn on/off tracking of objects in the TObjectTable. | |
| static Bool_t | SetOnlyStaged (Bool_t onlystaged) |
| Sets only staged flag. | |
| static UInt_t | SetOpenTimeout (UInt_t timeout) |
| Sets open timeout time (in ms). Returns previous timeout value. | |
| static void | SetReadaheadSize (Int_t bufsize=256000) |
| static void | SetReadStreamerInfo (Bool_t readinfo=kTRUE) |
| Specify if the streamerinfos must be read at file opening. | |
| static Bool_t | ShrinkCacheFileDir (Long64_t shrinkSize, Long_t cleanupInteval=0) |
| Try to shrink the cache to the desired size. | |
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 Long64_t | DirCreateEntry (TDirectory *) |
| virtual Int_t | DirReadKeys (TDirectory *) |
| virtual void | DirWriteHeader (TDirectory *) |
| virtual void | DirWriteKeys (TDirectory *) |
| 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. | |
| Bool_t | FlushWriteCache () |
| Flush the write cache if active. | |
| virtual EAsyncOpenStatus | GetAsyncOpenStatus () |
| virtual InfoListRet | GetStreamerInfoListImpl (bool lookupSICache) |
| See documentation of GetStreamerInfoList for more details. | |
| virtual void | Init (Bool_t create) |
| Initialize a TFile object. | |
| void | InitDirectoryFile (TClass *cl=nullptr) |
| void | MakeZombie () |
| Int_t | ReadBufferViaCache (char *buf, Int_t len) |
| Read buffer via cache. | |
| 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". | |
| virtual Int_t | SysClose (Int_t fd) |
| Interface to system close. All arguments like in POSIX close(). | |
| virtual Int_t | SysOpen (const char *pathname, Int_t flags, UInt_t mode) |
| Interface to system open. All arguments like in POSIX open(). | |
| virtual Int_t | SysRead (Int_t fd, void *buf, Int_t len) |
| Interface to system read. All arguments like in POSIX read(). | |
| virtual Long64_t | SysSeek (Int_t fd, Long64_t offset, Int_t whence) |
| Interface to system lseek. | |
| virtual Int_t | SysStat (Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime) |
| Return file stat information. | |
| virtual Int_t | SysSync (Int_t fd) |
| Interface to system fsync. All arguments like in POSIX fsync(). | |
| virtual Int_t | SysWrite (Int_t fd, const void *buf, Int_t len) |
| Interface to system write. All arguments like in POSIX write(). | |
| void | UnregisterContext (TContext *ctxt) |
| UnRegister a TContext pointing to this TDirectory object. | |
| Int_t | WriteBufferViaCache (const char *buf, Int_t len) |
| Write buffer via cache. | |
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 | |
| TArchiveFile * | fArchive {nullptr} |
| !Archive file from which we read this file | |
| Long64_t | fArchiveOffset {0} |
| !Offset at which file starts in archive | |
| TFileOpenHandle * | fAsyncHandle {nullptr} |
| !For proper automatic cleanup | |
| EAsyncOpenStatus | fAsyncOpenStatus {kAOSNotAsync} |
| !Status of an asynchronous open request | |
| Long64_t | fBEGIN {0} |
| First used byte in file. | |
| Int_t | fBufferSize {0} |
| Default buffer size to create new TKeys. | |
| Long64_t | fBytesRead {0} |
| Number of bytes read from this file. | |
| Long64_t | fBytesReadExtra {0} |
| Number of extra bytes (overhead) read by the readahead buffer. | |
| Long64_t | fBytesWrite {0} |
| Number of bytes written to this file. | |
| TFileCacheRead * | fCacheRead {nullptr} |
| !Pointer to the read cache (if any) | |
| TMap * | fCacheReadMap {nullptr} |
| !Pointer to the read cache (if any) | |
| TFileCacheWrite * | fCacheWrite {nullptr} |
| !Pointer to the write cache (if any) | |
| TArrayC * | fClassIndex {nullptr} |
| !Index of TStreamerInfo classes written to this file | |
| Int_t | fCompress {0} |
| Compression level and algorithm. | |
| 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. | |
| Int_t | fD {-1} |
| File descriptor. | |
| TDatime | fDatimeC |
| Date and time when directory is created. | |
| TDatime | fDatimeM |
| Date and time of last modification. | |
| Long64_t | fEND {0} |
| Last used byte in file. | |
| TFile * | fFile {nullptr} |
| Pointer to current file in memory. | |
| TList * | fFree {nullptr} |
| Free segments linked list table. | |
| std::vector< SharedGDirectory_t > | fGDirectories |
| ! thread local gDirectory pointing to this object. | |
| bool | fGlobalRegistration = true |
| ! if true, bypass use of global lists | |
| TList * | fInfoCache {nullptr} |
| !Cached list of the streamer infos in this file | |
| Bool_t | fInitDone {kFALSE} |
| !True if the file has been initialized | |
| Bool_t | fIsArchive {kFALSE} |
| !True if this is a pure archive file | |
| Bool_t | fIsPcmFile {kFALSE} |
| !True if the file is a ROOT pcm file. | |
| Bool_t | fIsRootFile {kTRUE} |
| !True is this is a ROOT file, raw file otherwise | |
| TList * | fKeys {nullptr} |
| Pointer to keys list in memory. | |
| TList * | fList {nullptr} |
| List of objects in memory. | |
| Bool_t | fModified {kFALSE} |
| True if directory has been modified. | |
| TObject * | fMother {nullptr} |
| pointer to mother of the directory | |
| Bool_t | fMustFlush {kTRUE} |
| !True if the file buffers must be flushed | |
| TString | fName |
| Int_t | fNbytesFree {0} |
| Number of bytes for free segments structure. | |
| Int_t | fNbytesInfo {0} |
| Number of bytes for StreamerInfo record. | |
| Int_t | fNbytesKeys {0} |
| Number of bytes for the keys. | |
| Int_t | fNbytesName {0} |
| Number of bytes in TNamed at creation time. | |
| Bool_t | fNoAnchorInName {kFALSE} |
| !True if we don't want to force the anchor to be appended to the file name | |
| Int_t | fNProcessIDs {0} |
| Number of TProcessID written to this file. | |
| Long64_t | fOffset {0} |
| !Seek offset cache | |
| TList * | fOpenPhases {nullptr} |
| !Time info about open phases | |
| TString | fOption |
| File options. | |
| TString | fPathBuffer |
| ! Buffer for GetPath() function | |
| TObjArray * | fProcessIDs {nullptr} |
| !Array of pointers to TProcessIDs | |
| Int_t | fReadCalls {0} |
| Number of read calls ( not counting the cache calls ). | |
| TString | fRealName |
| Effective real file name (not original url). | |
| Long64_t | fSeekDir {0} |
| Location of directory on file. | |
| Long64_t | fSeekFree {0} |
| Location on disk of free segments structure. | |
| Long64_t | fSeekInfo {0} |
| Location on disk of StreamerInfo record. | |
| 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; | |
| Double_t | fSum2Buffer {0} |
| Sum of squares of buffer sizes of objects written so far. | |
| Double_t | fSumBuffer {0} |
| Sum of buffer sizes of objects written so far. | |
| TString | fTitle |
| Char_t | fUnits {0} |
| Number of bytes for file pointers. | |
| TUrl | fUrl |
| !URL of file | |
| TUUID | fUUID {TUUID::UUIDv4()} |
| Unique identifier. | |
| Int_t | fVersion {0} |
| File format version. | |
| Bool_t | fWritable {kFALSE} |
| True if directory is writable. | |
| std::mutex | fWriteMutex |
| !Lock for writing baskets / keys into the file. | |
| Int_t | fWritten {0} |
| Number of objects written so far. | |
Static Protected Attributes | |
| static Bool_t | fgAddDirectory = false |
| ! | |
| static TList * | fgAsyncOpenRequests = nullptr |
| static std::atomic< Long64_t > | fgBytesRead {0} |
| Number of bytes read by all TFile objects. | |
| static std::atomic< Long64_t > | fgBytesWrite {0} |
| Number of bytes written by all TFile objects. | |
| static TString | fgCacheFileDir |
| Directory where to locally stage files. | |
| static Bool_t | fgCacheFileDisconnected = kTRUE |
| Indicates, we trust in the files in the cache dir without stat on the cached file. | |
| static Bool_t | fgCacheFileForce = kFALSE |
| Indicates, to force all READ to CACHEREAD. | |
| static std::atomic< Long64_t > | fgFileCounter {0} |
| Counter for all opened files. | |
| static Bool_t | fgOnlyStaged = kFALSE |
| Before the file is opened, it is checked, that the file is staged, if not, the open fails. | |
| static UInt_t | fgOpenTimeout = TFile::kEternalTimeout |
| Timeout for open operations in ms - 0 corresponds to blocking i/o. | |
| static Int_t | fgReadaheadSize = 256000 |
| Readahead buffer size. | |
| static std::atomic< Int_t > | fgReadCalls {0} |
| Number of bytes read from all TFile objects. | |
| static Bool_t | fgReadInfo = kTRUE |
| if true (default) ReadStreamerInfo is called when opening a file | |
| static ROOT::Internal::RConcurrentHashColl | fgTsSIHashes |
| !TS Set of hashes built from read streamer infos | |
Private Member Functions | |
| TFile (const TFile &)=delete | |
| void | operator= (const TFile &)=delete |
Static Private Member Functions | |
| static void | AddToTObjectTable (TObject *) |
| Private helper function which will dispatch to TObjectTable::AddObj. | |
| static void | CpProgress (Long64_t bytesread, Long64_t size, TStopwatch &watch) |
| Print file copy progress. | |
| static TFile * | OpenFromCache (const char *name, Option_t *="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0) |
| Open a file for reading through the file cache. | |
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 | ROOT::Detail::TKeyMapIterable::TIterator |
| class | TBasket |
| class | TDirectoryFile |
| class | TFilePrefetch |
#include <TFile.h>
|
protectedinherited |
Definition at line 147 of file TDirectory.h.
|
protectedinherited |
|
inherited |
|
inherited |
| enum TFile::ECacheAction |
|
inherited |
| enum TFile::EFileType |
| enum TFile::EOpenTimeOut |
| enum TFile::ERelativeTo |
| enum TFile::EStatusBits |
|
privatedelete |
| TFile::TFile | ( | const char * | fname1, |
| Option_t * | option = "", | ||
| const char * | ftitle = "", | ||
| Int_t | compress = ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault ) |
Opens or creates a local ROOT file.
| [in] | fname1 | The name of the file |
| [in] | option | Specifies the mode in which the file is opened |
| [in] | ftitle | The title of the file |
| [in] | compress | Specifies the compression algorithm and level |
It is recommended to specify fname1 as "<file>.root". The suffix ".root" will be used by object browsers to automatically identify the file as a ROOT file. If the constructor fails in any way IsZombie() will return true. Use IsOpen() to check if the file is (still) open. To open non-local files use the static TFile::Open() method, that will take care of opening the files using the correct remote file access plugin.
| Option | Description |
|---|---|
| NEW or CREATE | Create a new file and open it for writing, if the file already exists the file |
| is not opened. RECREATE | Create a new file, if the file already exists it will be |
| overwritten. UPDATE | Open an existing file for writing. If no file exists, it is |
created. READ | Open an existing file for reading (default). NET | Used by derived remote file access classes, not a user callable option. WEB | Used by derived remote http access class, not a user callable option. READ_WITHOUT_GLOBALREGISTRATION | Used by TTreeProcessorMT, not a user callable option.
If option = "" (default), READ is assumed.
The file can be specified as a URL of the form:
file:///user/rdm/bla.root or file:/user/rdm/bla.root
The file can also be a member of an archive, in which case it is specified as:
multi.zip#file.root or multi.zip#0
which will open file.root which is a member of the file multi.zip archive or member 1 from the archive. For more on archive file support see the TArchiveFile class. TFile and its remote access plugins can also be used to open any file, i.e. also non ROOT files, using:
file.tar?filetype=raw
This can be convenient because the many file access plugins allow easy access to remote endpoints, e.g. mass storage pools. The title of the file (ftitle) will be shown by the ROOT browsers. A ROOT file (like a Unix file system) may contain objects and directories, as well as executable code. There are no restrictions for the number of levels of directories. A ROOT file is designed such that one can write in the file in pure sequential mode (case of BATCH jobs). In this case, the file may be read sequentially again without using the file index written at the end of the file. In case of a job crash, all the information on the file is therefore protected. A ROOT file can be used interactively. In this case, one has the possibility to delete existing objects and add new ones. When an object is deleted from the file, the freed space is added into the FREE linked list (fFree). The FREE list consists of a chain of consecutive free segments on the file. At the same time, the first 4 bytes of the freed record on the file are overwritten by GAPSIZE where GAPSIZE = -(Number of bytes occupied by the record). Option compress is used to specify the compression level and algorithm:
compress = 100 * algorithm + level
| Level | Explanation |
|---|---|
| 0 | objects written to this file will not be compressed. |
| 1 | minimal compression level but fast. |
| ... | .... |
| 9 | maximal compression level but slower and might use more memory. |
(For the currently supported algorithms, the maximum level is 9) If compress is negative it indicates the compression level is not set yet. The enumeration ROOT::RCompressionSetting::EAlgorithm associates each algorithm with a number. There is a utility function to help to set the value of compress. For example,
ROOT::CompressionSettings(ROOT::kLZMA, 1)
will build an integer which will set the compression to use the LZMA algorithm and compression level 1. These are defined in the header file Compression.h. Note that the compression settings may be changed at any time. The new compression settings will only apply to branches created or attached after the setting is changed and other objects written after the setting is changed. In case the file does not exist or is not a valid ROOT file, it is made a Zombie. One can detect this situation with a code like:
If you open a file instead with TFile::Open("file.root") use rather the following code as a nullptr is returned.
When opening the file, the system checks the validity of this directory. If something wrong is detected, an automatic recovery is performed. In this case, the file is scanned sequentially reading all logical blocks and attempting to rebuild a correct directory (see TFile::Recover). One can disable the automatic recovery procedure when reading one or more files by setting the environment variable "TFile.Recover: 0" in the system.rootrc file.
A bit TFile::kReproducible can be enabled specifying the "reproducible" url option when creating the file:
Unlike regular TFiles, the content of such file has reproducible binary content when writing exactly same data. This achieved by writing pre-defined values for creation and modification date of TKey/TDirectory objects and null value for TUUID objects inside TFile. As drawback, TRef objects stored in such file cannot be read correctly.
In case the name of the file is not reproducible either (in case of creating temporary filenames) a value can be passed to the reproducible option to replace the name stored in the file.
|
staticinherited |
|
staticinherited |
|
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 from TDirectory.
Reimplemented in RooWorkspace::WSDir.
Definition at line 65 of file TDirectoryFile.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 from TDirectory.
Reimplemented in RooWorkspace::WSDir.
Reimplemented from TDirectory.
|
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.
|
static |
Submit an asynchronous open request.
See TFile::Open(const char *, ...) for an explanation of the arguments. A handler is returned which is to be passed to TFile::Open(TFileOpenHandle *) to get the real TFile instance once the file is open. This call never blocks and it is provided to allow parallel submission of file opening operations expected to take a long time. TFile::Open(TFileOpenHandle *) may block if the file is not yet ready. The sequence
TFile::Open(TFile::AsyncOpen(const char *, ...))
is equivalent to
TFile::Open(const char *, ...)
To be effective, the underlying TFile implementation must be able to support asynchronous open functionality. Currently, only TNetXNGFile supports it. If the functionality is not implemented, this call acts transparently by returning an handle with the arguments for the standard synchronous open run by TFile::Open(TFileOpenHandle *). The retuned handle will be adopted by TFile after opening completion in TFile::Open(TFileOpenHandle *); if opening is not finalized the handle must be deleted by the caller.
|
overridevirtualinherited |
Browse the content of the directory.
Reimplemented from TDirectory.
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 68 of file TDirectoryFile.h.
|
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.
|
protectedinherited |
|
staticinherited |
|
overridevirtualinherited |
Change current directory to "this" directory.
Returns kTRUE (it's guaranteed to succeed).
Reimplemented from TDirectory.
|
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.
|
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.
|
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.
|
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 |
|
virtualinherited |
Returns name of class to which the object belongs.
Definition at line 227 of file TObject.cxx.
|
protectedinherited |
|
overridevirtualinherited |
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.
|
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.
|
overridevirtual |
Close a file.
| [in] | option | If option == "R", all TProcessIDs referenced by this file are deleted. |
Calling TFile::Close("R") might be necessary in case one reads a long list of files having TRef, writing some of the referenced objects or TRef to a new file. If the TRef or referenced objects of the file being closed will not be referenced again, it is possible to minimize the size of the TProcessID data structures in memory by forcing a delete of the unused TProcessID.
Reimplemented from TDirectoryFile.
Reimplemented in TParallelMergingFile, TSQLFile, and TXMLFile.
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 |
|
staticprivate |
|
virtual |
|
virtual |
|
staticinherited |
Return the current directory for the current thread.
Definition at line 438 of file TDirectory.cxx.
|
static |
|
inlinestatic |
|
staticinherited |
|
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 TDirectoryFile.
|
virtualinherited |
Delete all objects from memory.
Definition at line 691 of file TDirectory.cxx.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
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 TDirectory.
|
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.
|
virtual |
Draw map of objects in this file.
The map drawing is handled by TFileDrawMap. Once the map is drawn, turn on the TCanvas option "View->Event Statusbar". Then, when moving the mouse in the canvas, the "Event Status" panels shows the object corresponding to the mouse position.
Example:
|
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.
|
overridevirtual |
Encode file output buffer.
The file output buffer contains only the FREE data record.
Reimplemented from TDirectoryFile.
|
protectedinherited |
Recursive method to fill full path for directory.
Definition at line 1067 of file TDirectory.cxx.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
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.
Find object in the list of memory objects.
Reimplemented from TObject.
Reimplemented in TROOT.
Definition at line 782 of file TDirectory.cxx.
|
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.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
virtual |
Synchronize a file's in-memory and on-disk states.
Reimplemented in TNetXNGFile, TSQLFile, and TXMLFile.
|
protected |
|
inlinevirtualinherited |
See documentation of TDirectoryFile::Get(const char *namecycle).
Reimplemented from TDirectory.
Definition at line 82 of file TDirectoryFile.h.
|
overridevirtualinherited |
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 from TDirectory.
|
inline |
|
inlineprotectedvirtual |
|
static |
|
static |
| Int_t TFile::GetBestBuffer | ( | ) | const |
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
virtual |
|
static |
| TFileCacheRead * TFile::GetCacheRead | ( | const TObject * | tree = nullptr | ) | const |
| TFileCacheWrite * TFile::GetCacheWrite | ( | ) | const |
| Float_t TFile::GetCompressionFactor | ( | ) |
|
inlineinherited |
Definition at line 91 of file TDirectoryFile.h.
|
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.
|
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 |
|
inlinevirtual |
|
static |
|
virtual |
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 92 of file TDirectoryFile.h.
|
static |
|
static |
|
static |
|
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.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
inlinevirtualinherited |
Definition at line 223 of file TDirectory.h.
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 94 of file TDirectoryFile.h.
|
inlineinherited |
Definition at line 95 of file TDirectoryFile.h.
|
inlineinherited |
Definition at line 225 of file TDirectory.h.
|
inlineinherited |
Definition at line 226 of file TDirectory.h.
|
inlineoverridevirtualinherited |
|
inlinevirtual |
|
inlinevirtual |
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 96 of file TDirectoryFile.h.
|
inlinevirtual |
Reimplemented in TDavixFile, and TNetXNGFile.
|
inlinevirtual |
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 97 of file TDirectoryFile.h.
|
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.
|
overridevirtualinherited |
See documentation of TDirectory::GetObjectCheck(const char *namecycle, const TClass *cl).
Reimplemented from TDirectory.
|
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
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 from TDirectory.
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.
|
overridevirtualinherited |
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 from TDirectory.
|
static |
|
static |
|
inlineoverridevirtual |
|
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.
|
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.
|
static |
|
static |
| Int_t TFile::GetRecordHeader | ( | char * | buf, |
| Long64_t | first, | ||
| Int_t | maxbytes, | ||
| Int_t & | nbytes, | ||
| Int_t & | objlen, | ||
| Int_t & | keylen ) |
Read the logical record header starting at a certain postion.
| [in] | buf | pointer to buffer |
| [in] | first | read offset |
| [in] | maxbytes | Bytes which are read into buf. |
| [out] | nbytes | Number of bytes in record if negative, this is a deleted record if 0, cannot read record, wrong value of argument first |
| [out] | objlen | Uncompressed object size |
| [out] | keylen | Length of logical record header |
The function reads nread bytes where nread is the minimum of maxbytes and the number of bytes before the end of file. The function returns nread. Note that the arguments objlen and keylen are returned only if maxbytes >=16
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 98 of file TDirectoryFile.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 100 of file TDirectoryFile.h.
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 99 of file TDirectoryFile.h.
|
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.
|
virtual |
Returns the current file size.
Returns -1 in case the file could not be stat'ed.
Reimplemented in TDavixFile, TMemFile, TNetXNGFile, TSQLFile, and TXMLFile.
| const TList * TFile::GetStreamerInfoCache | ( | ) |
|
finalvirtual |
Read the list of TStreamerInfo objects written to this file.
The function returns a TList. It is the user's responsibility to delete the list created by this function.
Note the list, in addition to TStreamerInfo object, contains sometimes a TList named 'listOfRules' and containing the schema evolution rules related to the file's content.
Using the list, one can access additional information, e.g.:
|
protectedvirtual |
|
inlineoverridevirtualinherited |
|
static |
Resolve the file type as a function of the protocol field in 'name'.
If defined, the string 'prefix' is added when testing the locality of a 'name' with network-like structure (i.e. root://host//path); if the file is local, on return 'prefix' will contain the actual local path of the file.
|
virtualinherited |
Return the unique object id.
Definition at line 480 of file TObject.cxx.
|
inlineinherited |
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.
|
protectedvirtual |
Initialize a TFile object.
| [in] | create | Create a new file. |
TFile implementations providing asynchronous open functionality need to override this method to run the appropriate checks before calling this standard initialization part. See TNetXNGFile::Init for an example.
Reimplemented in TDavixFile, and TNetXNGFile.
|
protectedinherited |
|
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 TDirectoryFile.
Reimplemented in TMemFile, TNetXNGFile, TParallelMergingFile, TSQLFile, and TXMLFile.
|
inlineinherited |
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.
|
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.
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 101 of file TDirectoryFile.h.
|
virtual |
Returns kTRUE in case file is open and kFALSE if file is not open.
Reimplemented in TNetXNGFile, TSQLFile, and TXMLFile.
|
inlineoverridevirtualinherited |
Reimplemented from TObject.
Reimplemented in TStructNodeProperty.
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 102 of file TDirectoryFile.h.
|
overridevirtual |
List file contents.
Indentation is used to identify the file tree. Subdirectories are listed first, then objects in memory, then objects on the file.
Reimplemented from TDirectoryFile.
Mark unused bytes on the file.
The list of free segments is in the fFree linked list. When an object is deleted from the file, the freed space is added into the FREE linked list (fFree). The FREE list consists of a chain of consecutive free segments on the file. At the same time, the first 4 bytes of the freed record on the file are overwritten by GAPSIZE where GAPSIZE = -(Number of bytes occupied by the record).
|
virtual |
Generate source code necessary to access the objects stored in the file.
Generate code in directory dirname for all classes specified in argument classes If classes = "*" (default and currently the only supported value), the function generates an include file for each class in the StreamerInfo list for which a TClass object does not exist.
The code generated includes:
In the generated classes, map, multimap when the first template parameter is a class are replaced by a vector of pair. set and multiset when the tempalte parameter is a class are replaced by a vector. This is required since we do not have the code needed to order and/or compare the object of the classes. This is a quick explanation of the options available:
| Option | Details |
|---|---|
| new (default) | A new directory dirname is created. If dirname already exist, an error message is printed and the function returns. |
| recreate | If dirname does not exist, it is created (like in "new"). If dirname already exist, all existing files in dirname are deleted before creating the new files. |
| update | New classes are added to the existing directory. Existing classes with the same name are replaced by the new definition. If the directory dirname doest not exist, same effect as "new". |
| genreflex | Use genreflex rather than rootcling to generate the dictionary. |
| par | Create a PAR file with the minimal set of code needed to read the content of the ROOT file. The name of the PAR file is basename(dirname), with extension '.par' enforced; the PAR file will be created at dirname(dirname). |
If, in addition to one of the 3 above options, the option "+" is specified, the function will generate:
gSystem->load("demo/demo.so");
The following feature is not yet enabled: One can restrict the list of classes to be generated by using expressions like:
classes = "Ali*" generate code only for classes starting with Ali classes = "myClass" generate code for class MyClass only.
|
inlinevirtual |
|
virtual |
List the contents of a file sequentially.
For each logical record found, it prints:
Date/Time Record_Adress Logical_Record_Length ClassName CompressionFactor
Example of output
20010404/150437 At:64 N=150 TFile 20010404/150440 At:214 N=28326 TBasket CX = 1.13 20010404/150440 At:28540 N=29616 TBasket CX = 1.08 20010404/150440 At:58156 N=29640 TBasket CX = 1.08 20010404/150440 At:87796 N=29076 TBasket CX = 1.10 20010404/150440 At:116872 N=10151 TBasket CX = 3.15 20010404/150441 At:127023 N=28341 TBasket CX = 1.13 20010404/150441 At:155364 N=29594 TBasket CX = 1.08 20010404/150441 At:184958 N=29616 TBasket CX = 1.08 20010404/150441 At:214574 N=29075 TBasket CX = 1.10 20010404/150441 At:243649 N=9583 TBasket CX = 3.34 20010404/150442 At:253232 N=28324 TBasket CX = 1.13 20010404/150442 At:281556 N=29641 TBasket CX = 1.08 20010404/150442 At:311197 N=29633 TBasket CX = 1.08 20010404/150442 At:340830 N=29091 TBasket CX = 1.10 20010404/150442 At:369921 N=10341 TBasket CX = 3.09 20010404/150442 At:380262 N=509 TH1F CX = 1.93 20010404/150442 At:380771 N=1769 TH2F CX = 4.32 20010404/150442 At:382540 N=1849 TProfile CX = 1.65 20010404/150442 At:384389 N=18434 TNtuple CX = 4.51 20010404/150442 At:402823 N=307 KeysList 20010404/150443 At:403130 N=4548 StreamerInfo CX = 3.65 20010404/150443 At:407678 N=86 FreeSegments 20010404/150443 At:407764 N=1 END
If the parameter opt contains "forComp", the Date/Time is omitted and the decompressed size is also printed.
Record_Adress Logical_Record_Length Key_Length Object_Record_Length ClassName CompressionFactor
If the parameter opt contains "extended", the name and title of the keys are added: 20200820/155031 At:100 N=180 TFile name: hsimple.root title: Demo ROOT file with histograms 220200820/155032 At:280 N=28880 TBasket CX = 1.11 name: random title: ntuple 220200820/155032 At:29160 N=29761 TBasket CX = 1.08 name: px title: ntuple 220200820/155032 At:58921 N=29725 TBasket CX = 1.08 name: py title: ntuple 220200820/155032 At:88646 N=29209 TBasket CX = 1.10 name: pz title: ntuple 220200820/155032 At:117855 N=10197 TBasket CX = 3.14 name: i title: ntuple ... 20200820/155032 At:405110 N=808 TNtuple CX = 3.53 name: ntuple title: Demo ntuple 20200820/155706 At:405918 N=307 KeysList name: hsimple.root title: Demo ROOT file with histograms 20200820/155032 At:406225 N=8556 StreamerInfo CX = 3.42 name: StreamerInfo title: Doubly linked list 20200820/155708 At:414781 N=86 FreeSegments name: hsimple.root title: Demo ROOT file with histograms 20200820/155708 At:414867 N=1 END
Note: The combined size of the classname, name and title is truncated to 476 characters (a little more for regular keys of small files)
|
virtual |
|
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.
|
overridevirtualinherited |
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 from TDirectory.
|
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.
|
static |
Create / open a file.
The type of the file can be either a TFile or any TFile derived class for which an plugin library handler has been registered with the plugin manager (for the plugin manager see the TPluginManager class). The returned type of TFile depends on the file name specified by 'url'. If 'url' is a '|'-separated list of file URLs, the 'URLs' are tried sequentially in the specified order until a successful open. If the file starts with "root:", "roots:" or "rootk:" an XRootD-backed file will be returned, with "http:" a curl-based file, with "file:" a local TFile, etc. (see the list of TFile plugin handlers in $ROOTSYS/etc/system.rootrc for regular expressions that will be checked) and as last a local file will be tried. Before opening a file via a remote API, a check is made to see if the URL specifies a local file. If that is the case the file will be opened via a normal TFile. To force the opening of a local file via a specify as host "localhost". The netopt argument is not used, any more. For the meaning of the options and other arguments see the constructors of the individual file classes. In case of error, it returns a nullptr.
For TFile implementations supporting asynchronous file open, see TFile::AsyncOpen(...), it is possible to request a timeout with the option TIMEOUT=<secs>: the timeout must be specified in seconds and it will be internally checked with granularity of one millisec. For remote files there is the option: CACHEREAD opens an existing file for reading through the file cache. The file will be downloaded to the cache and opened from there. If the download fails, it will be opened remotely. The file will be downloaded to the directory specified by SetCacheFileDir().
The caller is responsible for deleting the pointer. In READ mode, a nullptr is returned if the file does not exist or cannot be opened. In CREATE mode, a nullptr is returned if the file already exists or cannot be created. In RECREATE mode, a nullptr is returned if the file can not be created. In UPDATE mode, a nullptr is returned if the file cannot be created or opened.
|
static |
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
staticprivate |
|
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 |
|
privatedelete |
|
overridevirtual |
Paint all objects in the file.
Reimplemented from TDirectory.
|
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 |
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
virtualinherited |
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.
|
overridevirtualinherited |
Reimplemented from TDirectory.
Read a buffer from the file.
This is the basic low level read operation. Returns kTRUE in case of failure.
Reimplemented in TDavixFile, TDCacheFile, TNetXNGFile, TSQLFile, and TXMLFile.
Read a buffer from the file at the offset 'pos' in the file.
Returns kTRUE in case of failure. Compared to ReadBuffer(char*, Int_t), this routine does not change the cursor on the physical file representation (fD) if the data is in this TFile's cache.
Reimplemented in TDavixFile, TDCacheFile, TNetXNGFile, TSQLFile, and TXMLFile.
Reimplemented in TDavixFile.
Read the nbuf blocks described in arrays pos and len.
The value pos[i] is the seek position of block i of length len[i]. Note that for nbuf=1, this call is equivalent to TFile::ReafBuffer. Returns kTRUE in case of failure.
Reimplemented in TDavixFile, TDCacheFile, and TNetXNGFile.
|
virtual |
Reimplemented from TDirectory.
|
virtual |
|
virtual |
Read the list of StreamerInfo from this file.
The key with name holding the list of TStreamerInfo objects is read. The corresponding TClass objects are updated. Note that this function is not called if the static member fgReadInfo is false. (see TFile::SetReadStreamerInfo)
Reimplemented from TDirectory.
|
virtual |
Attempt to recover file if not correctly closed.
The function returns the number of keys that have been recovered. If no keys can be recovered, the file will be declared Zombie by the calling function. This function is automatically called when opening a file. If the file is open in read only mode, the file is not modified. If open in update mode and the function finds something to recover, a new directory header is written to the file. When opening the file gain no message from Recover will be reported. If keys have been recovered, the file is usable and you can safely read the corresponding objects. If the file is not usable (a zombie), you can test for this case with code like:
If the file has been recovered, the bit kRecovered is set in the TFile object in memory. You can test if the file has been recovered with
if (f.TestBit(TFile::kRecovered)) {... the file has been recovered}
When writing TTrees to a file, it is important to save the Tree header at regular intervals (see TTree::AutoSave). If a file containing a Tree is recovered, the last Tree header written to the file will be used. In this case all the entries in all the branches written before writing the header are valid entries. One can disable the automatic recovery procedure by setting
TFile.Recover 0
in the system.rootrc file.
|
overridevirtualinherited |
Recursively remove object from a Directory.
Reimplemented from TObject.
Reimplemented in TROOT.
Definition at line 1213 of file TDirectory.cxx.
|
protectedinherited |
|
protectedinherited |
Remove an object from the in-memory list.
Reimplemented in TROOT.
Definition at line 1222 of file TDirectory.cxx.
Reopen a file with a different access mode.
For example, it is possible to change from READ to UPDATE or from NEW, CREATE, RECREATE, UPDATE to READ. Thus the mode argument can be either "READ" or "UPDATE". The method returns 0 in case the mode was successfully modified, 1 in case the mode did not change (was already as requested or wrong input arguments) and -1 in case of failure, in which case the file cannot be used anymore. The current directory (gFile) is changed to this file.
Reimplemented in TNetXNGFile, TSQLFile, and TXMLFile.
|
virtualinherited |
Reimplemented in TMemFile.
|
virtual |
|
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.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
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.
|
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.
|
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 from TDirectory.
|
virtual |
Seek to a specific position in the file. Pos it either kBeg, kCur or kEnd.
Reimplemented in TDavixFile, TNetXNGFile, TSQLFile, and TXMLFile.
Set or unset the user status bits as specified in f.
Definition at line 888 of file TObject.cxx.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
virtual |
Set a pointer to the read cache.
This relinquishes ownership of the previous cache, so if you do not already have a pointer to the previous cache (and there was a previous cache), you ought to retrieve (and delete it if needed) using:
TFileCacheRead *older = myfile->GetCacheRead();
The action specifies how to behave when detaching a cache from the the TFile. If set to (default) kDisconnect, the contents of the cache will be flushed when it is removed from the file, and it will disconnect the cache object from the file. In almost all cases, this is what you want. If you want to disconnect the cache temporarily from this tree and re-attach later to the same fil, you can set action to kDoNotDisconnect. This will allow things like prefetching to continue in the background while it is no longer the default cache for the TTree. Except for a few expert use cases, kDisconnect is likely the correct setting.
WARNING: if action=kDoNotDisconnect, you MUST delete the cache before TFile.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
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 |
|
static |
|
static |
|
static |
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 118 of file TDirectoryFile.h.
|
inlinevirtualinherited |
Definition at line 259 of file TDirectory.h.
|
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.
|
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.
|
virtual |
|
inlinevirtual |
|
static |
|
inlinevirtual |
Specify if the streamerinfos must be read at file opening.
If fgReadInfo is true (default) TFile::ReadStreamerInfo is called when opening the file. It may be interesting to set fgReadInfo to false to speedup the file opening time or in case libraries containing classes referenced by the file have not yet been loaded. if fgReadInfo is false, one can still read the StreamerInfo with myfile.ReadStreamerInfo();
|
inlineoverridevirtualinherited |
Reimplemented from TDirectory.
Definition at line 119 of file TDirectoryFile.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 from TDirectory.
|
virtualinherited |
Set the unique object id.
Definition at line 899 of file TObject.cxx.
Reimplemented from TDirectory.
|
virtual |
|
overridevirtual |
Return the size in bytes of the file header.
Reimplemented from TDirectoryFile.
|
overridevirtual |
Stream a TFile object.
Reimplemented from TDirectoryFile.
Reimplemented in TMemFile, TNetXNGFile, TParallelMergingFile, TSQLFile, and TXMLFile.
|
inline |
| void TFile::SumBuffer | ( | Int_t | bufsize | ) |
|
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.
|
protectedinherited |
UnRegister a TContext pointing to this TDirectory object.
Definition at line 1444 of file TDirectory.cxx.
|
virtualinherited |
| ROOT::Detail::TKeyMapIterable TFile::WalkTKeys | ( | ) |
|
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.
|
overridevirtual |
One can not save a const TDirectory object.
Reimplemented from TDirectoryFile.
Reimplemented in TParallelMergingFile, TSQLFile, and TXMLFile.
|
overridevirtual |
Write memory objects to this file.
Loop on all objects in memory (including subdirectories). A new key is created in the KEYS linked list for each object. The list of keys is then saved on the file (via WriteKeys) as a single data record. For values of opt see TObject::Write(). The directory header info is rewritten on the directory header record. The linked list of FREE segments is written. The file header is written (bytes 1->fBEGIN).
Reimplemented from TDirectoryFile.
Reimplemented in TParallelMergingFile, TSQLFile, and TXMLFile.
Write a buffer to the file.
This is the basic low level write operation. Returns kTRUE in case of failure.
Reimplemented in TDavixFile, TDCacheFile, TNetXNGFile, TSQLFile, and TXMLFile.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
virtual |
|
virtual |
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
virtual |
|
virtual |
Write the list of TStreamerInfo as a single object in this file The class Streamer description for all classes written to this file is saved.
See class TStreamerInfo.
Reimplemented in TParallelMergingFile, TSQLFile, and TXMLFile.
|
overridevirtualinherited |
Reimplemented from TDirectory.
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
privateinherited |
|
protectedinherited |
Default buffer size to create new TKeys.
Definition at line 41 of file TDirectoryFile.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedinherited |
! Pointer to a list of TContext object pointing to this TDirectory
Definition at line 145 of file TDirectory.h.
|
protectedinherited |
! Counter delaying the TDirectory destructor from finishing.
Definition at line 153 of file TDirectory.h.
|
protectedinherited |
Date and time when directory is created.
Definition at line 37 of file TDirectoryFile.h.
|
protectedinherited |
Date and time of last modification.
Definition at line 38 of file TDirectoryFile.h.
|
protectedinherited |
Pointer to current file in memory.
Definition at line 45 of file TDirectoryFile.h.
|
protected |
|
inlinestaticprotectedinherited |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protectedinherited |
! thread local gDirectory pointing to this object.
Definition at line 151 of file TDirectory.h.
|
staticprivateinherited |
|
staticprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protectedinherited |
Pointer to keys list in memory.
Definition at line 46 of file TDirectoryFile.h.
|
protectedinherited |
List of objects in memory.
Definition at line 142 of file TDirectory.h.
True if directory has been modified.
Definition at line 35 of file TDirectoryFile.h.
|
protectedinherited |
pointer to mother of the directory
Definition at line 141 of file TDirectory.h.
|
protected |
|
protected |
|
protectedinherited |
Number of bytes for the keys.
Definition at line 39 of file TDirectoryFile.h.
|
protectedinherited |
Number of bytes in TNamed at creation time.
Definition at line 40 of file TDirectoryFile.h.
|
protected |
|
protected |
|
mutableprotectedinherited |
! Buffer for GetPath() function
Definition at line 144 of file TDirectory.h.
|
protected |
|
protected |
|
protected |
|
protectedinherited |
Location of directory on file.
Definition at line 42 of file TDirectoryFile.h.
|
protected |
|
protected |
|
protectedinherited |
Location of Keys record on file.
Definition at line 44 of file TDirectoryFile.h.
|
protectedinherited |
Location of parent directory on file.
Definition at line 43 of file TDirectoryFile.h.
|
mutableprotectedinherited |
! MSVC doesn't support = ATOMIC_FLAG_INIT;
Definition at line 154 of file TDirectory.h.
|
protected |
|
protected |
|
privateinherited |
|
protected |
|
protectedinherited |
Unique identifier.
Definition at line 143 of file TDirectory.h.
True if directory is writable.
Definition at line 36 of file TDirectoryFile.h.
|
protected |
|
protected |