Definition at line 25 of file TXMLFile.h.
Public Member Functions | |
TXMLFile () | |
TXMLFile (const char *filename, Option_t *option="read", const char *title="title", Int_t compression=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault) | |
Open or creates local XML file with name filename. | |
virtual | ~TXMLFile () |
destructor of TXMLFile object | |
Bool_t | AddXmlComment (const char *comment) |
Add comment line on the top of the xml document This line can only be seen in xml editor and cannot be accessed later with TXMLFile methods. | |
Bool_t | AddXmlLine (const char *line) |
Add just one line on the top of xml document For instance, line can contain special xml processing instructions Line should has correct xml syntax that later it can be decoded by xml parser To be parsed later by TXMLFile again, this line should contain either xml comments or xml processing instruction. | |
Bool_t | AddXmlStyleSheet (const char *href, const char *type="text/css", const char *title=nullptr, int alternate=-1, const char *media=nullptr, const char *charset=nullptr) |
Adds style sheet definition on the top of xml document Creates <?xml-stylesheet alternate="yes" title="compact" href="small-base.css" type="text/css"?> Attributes href and type must be supplied, other attributes: title, alternate, media, charset are optional if alternate==0, attribute alternate="no" will be created, if alternate>0, attribute alternate="yes" if alternate<0, attribute will not be created This style sheet definition cannot be later access with TXMLFile methods. | |
void | Close (Option_t *option="") final |
Close a XML file For more comments see TFile::Close() function. | |
TKey * | CreateKey (TDirectory *mother, const TObject *obj, const char *name, Int_t bufsize) final |
create XML key, which will store object in xml structures | |
TKey * | CreateKey (TDirectory *mother, const void *obj, const TClass *cl, const char *name, Int_t bufsize) final |
create XML key, which will store object in xml structures | |
void | DrawMap (const char *="*", Option_t *="") final |
Draw map of objects in this file. | |
void | FillBuffer (char *&) final |
Encode file output buffer. | |
void | Flush () final |
Synchronize a file's in-memory and on-disk states. | |
Long64_t | GetEND () const final |
Int_t | GetErrno () const final |
Method returning errno. | |
Int_t | GetIOVersion () const |
Int_t | GetNbytesFree () const final |
Int_t | GetNbytesInfo () const final |
Int_t | GetNfree () const final |
Long64_t | GetSeekFree () const final |
Long64_t | GetSeekInfo () const final |
Long64_t | GetSize () const final |
Returns the current file size. | |
Bool_t | IsOpen () const final |
return kTRUE if file is opened and can be accessed | |
void | MakeFree (Long64_t, Long64_t) final |
Mark unused bytes on the file. | |
void | MakeProject (const char *, const char *="*", Option_t *="new") final |
Generate source code necessary to access the objects stored in the file. | |
void | Map () final |
void | Map (Option_t *) final |
List the contents of a file sequentially. | |
void | Paint (Option_t *="") final |
Paint all objects in the file. | |
void | Print (Option_t *="") const final |
Print all objects in the file. | |
Bool_t | ReadBuffer (char *, Int_t) final |
Read a buffer from the file. | |
Bool_t | ReadBuffer (char *, Long64_t, Int_t) final |
Read a buffer from the file at the offset 'pos' in the file. | |
void | ReadFree () final |
Read the FREE linked list. | |
Int_t | Recover () final |
Attempt to recover file if not correctly closed. | |
Int_t | ReOpen (Option_t *mode) final |
Reopen a file with a different access mode, like from READ to See TFile::Open() for details. | |
void | ResetErrno () const final |
Method resetting the errno. | |
void | Seek (Long64_t, ERelativeTo=kBeg) final |
Seek to a specific position in the file. Pos it either kBeg, kCur or kEnd. | |
void | SetEND (Long64_t) final |
void | SetStoreStreamerInfos (Bool_t iConvert=kTRUE) final |
If true, all correspondent to file TStreamerInfo objects will be stored in file this allows to apply schema evolution later for this file may be useful, when file used outside ROOT and TStreamerInfo objects does not required Can be changed only for newly created file. | |
void | SetUsedDtd (Bool_t use=kTRUE) final |
Specify usage of DTD for this file. | |
void | SetUseNamespaces (Bool_t iUseNamespaces=kTRUE) final |
Specify usage of namespaces in xml file In current implementation every instrumented class in file gets its unique namespace, which is equal to name of class and refer to root documentation page like <TAttPad xmlns:TAttPad="http://root.cern.ch/root/htmldoc/TAttPad.html" version="3"> And xml node for class member gets its name as combination of class name and member name <TAttPad:fLeftMargin v="0.100000"/> <TAttPad:fRightMargin v="0.100000"/> <TAttPad:fBottomMargin v="0.100000"/> and so on Usage of namespace increase size of xml file, but makes file more readable and allows to produce DTD in the case, when in several classes data member has same name Can be changed only for newly created file. | |
void | SetXmlLayout (EXMLLayout layout) final |
Change layout of objects in xml file Can be changed only for newly created file. | |
Int_t | Sizeof () const final |
Return the size in bytes of the file header. | |
Int_t | Write (const char *=nullptr, Int_t=0, Int_t=0) const final |
One can not save a const TDirectory object. | |
Int_t | Write (const char *=nullptr, Int_t=0, Int_t=0) final |
Write memory objects to this file. | |
Bool_t | WriteBuffer (const char *, Int_t) final |
Write a buffer to the file. | |
void | WriteFree () final |
Write FREE linked list on the file. | |
void | WriteHeader () final |
Write File Header. | |
void | WriteStreamerInfo () final |
convert all TStreamerInfo, used in file, to xml format | |
TXMLEngine * | XML () |
Public Member Functions inherited from TFile | |
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. | |
virtual | ~TFile () |
File destructor. | |
void | Copy (TObject &) const override |
Copy this to obj. | |
virtual Bool_t | Cp (const char *dst, Bool_t progressbar=kTRUE, UInt_t buffersize=1000000) |
Allows to copy this file to the dst URL. | |
void | Delete (const char *namecycle="") override |
Delete object namecycle. | |
void | Draw (Option_t *option="") override |
Fill Graphics Structure and Paint. | |
TArchiveFile * | GetArchive () const |
Long64_t | GetArchiveOffset () const |
Int_t | GetBestBuffer () const |
Return the best buffer size of objects on this file. | |
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 |
virtual const TUrl * | GetEndpointUrl () const |
Int_t | GetFd () const |
TList * | GetListOfFree () const |
TObjArray * | GetListOfProcessIDs () const |
virtual TString | GetNewUrl () |
virtual Int_t | GetNProcessIDs () const |
Option_t * | GetOption () const override |
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 |
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. | |
Int_t | GetVersion () const |
virtual void | IncrementProcessIDs () |
virtual Bool_t | IsArchive () const |
Bool_t | IsBinary () const |
Bool_t | IsRaw () const |
void | ls (Option_t *option="") const override |
List file contents. | |
virtual Bool_t | Matches (const char *name) |
Return kTRUE if 'url' matches the coordinates of this file. | |
virtual Bool_t | MustFlush () const |
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 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. | |
virtual void | SetCacheRead (TFileCacheRead *cache, TObject *tree=0, 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 | 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) |
virtual void | ShowStreamerInfo () |
Show the StreamerInfo of all classes written to this file. | |
void | SumBuffer (Int_t bufsize) |
Increment statistics for buffer sizes of objects in this file. | |
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. | |
Public Member Functions inherited from TDirectoryFile | |
TDirectoryFile () | |
Default TDirectoryFile constructor. | |
TDirectoryFile (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=nullptr) | |
Create a new TDirectoryFile. | |
virtual | ~TDirectoryFile () |
Destructor. | |
void | Add (TObject *obj, Bool_t replace=kFALSE) override |
void | Append (TObject *obj, Bool_t replace=kFALSE) override |
Append object to this directory. | |
Int_t | AppendKey (TKey *key) override |
Insert key in the linked list of keys of this directory. | |
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 the directory described by the path if given one. | |
TObject * | CloneObject (const TObject *obj, Bool_t autoadd=kTRUE) override |
Make a clone of an object using the Streamer facility. | |
TKey * | FindKey (const char *keyname) const override |
Find key with name keyname in the current directory. | |
TKey * | FindKeyAny (const char *keyname) const override |
Find key with name keyname in the current directory or its subdirectories. | |
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 |
Scan the memory lists of all files for an object with name. | |
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. | |
Int_t | GetBufferSize () const override |
Return the buffer size to create new TKeys. | |
const TDatime & | GetCreationDate () const |
TDirectory * | GetDirectory (const char *apath, Bool_t printError=false, const char *funcname="GetDirectory") override |
Find a directory named "apath". | |
TFile * | GetFile () const override |
TKey * | GetKey (const char *name, Short_t cycle=9999) const override |
Return pointer to key with name,cycle. | |
TList * | GetListOfKeys () const override |
const TDatime & | GetModificationDate () const |
Int_t | GetNbytesKeys () const override |
Int_t | GetNkeys () const override |
void * | GetObjectChecked (const char *namecycle, const char *classname) override |
See documentation of TDirectoryFile::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. | |
void * | GetObjectUnchecked (const char *namecycle) override |
Return pointer to object identified by namecycle. | |
Long64_t | GetSeekDir () const override |
Long64_t | GetSeekKeys () const override |
Long64_t | GetSeekParent () const override |
Bool_t | IsModified () const override |
Bool_t | IsWritable () const override |
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/...". | |
TFile * | OpenFile (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0) override |
Interface to TFile::Open. | |
void | Purge (Short_t nkeep=1) override |
Purge lowest key cycles in a directory. | |
void | ReadAll (Option_t *option="") override |
Read objects from a ROOT file directory into memory. | |
Int_t | ReadKeys (Bool_t forceRead=kTRUE) override |
Read the linked list of keys. | |
Int_t | ReadTObject (TObject *obj, const char *keyname) override |
Read object with keyname from the current directory. | |
virtual void | ResetAfterMerge (TFileMergeInfo *) |
Reset the TDirectory after its content has been merged into another Directory. | |
void | rmdir (const char *name) override |
Removes subdirectory from the directory. | |
void | Save () override |
Save recursively all directory keys and headers. | |
Int_t | SaveObjectAs (const TObject *obj, const char *filename="", Option_t *option="") const override |
Save object in filename. | |
void | SaveSelf (Bool_t force=kFALSE) override |
Save Directory keys and header. | |
void | SetBufferSize (Int_t bufsize) override |
Set the default buffer size when creating new TKeys. | |
void | SetModified () override |
void | SetSeekDir (Long64_t v) override |
void | SetTRefAction (TObject *ref, TObject *parent) override |
Find the action to be executed in the dictionary of the parent class and store the corresponding exec number into fBits. | |
void | SetWritable (Bool_t writable=kTRUE) override |
Set the new value of fWritable recursively. | |
void | WriteDirHeader () override |
Overwrite the Directory header record. | |
void | WriteKeys () override |
Write Keys linked list on the file. | |
Int_t | WriteObjectAny (const void *obj, const char *classname, const char *name, Option_t *option="", Int_t bufsize=0) override |
Write object from pointer of class classname in this directory. | |
Int_t | WriteObjectAny (const void *obj, const TClass *cl, const char *name, Option_t *option="", Int_t bufsize=0) override |
Write object of class with dictionary cl in this directory. | |
Int_t | WriteTObject (const TObject *obj, const char *name=nullptr, Option_t *option="", Int_t bufsize=0) override |
Write object obj to this directory. | |
Public Member Functions inherited from TDirectory | |
TDirectory () | |
Directory default constructor. | |
TDirectory (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=nullptr) | |
Create a new Directory. | |
virtual | ~TDirectory () |
Destructor. | |
void | Clear (Option_t *option="") override |
Delete all objects from a Directory list. | |
virtual void | DeleteAll (Option_t *option="") |
Delete all objects from memory. | |
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. | |
template<class T > | |
T * | Get (const char *namecycle) |
See documentation of TDirectoryFile::Get(const char *namecycle) | |
virtual TList * | GetList () const |
TObject * | GetMother () const |
TDirectory * | GetMotherDir () const |
template<class T > | |
void | GetObject (const char *namecycle, T *&ptr) |
Get an object with proper type checking. | |
virtual const char * | GetPath () const |
Returns the full path of the directory. | |
virtual const char * | GetPathStatic () const |
Returns the full path of the directory. | |
TUUID | GetUUID () const |
Bool_t | IsBuilt () const |
Bool_t | IsFolder () const override |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
virtual void | pwd () const |
Print the path of the directory. | |
void | RecursiveRemove (TObject *obj) override |
Recursively remove object from a Directory. | |
virtual TObject * | Remove (TObject *) |
Remove an object from the in-memory list. | |
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. | |
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. | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
virtual Bool_t | IsSortable () const |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
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. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
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 for instance with: gROOT->SetSelectedPad(gPad) . | |
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=0) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
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). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
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) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
Public Member Functions inherited from TXMLSetup | |
TXMLSetup ()=default | |
TXMLSetup (const char *opt) | |
creates TXMLSetup object getting values from string | |
TXMLSetup (const TXMLSetup &src) | |
copy constructor of TXMLSetup class | |
virtual | ~TXMLSetup ()=default |
Int_t | GetNextRefCounter () |
TString | GetSetupAsString () |
return setup values as string | |
EXMLLayout | GetXmlLayout () const |
Bool_t | IsStoreStreamerInfos () const |
Bool_t | IsUseDtd () const |
Bool_t | IsUseNamespaces () const |
TXMLSetup & | operator= (const TXMLSetup &rhs) |
assign operator | |
void | PrintSetup () |
show setup values | |
const char * | XmlClassNameSpaceRef (const TClass *cl) |
produce string which used as reference in class namespace definition | |
const char * | XmlConvertClassName (const char *name) |
convert class name to exclude any special symbols like ':', '<' '>' ',' and spaces | |
const char * | XmlGetElementName (const TStreamerElement *el) |
return converted name for TStreamerElement | |
Protected Member Functions | |
void | CombineNodesTree (TDirectory *dir, XMLNodePointer_t topnode, Bool_t dolink) |
Connect/disconnect all file nodes to single tree before/after saving. | |
Long64_t | DirCreateEntry (TDirectory *) final |
Create key for directory entry in the key. | |
Int_t | DirReadKeys (TDirectory *) final |
Read keys for directory Make sense only once, while next time no new subnodes will be created. | |
void | DirWriteHeader (TDirectory *) final |
Write the directory header. | |
void | DirWriteKeys (TDirectory *) final |
Update key attributes. | |
TKeyXML * | FindDirKey (TDirectory *dir) |
Search for key which correspond to directory dir. | |
TDirectory * | FindKeyDir (TDirectory *mother, Long64_t keyid) |
Find a directory in motherdir with a seek equal to keyid. | |
InfoListRet | GetStreamerInfoListImpl (bool lookupSICache) final |
Read streamerinfo structures from xml format and provide them in the list It is user responsibility to destroy this list. | |
void | InitXmlFile (Bool_t create) |
initialize xml file and correspondent structures identical to TFile::Init() function | |
Bool_t | ReadFromFile () |
read document from file Now full content of document reads into the memory Then document decomposed to separate keys and streamer info structures All irrelevant data will be cleaned | |
Int_t | ReadKeysList (TDirectory *dir, XMLNodePointer_t topnode) |
Read list of keys for directory. | |
void | ReadStreamerElement (XMLNodePointer_t node, TStreamerInfo *info) |
read and reconstruct single TStreamerElement from xml node | |
void | SaveToFile () |
Saves xml structures to the file xml elements are kept in list of TKeyXML objects When saving, all this elements are linked to root xml node At the end StreamerInfo structures are added After xml document is saved, all nodes will be unlinked from root node and kept in memory. | |
void | StoreStreamerElement (XMLNodePointer_t node, TStreamerElement *elem) |
store data of single TStreamerElement in streamer node | |
Int_t | SysClose (Int_t) final |
Interface to system close. All arguments like in POSIX close(). | |
Int_t | SysOpen (const char *, Int_t, UInt_t) final |
Interface to system open. All arguments like in POSIX open(). | |
Int_t | SysRead (Int_t, void *, Int_t) final |
Interface to system read. All arguments like in POSIX read(). | |
Long64_t | SysSeek (Int_t, Long64_t, Int_t) final |
Interface to system lseek. | |
Int_t | SysStat (Int_t, Long_t *, Long64_t *, Long_t *, Long_t *) final |
Return file stat information. | |
Int_t | SysSync (Int_t) final |
Interface to system fsync. All arguments like in POSIX fsync(). | |
Int_t | SysWrite (Int_t, const void *, Int_t) final |
Interface to system write. All arguments like in POSIX write(). | |
Protected Member Functions inherited from TFile | |
Bool_t | FlushWriteCache () |
Flush the write cache if active. | |
virtual EAsyncOpenStatus | GetAsyncOpenStatus () |
virtual void | Init (Bool_t create) |
Initialize a TFile object. | |
Int_t | MakeProjectParMake (const char *packname, const char *filename) |
Create makefile at 'filemake' for PAR package 'pack'. | |
Int_t | MakeProjectParProofInf (const char *packname, const char *proofinfdir) |
Create BUILD.sh and SETUP.C under 'proofinf' for PAR package 'pack'. | |
Int_t | ReadBufferViaCache (char *buf, Int_t len) |
Read buffer via cache. | |
Int_t | WriteBufferViaCache (const char *buf, Int_t len) |
Write buffer via cache. | |
Protected Member Functions inherited from TDirectoryFile | |
void | BuildDirectoryFile (TFile *motherFile, TDirectory *motherDir) |
Initialise directory to defaults. | |
void | CleanTargets () |
Clean the pointers to this object (gDirectory, TContext, etc.) | |
void | InitDirectoryFile (TClass *cl=nullptr) |
Initialize the key associated with this directory (and the related data members. | |
Protected Member Functions inherited from TDirectory | |
TDirectory (const TDirectory &directory)=delete | |
void | BuildDirectory (TFile *motherFile, TDirectory *motherDir) |
Initialise directory to defaults. | |
Bool_t | cd1 (const char *path) |
flag to add histograms, graphs,etc to the directory | |
void | CleanTargets () |
Clean the pointers to this object (gDirectory, TContext, etc.). | |
void | FillFullPath (TString &buf) const |
Recursive method to fill full path for directory. | |
void | operator= (const TDirectory &)=delete |
void | RegisterContext (TContext *ctxt) |
Register a TContext pointing to this TDirectory object. | |
void | RegisterGDirectory (SharedGDirectory_t &ptr) |
Register a std::atomic<TDirectory*> that will soon be pointing to this TDirectory object. | |
void | UnregisterContext (TContext *ctxt) |
UnRegister a TContext pointing to this TDirectory object. | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Protected Member Functions inherited from TXMLSetup | |
Int_t | AtoI (const char *sbuf, Int_t def=0, const char *errinfo=nullptr) |
converts string to integer. | |
const char * | GetElItemName (TStreamerElement *el) |
get item name for given element | |
Bool_t | IsValidXmlSetup (const char *setupstr) |
checks if string is valid setup | |
Bool_t | ReadSetupFromStr (const char *setupstr) |
get values from string | |
TClass * | XmlDefineClass (const char *xmlClassName) |
define class for the converted class name, where special symbols were replaced by '_' | |
Static Protected Member Functions | |
static void | ProduceFileNames (const char *filename, TString &fname, TString &dtdname) |
function produces pair of xml and dtd file names | |
Static Protected Member Functions inherited from TDirectory | |
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. | |
Protected Attributes | |
XMLDocPointer_t | fDoc {nullptr} |
Int_t | fIOVersion {0} |
object for interface with xml library | |
Long64_t | fKeyCounter {0} |
indicates format of ROOT xml file | |
XMLNodePointer_t | fStreamerInfoNode {nullptr} |
std::unique_ptr< TXMLEngine > | fXML |
pointer of node with streamer info data | |
Protected Attributes inherited from TFile | |
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. | |
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. | |
Int_t | fD {-1} |
File descriptor. | |
Long64_t | fEND {0} |
Last used byte in file. | |
TList * | fFree {nullptr} |
Free segments linked list table. | |
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 | |
Bool_t | fMustFlush {kTRUE} |
!True if the file buffers must be flushed | |
Int_t | fNbytesFree {0} |
Number of bytes for free segments structure. | |
Int_t | fNbytesInfo {0} |
Number of bytes for StreamerInfo record. | |
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. | |
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 | fSeekFree {0} |
Location on disk of free segments structure. | |
Long64_t | fSeekInfo {0} |
Location on disk of StreamerInfo record. | |
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. | |
Char_t | fUnits {0} |
Number of bytes for file pointers. | |
TUrl | fUrl |
!URL of file | |
Int_t | fVersion {0} |
File format version. | |
std::mutex | fWriteMutex |
!Lock for writing baskets / keys into the file. | |
Int_t | fWritten {0} |
Number of objects written so far. | |
Protected Attributes inherited from TDirectoryFile | |
Int_t | fBufferSize {0} |
Default buffer size to create new TKeys. | |
TDatime | fDatimeC |
Date and time when directory is created. | |
TDatime | fDatimeM |
Date and time of last modification. | |
TFile * | fFile {nullptr} |
Pointer to current file in memory. | |
TList * | fKeys {nullptr} |
Pointer to keys list in memory. | |
Bool_t | fModified {kFALSE} |
True if directory has been modified. | |
Int_t | fNbytesKeys {0} |
Number of bytes for the keys. | |
Int_t | fNbytesName {0} |
Number of bytes in TNamed at creation time. | |
Long64_t | fSeekDir {0} |
Location of directory on file. | |
Long64_t | fSeekKeys {0} |
Location of Keys record on file. | |
Long64_t | fSeekParent {0} |
Location of parent directory on file. | |
Bool_t | fWritable {kFALSE} |
True if directory is writable. | |
Protected Attributes inherited from TDirectory | |
TContext * | fContext {nullptr} |
Buffer for GetPath() function. | |
std::atomic< size_t > | fContextPeg {0} |
thread local gDirectory pointing to this object. | |
std::vector< SharedGDirectory_t > | fGDirectories |
TList * | fList {nullptr} |
TObject * | fMother {nullptr} |
TString | fPathBuffer |
std::atomic_flag | fSpinLock |
Counter delaying the TDirectory destructor from finishing. | |
TUUID | fUUID |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TXMLSetup | |
Int_t | fRefCounter {0} |
Bool_t | fStoreStreamerInfos {kTRUE} |
TString | fStrBuf |
counter , used to build id of xml references | |
Bool_t | fUseDtd {kFALSE} |
Bool_t | fUseNamespaces {kFALSE} |
EXMLLayout | fXmlLayout {kSpecialized} |
Private Member Functions | |
TXMLFile (const TXMLFile &)=delete | |
void | operator= (const TXMLFile &)=delete |
Additional Inherited Members | |
Public Types inherited from TFile | |
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 | 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 { kRecovered = BIT(10) , kHasReferences = BIT(11) , kDevNull = BIT(12) , kWriteError = BIT(14) , kBinaryFile = BIT(15) , kRedirected = BIT(16) , kReproducible = BIT(17) } |
TFile status bits. BIT(13) is taken up by TObject. More... | |
Public Types inherited from TDirectoryFile | |
enum | EStatusBits { kCloseDirectory = BIT(7) } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Public Types inherited from TXMLSetup | |
enum | EXMLLayout { kSpecialized = 2 , kGeneralized = 3 } |
Static Public Member Functions inherited from TFile | |
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 | 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 TFile *& | CurrentFile () |
Return the current ROOT file if any. | |
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 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 | 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 (ROOT::Internal::TStringView cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE) |
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 | SetFileBytesRead (Long64_t bytes=0) |
static void | SetFileBytesWritten (Long64_t bytes=0) |
static void | SetFileReadCalls (Int_t readcalls=0) |
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. | |
Static Public Member Functions inherited from TDirectory | |
static void | AddDirectory (Bool_t add=kTRUE) |
Sets the flag controlling the automatic add objects like histograms, TGraph2D, etc in memory. | |
static Bool_t | AddDirectoryStatus () |
Static function: see TDirectory::AddDirectory for more comments. | |
static Bool_t | Cd (const char *path) |
Change current directory to "path". | |
static std::atomic< TDirectory * > & | CurrentDirectory () |
Return the current directory for the current thread. | |
static void | DecodeNameCycle (const char *namecycle, char *name, Short_t &cycle, const size_t namesize=0) |
Decode a namecycle "aap;2" into name "aap" and cycle "2". | |
static void | EncodeNameCycle (char *buffer, const char *name, Short_t cycle) |
Encode the name and cycle into buffer like: "aap;2". | |
Static Public Member Functions inherited from TObject | |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Static Public Member Functions inherited from TXMLSetup | |
static TString | DefaultXmlSetup () |
return default value for XML setup | |
static void | SetNameSpaceBase (const char *namespacebase) |
set namespace base | |
Protected Types inherited from TDirectory | |
using | SharedGDirectory_t = std::shared_ptr< std::atomic< TDirectory * > > |
Pointer to a list of TContext object pointing to this TDirectory. | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
Static Protected Attributes inherited from TFile | |
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 | |
Static Protected Attributes inherited from TDirectory | |
static Bool_t | fgAddDirectory = kTRUE |
MSVC doesn't support = ATOMIC_FLAG_INIT;. | |
Static Protected Attributes inherited from TXMLSetup | |
static TString | fgNameSpaceBase = "http://root.cern.ch/root/htmldoc/" |
buffer, used in XmlDefineClass() function | |
#include <TXMLFile.h>
|
privatedelete |
|
inline |
Definition at line 51 of file TXMLFile.h.
TXMLFile::TXMLFile | ( | const char * | filename, |
Option_t * | option = "read" , |
||
const char * | title = "title" , |
||
Int_t | compression = ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault |
||
) |
Open or creates local XML file with name filename.
It is recommended to specify filename as "<file>.xml". The suffix ".xml" will be used by object browsers to automatically identify the file as a XML file. If the constructor fails in any way IsZombie() will return true. Use IsOpen() to check if the file is (still) open.
If option = 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. = 2xoo create a new file with specified xml settings for more details see TXMLSetup class = UPDATE open an existing file for writing. if no file exists, it is created. = READ open an existing file for reading.
For more details see comments for TFile::TFile() constructor
TXMLFile does not support TTree objects
Definition at line 116 of file TXMLFile.cxx.
|
virtual |
destructor of TXMLFile object
Definition at line 355 of file TXMLFile.cxx.
Bool_t TXMLFile::AddXmlComment | ( | const char * | comment | ) |
Add comment line on the top of the xml document This line can only be seen in xml editor and cannot be accessed later with TXMLFile methods.
Definition at line 963 of file TXMLFile.cxx.
Bool_t TXMLFile::AddXmlLine | ( | const char * | line | ) |
Add just one line on the top of xml document For instance, line can contain special xml processing instructions Line should has correct xml syntax that later it can be decoded by xml parser To be parsed later by TXMLFile again, this line should contain either xml comments or xml processing instruction.
Definition at line 997 of file TXMLFile.cxx.
Bool_t TXMLFile::AddXmlStyleSheet | ( | const char * | href, |
const char * | type = "text/css" , |
||
const char * | title = nullptr , |
||
int | alternate = -1 , |
||
const char * | media = nullptr , |
||
const char * | charset = nullptr |
||
) |
Adds style sheet definition on the top of xml document Creates <?xml-stylesheet alternate="yes" title="compact" href="small-base.css" type="text/css"?> Attributes href and type must be supplied, other attributes: title, alternate, media, charset are optional if alternate==0, attribute alternate="no" will be created, if alternate>0, attribute alternate="yes" if alternate<0, attribute will not be created This style sheet definition cannot be later access with TXMLFile methods.
Definition at line 981 of file TXMLFile.cxx.
Close a XML file For more comments see TFile::Close() function.
Reimplemented from TFile.
Definition at line 299 of file TXMLFile.cxx.
|
protected |
Connect/disconnect all file nodes to single tree before/after saving.
Definition at line 535 of file TXMLFile.cxx.
|
finalvirtual |
create XML key, which will store object in xml structures
Reimplemented from TFile.
Definition at line 408 of file TXMLFile.cxx.
|
finalvirtual |
create XML key, which will store object in xml structures
Reimplemented from TFile.
Definition at line 416 of file TXMLFile.cxx.
|
finalprotectedvirtual |
Create key for directory entry in the key.
Reimplemented from TFile.
Definition at line 1008 of file TXMLFile.cxx.
|
finalprotectedvirtual |
Read keys for directory Make sense only once, while next time no new subnodes will be created.
Reimplemented from TFile.
Definition at line 1069 of file TXMLFile.cxx.
|
finalprotectedvirtual |
|
finalprotectedvirtual |
Draw map of objects in this file.
Reimplemented from TFile.
Definition at line 58 of file TXMLFile.h.
|
inlinefinalvirtual |
Encode file output buffer.
The file output buffer contains only the FREE data record.
Reimplemented from TFile.
Definition at line 59 of file TXMLFile.h.
|
protected |
Search for key which correspond to directory dir.
Definition at line 1024 of file TXMLFile.cxx.
|
protected |
Find a directory in motherdir with a seek equal to keyid.
Definition at line 1047 of file TXMLFile.cxx.
|
inlinefinalvirtual |
Synchronize a file's in-memory and on-disk states.
Reimplemented from TFile.
Definition at line 60 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 62 of file TXMLFile.h.
|
inlinefinalvirtual |
|
inline |
Definition at line 73 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 68 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 67 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 66 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 69 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 70 of file TXMLFile.h.
|
inlinefinalvirtual |
Returns the current file size.
Returns -1 in case the file could not be stat'ed.
Reimplemented from TFile.
Definition at line 71 of file TXMLFile.h.
|
finalprotectedvirtual |
Read streamerinfo structures from xml format and provide them in the list It is user responsibility to destroy this list.
Reimplemented from TFile.
Definition at line 715 of file TXMLFile.cxx.
initialize xml file and correspondent structures identical to TFile::Init() function
Definition at line 262 of file TXMLFile.cxx.
|
finalvirtual |
return kTRUE if file is opened and can be accessed
Reimplemented from TFile.
Definition at line 363 of file TXMLFile.cxx.
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).
Reimplemented from TFile.
Definition at line 77 of file TXMLFile.h.
|
inlinefinalvirtual |
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 rootcint 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.
Reimplemented from TFile.
Definition at line 78 of file TXMLFile.h.
|
inlinefinalvirtual |
Reimplemented from TFile.
Definition at line 80 of file TXMLFile.h.
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 ommitted 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)
Reimplemented from TFile.
Definition at line 79 of file TXMLFile.h.
|
staticprotected |
function produces pair of xml and dtd file names
Definition at line 424 of file TXMLFile.cxx.
Read a buffer from the file.
This is the basic low level read operation. Returns kTRUE in case of failure.
Reimplemented from TFile.
Definition at line 83 of file TXMLFile.h.
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 from TFile.
Definition at line 84 of file TXMLFile.h.
|
inlinefinalvirtual |
Read the FREE linked list.
Every file has a linked list (fFree) of free segments. This linked list has been written on the file via WriteFree as a single data record.
Reimplemented from TFile.
Definition at line 85 of file TXMLFile.h.
|
protected |
read document from file Now full content of document reads into the memory Then document decomposed to separate keys and streamer info structures All irrelevant data will be cleaned
Definition at line 559 of file TXMLFile.cxx.
|
protected |
Read list of keys for directory.
Definition at line 630 of file TXMLFile.cxx.
|
protected |
read and reconstruct single TStreamerElement from xml node
Definition at line 823 of file TXMLFile.cxx.
|
inlinefinalvirtual |
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.
Reimplemented from TFile.
Definition at line 86 of file TXMLFile.h.
Reopen a file with a different access mode, like from READ to See TFile::Open() for details.
Reimplemented from TFile.
Definition at line 372 of file TXMLFile.cxx.
|
inlinefinalvirtual |
|
protected |
Saves xml structures to the file xml elements are kept in list of TKeyXML objects When saving, all this elements are linked to root xml node At the end StreamerInfo structures are added After xml document is saved, all nodes will be unlinked from root node and kept in memory.
Only Close() or destructor release memory, used by xml structures
Definition at line 454 of file TXMLFile.cxx.
|
inlinefinalvirtual |
Seek to a specific position in the file. Pos it either kBeg, kCur or kEnd.
Reimplemented from TFile.
Definition at line 88 of file TXMLFile.h.
Reimplemented from TFile.
Definition at line 90 of file TXMLFile.h.
If true, all correspondent to file TStreamerInfo objects will be stored in file this allows to apply schema evolution later for this file may be useful, when file used outside ROOT and TStreamerInfo objects does not required Can be changed only for newly created file.
Reimplemented from TXMLSetup.
Definition at line 921 of file TXMLFile.cxx.
Specify usage of DTD for this file.
Currently this option not available (always false). Can be changed only for newly created file.
Reimplemented from TXMLSetup.
Definition at line 932 of file TXMLFile.cxx.
Specify usage of namespaces in xml file In current implementation every instrumented class in file gets its unique namespace, which is equal to name of class and refer to root documentation page like <TAttPad xmlns:TAttPad="http://root.cern.ch/root/htmldoc/TAttPad.html" version="3"> And xml node for class member gets its name as combination of class name and member name <TAttPad:fLeftMargin v="0.100000"/> <TAttPad:fRightMargin v="0.100000"/> <TAttPad:fBottomMargin v="0.100000"/> and so on Usage of namespace increase size of xml file, but makes file more readable and allows to produce DTD in the case, when in several classes data member has same name Can be changed only for newly created file.
Reimplemented from TXMLSetup.
Definition at line 952 of file TXMLFile.cxx.
|
finalvirtual |
Change layout of objects in xml file Can be changed only for newly created file.
Currently there are two supported layouts:
TXMLSetup::kSpecialized = 2 This is default layout of the file, when xml nodes names class names and data member names are used. For instance: <TAttLine version="1"> <fLineColor v="1"> <fLineStyle v="1"> <fLineWidth v="1"> </TAttLine>
TXMLSetup::kGeneralized = 3 For this layout all nodes name does not depend from class definitions. The same class looks like <Class name="TAttLine" version="1"> <Member name="fLineColor" v="1"> <Member name="fLineStyle" v="1"> <Member name="fLineWidth" v="1"> </Member>
Reimplemented from TXMLSetup.
Definition at line 909 of file TXMLFile.cxx.
|
inlinefinalvirtual |
Return the size in bytes of the file header.
Reimplemented from TFile.
Definition at line 91 of file TXMLFile.h.
|
protected |
store data of single TStreamerElement in streamer node
Definition at line 767 of file TXMLFile.cxx.
Interface to system close. All arguments like in POSIX close().
Reimplemented from TFile.
Definition at line 31 of file TXMLFile.h.
|
inlinefinalprotectedvirtual |
Interface to system open. All arguments like in POSIX open().
Reimplemented from TFile.
Definition at line 30 of file TXMLFile.h.
Interface to system read. All arguments like in POSIX read().
Reimplemented from TFile.
Definition at line 32 of file TXMLFile.h.
Interface to system lseek.
All arguments like in POSIX lseek() except that the offset and return value are of a type which are able to handle 64 bit file systems.
Reimplemented from TFile.
Definition at line 34 of file TXMLFile.h.
|
inlinefinalprotectedvirtual |
Return file stat information.
The interface and return value is identical to TSystem::GetPathInfo(). The function returns 0 in case of success and 1 if the file could not be stat'ed.
Reimplemented from TFile.
Definition at line 35 of file TXMLFile.h.
Interface to system fsync. All arguments like in POSIX fsync().
Reimplemented from TFile.
Definition at line 36 of file TXMLFile.h.
Interface to system write. All arguments like in POSIX write().
Reimplemented from TFile.
Definition at line 33 of file TXMLFile.h.
|
inlinefinalvirtual |
One can not save a const TDirectory object.
Reimplemented from TFile.
Definition at line 95 of file TXMLFile.h.
|
inlinefinalvirtual |
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 TFile.
Definition at line 94 of file TXMLFile.h.
Write a buffer to the file.
This is the basic low level write operation. Returns kTRUE in case of failure.
Reimplemented from TFile.
Definition at line 93 of file TXMLFile.h.
|
inlinefinalvirtual |
Write FREE linked list on the file.
The linked list of FREE segments (fFree) is written as a single data record.
Reimplemented from TFile.
Definition at line 96 of file TXMLFile.h.
|
inlinefinalvirtual |
|
finalvirtual |
convert all TStreamerInfo, used in file, to xml format
Reimplemented from TFile.
Definition at line 664 of file TXMLFile.cxx.
|
inline |
Definition at line 112 of file TXMLFile.h.
|
protected |
Definition at line 130 of file TXMLFile.h.
|
protected |
object for interface with xml library
Definition at line 136 of file TXMLFile.h.
|
protected |
indicates format of ROOT xml file
Definition at line 138 of file TXMLFile.h.
|
protected |
Definition at line 132 of file TXMLFile.h.
|
protected |
pointer of node with streamer info data
Definition at line 134 of file TXMLFile.h.