Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
TFile.h
Go to the documentation of this file.
1// @(#)root/io:$Id$
2// Author: Rene Brun 28/11/94
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TFile
13#define ROOT_TFile
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TFile //
19// //
20// ROOT file. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include <atomic>
25#include <string>
26#include <cstdint>
27
28#include "Compression.h"
29#include "TDirectoryFile.h"
30#include "TUrl.h"
32#include <optional>
33
34// Not a part of TFile interface; provide a forward declaration instead of #include.
35// #ifndef R__LESS_INCLUDES
36// #include "TMap.h"
37// #endif
38
39#ifdef R__USE_IMT
40#include "ROOT/TRWSpinLock.hxx"
41#include <mutex>
42#endif
43
44class TMap;
45class TFree;
46class TArrayC;
47class TArchiveFile;
48class TFileOpenHandle;
49class TFileCacheRead;
50class TFileCacheWrite;
51class TProcessID;
52class TStopwatch;
53class TFilePrefetch;
54
55namespace ROOT::Detail {
62
63 std::uint64_t fAddr = 0;
65 std::uint32_t fLen = 0;
66
67 // these are only valid for Keys
75 std::string fClassName;
76 std::string fKeyName;
77 std::string fKeyTitle;
78
79 TKeyMapNode() = default;
80 TKeyMapNode(std::uint64_t addr, EType type, std::uint32_t len = 0) : fAddr(addr), fType(type), fLen(len) {}
81};
82
85
86public:
87 class TIterator {
89 std::optional<TKeyMapNode> fCur;
90 std::uint64_t fCurAddr;
91
92 std::optional<TKeyMapNode> Next();
93
94 void Advance()
95 {
96 fCur = Next();
97 // If we encounter an error key, skip to the end of the file so we don't try reading additional ones.
98 if (!fCur || fCur->fType == TKeyMapNode::kError)
99 fCurAddr = -1;
100 }
101
102 public:
104 using iterator_category = std::forward_iterator_tag;
105 using difference_type = std::ptrdiff_t;
109
110 TIterator(TFile *file, std::uint64_t addr);
111
113 {
114 Advance();
115 return *this;
116 }
117 reference operator*() { return fCur.value(); }
118 pointer operator->() { return fCur ? &*fCur : nullptr; }
119 bool operator!=(const iterator &rh) const { return !(*this == rh); }
120 bool operator==(const iterator &rh) const { return fFile == rh.fFile && fCurAddr == rh.fCurAddr; }
121 };
122
123 explicit TKeyMapIterable(TFile *file) : fFile(file) {}
124
125 TIterator begin() const { return TIterator(fFile, 0); }
126 TIterator end() const { return TIterator(fFile, -1); }
127};
128
129} // namespace ROOT::Detail
130
131class TFile : public TDirectoryFile {
132 friend class TDirectoryFile;
133 friend class TFilePrefetch;
135// TODO: We need to make sure only one TBasket is being written at a time
136// if we are writing multiple baskets in parallel.
137#ifdef R__USE_IMT
138 friend class TBasket;
139#endif
140
141public:
142 /// Asynchronous open request status
145 /// Open timeout constants
147
148 /// TTreeCache flushing semantics
150
151protected:
152 Double_t fSumBuffer{0}; ///<Sum of buffer sizes of objects written so far
153 Double_t fSum2Buffer{0}; ///<Sum of squares of buffer sizes of objects written so far
154 Long64_t fBytesWrite{0}; ///<Number of bytes written to this file
155 Long64_t fBytesRead{0}; ///<Number of bytes read from this file
156 Long64_t fBytesReadExtra{0}; ///<Number of extra bytes (overhead) read by the readahead buffer
157 Long64_t fBEGIN{0}; ///<First used byte in file
158 Long64_t fEND{0}; ///<Last used byte in file
159 Long64_t fSeekFree{0}; ///<Location on disk of free segments structure
160 Long64_t fSeekInfo{0}; ///<Location on disk of StreamerInfo record
161 Int_t fD{-1}; ///<File descriptor
162 Int_t fVersion{0}; ///<File format version
163 Int_t fCompress{0}; ///<Compression level and algorithm
164 Int_t fNbytesFree{0}; ///<Number of bytes for free segments structure
165 Int_t fNbytesInfo{0}; ///<Number of bytes for StreamerInfo record
166 Int_t fWritten{0}; ///<Number of objects written so far
167 Int_t fNProcessIDs{0}; ///<Number of TProcessID written to this file
168 Int_t fReadCalls{0}; ///<Number of read calls ( not counting the cache calls )
169 TString fRealName; ///<Effective real file name (not original url)
170 TString fOption; ///<File options
171 Char_t fUnits{0}; ///<Number of bytes for file pointers
172 TList *fFree{nullptr}; ///<Free segments linked list table
173 TArrayC *fClassIndex{nullptr}; ///<!Index of TStreamerInfo classes written to this file
174 TObjArray *fProcessIDs{nullptr}; ///<!Array of pointers to TProcessIDs
175 Long64_t fOffset{0}; ///<!Seek offset cache
176 TArchiveFile *fArchive{nullptr}; ///<!Archive file from which we read this file
177 TFileCacheRead *fCacheRead{nullptr}; ///<!Pointer to the read cache (if any)
178 TMap *fCacheReadMap{nullptr}; ///<!Pointer to the read cache (if any)
179 TFileCacheWrite *fCacheWrite{nullptr}; ///<!Pointer to the write cache (if any)
180 Long64_t fArchiveOffset{0}; ///<!Offset at which file starts in archive
181 Bool_t fIsArchive{kFALSE}; ///<!True if this is a pure archive file
182 Bool_t fNoAnchorInName{kFALSE}; ///<!True if we don't want to force the anchor to be appended to the file name
183 Bool_t fIsRootFile{kTRUE}; ///<!True is this is a ROOT file, raw file otherwise
184 Bool_t fInitDone{kFALSE}; ///<!True if the file has been initialized
185 Bool_t fMustFlush{kTRUE}; ///<!True if the file buffers must be flushed
186 Bool_t fIsPcmFile{kFALSE}; ///<!True if the file is a ROOT pcm file.
187 TFileOpenHandle *fAsyncHandle{nullptr}; ///<!For proper automatic cleanup
188 EAsyncOpenStatus fAsyncOpenStatus{kAOSNotAsync}; ///<!Status of an asynchronous open request
189 TUrl fUrl; ///<!URL of file
190
191 TList *fInfoCache{nullptr}; ///<!Cached list of the streamer infos in this file
192 TList *fOpenPhases{nullptr}; ///<!Time info about open phases
193
194 bool fGlobalRegistration = true; ///<! if true, bypass use of global lists
195
196#ifdef R__USE_IMT
197 std::mutex fWriteMutex; ///<!Lock for writing baskets / keys into the file.
198#endif
199 static ROOT::Internal::RConcurrentHashColl fgTsSIHashes; ///<!TS Set of hashes built from read streamer infos
200
201 static TList *fgAsyncOpenRequests; //List of handles for pending open requests
202
203 static TString fgCacheFileDir; ///<Directory where to locally stage files
204 static Bool_t fgCacheFileDisconnected; ///<Indicates, we trust in the files in the cache dir without stat on the cached file
205 static Bool_t fgCacheFileForce; ///<Indicates, to force all READ to CACHEREAD
206 static UInt_t fgOpenTimeout; ///<Timeout for open operations in ms - 0 corresponds to blocking i/o
207 static Bool_t fgOnlyStaged ; ///<Before the file is opened, it is checked, that the file is staged, if not, the open fails
208
209 static std::atomic<Long64_t> fgBytesWrite; ///<Number of bytes written by all TFile objects
210 static std::atomic<Long64_t> fgBytesRead; ///<Number of bytes read by all TFile objects
211 static std::atomic<Long64_t> fgFileCounter; ///<Counter for all opened files
212 static std::atomic<Int_t> fgReadCalls; ///<Number of bytes read from all TFile objects
213 static Int_t fgReadaheadSize; ///<Readahead buffer size
214 static Bool_t fgReadInfo; ///<if true (default) ReadStreamerInfo is called when opening a file
215
217 virtual void Init(Bool_t create);
219 Int_t ReadBufferViaCache(char *buf, Int_t len);
220 Int_t WriteBufferViaCache(const char *buf, Int_t len);
221
222 ////////////////////////////////////////////////////////////////////////////////
223 /// \brief Simple struct of the return value of GetStreamerInfoListImpl
229
231
232 // Creating projects
233 Int_t MakeProjectParMake(const char *packname, const char *filename);
234 Int_t MakeProjectParProofInf(const char *packname, const char *proofinfdir);
235
236 // Interface to basic system I/O routines
237 virtual Int_t SysOpen(const char *pathname, Int_t flags, UInt_t mode);
238 virtual Int_t SysClose(Int_t fd);
239 virtual Int_t SysRead(Int_t fd, void *buf, Int_t len);
240 virtual Int_t SysWrite(Int_t fd, const void *buf, Int_t len);
242 virtual Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime);
243 virtual Int_t SysSync(Int_t fd);
244
245 // Interface for text-based TDirectory I/O
246 virtual Long64_t DirCreateEntry(TDirectory*) { return 0; }
247 virtual Int_t DirReadKeys(TDirectory*) { return 0; }
248 virtual void DirWriteKeys(TDirectory*) {}
249 virtual void DirWriteHeader(TDirectory*) {}
250
251private:
252 TFile(const TFile &) = delete; //Files cannot be copied
253 void operator=(const TFile &) = delete;
254
256 static TFile *OpenFromCache(const char *name, Option_t * = "",
258 Int_t netopt = 0);
259
260public:
261 /// TFile status bits. BIT(13) is taken up by TObject
263 // Produce files forward compatible with (unpatched) version older than
264 // v6.30 by recording the internal bits kIsOnHeap and kNotDeleted; Older
265 // releases were not explicitly setting those bits to the correct value
266 // but instead used verbatim the value stored in the file.
267 // Note that to avoid a circular dependency, this value is used
268 // hard coded in TObject.cxx.
276 kReproducible = BIT(17)
277 };
278 enum ERelativeTo { kBeg = 0, kCur = 1, kEnd = 2 };
279 enum { kStartBigFile = 2000000000 };
280 /// File type
281 enum EFileType { kDefault = 0, kLocal = 1, kNet = 2, kWeb = 3, kFile = 4, kMerge = 5 };
282
283 TFile();
285 ~TFile() override;
286
287 void Close(Option_t *option="") override; // *MENU*
288 void Copy(TObject &) const override { MayNotUse("Copy(TObject &)"); }
289 virtual Bool_t Cp(const char *dst, Bool_t progressbar = kTRUE,UInt_t buffersize = 1000000);
290 virtual TKey* CreateKey(TDirectory* mother, const TObject* obj, const char* name, Int_t bufsize);
291 virtual TKey* CreateKey(TDirectory* mother, const void* obj, const TClass* cl,
292 const char* name, Int_t bufsize);
293 static TFile *&CurrentFile(); // Return the current file for this thread.
294 void Delete(const char *namecycle="") override;
295 void Draw(Option_t *option="") override;
296 virtual void DrawMap(const char *keys="*",Option_t *option=""); // *MENU*
297 void FillBuffer(char *&buffer) override;
298 virtual void Flush();
299 TArchiveFile *GetArchive() const { return fArchive; }
301 Int_t GetBestBuffer() const;
302 virtual Int_t GetBytesToPrefetch() const;
303 TFileCacheRead *GetCacheRead(const TObject* tree = nullptr) const;
305 TArrayC *GetClassIndex() const { return fClassIndex; }
310 virtual Long64_t GetEND() const { return fEND; }
311 virtual Int_t GetErrno() const;
312 virtual void ResetErrno() const;
313 Int_t GetFd() const { return fD; }
314 virtual const TUrl *GetEndpointUrl() const { return &fUrl; }
316 TList *GetListOfFree() const { return fFree; }
317 virtual Int_t GetNfree() const { return fFree->GetSize(); }
318 virtual Int_t GetNProcessIDs() const { return fNProcessIDs; }
319 Option_t *GetOption() const override { return fOption.Data(); }
320 virtual Long64_t GetBytesRead() const { return fBytesRead; }
321 virtual Long64_t GetBytesReadExtra() const { return fBytesReadExtra; }
322 virtual Long64_t GetBytesWritten() const;
323 virtual Int_t GetReadCalls() const { return fReadCalls; }
324 Int_t GetVersion() const { return fVersion; }
325 Int_t GetRecordHeader(char *buf, Long64_t first, Int_t maxbytes,
327 virtual Int_t GetNbytesInfo() const {return fNbytesInfo;}
328 virtual Int_t GetNbytesFree() const {return fNbytesFree;}
329 virtual TString GetNewUrl() { return ""; }
331 virtual Long64_t GetSeekFree() const {return fSeekFree;}
332 virtual Long64_t GetSeekInfo() const {return fSeekInfo;}
333 virtual Long64_t GetSize() const;
334 virtual TList *GetStreamerInfoList() final; // Note: to override behavior, please override GetStreamerInfoListImpl
337 virtual Bool_t IsArchive() const { return fIsArchive; }
338 Bool_t IsBinary() const { return TestBit(kBinaryFile); }
339 Bool_t IsRaw() const { return !fIsRootFile; }
340 virtual Bool_t IsOpen() const;
341 void ls(Option_t *option="") const override;
342 virtual void MakeFree(Long64_t first, Long64_t last);
343 virtual void MakeProject(const char *dirname, const char *classes="*",
344 Option_t *option="new"); // *MENU*
345
346 /// Traverses all TKeys in the TFile and returns information about them.
348
349 virtual void Map(Option_t *opt); // *MENU*
350 virtual void Map() { Map(""); }; // *MENU*
351 virtual Bool_t Matches(const char *name);
352 virtual Bool_t MustFlush() const {return fMustFlush;}
353 void Paint(Option_t *option="") override;
354 void Print(Option_t *option="") const override;
356 virtual Bool_t ReadBuffer(char *buf, Int_t len);
357 virtual Bool_t ReadBuffer(char *buf, Long64_t pos, Int_t len);
358 virtual Bool_t ReadBuffers(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf);
359 virtual void ReadFree();
361 virtual void ReadStreamerInfo();
362 virtual Int_t Recover();
363 virtual Int_t ReOpen(Option_t *mode);
364 virtual void Seek(Long64_t offset, ERelativeTo pos = kBeg);
365 virtual void SetCacheRead(TFileCacheRead *cache, TObject *tree = nullptr, ECacheAction action = kDisconnect);
366 virtual void SetCacheWrite(TFileCacheWrite *cache);
370 virtual void SetEND(Long64_t last) { fEND = last; }
371 virtual void SetOffset(Long64_t offset, ERelativeTo pos = kBeg);
372 virtual void SetOption(Option_t *option=">") { fOption = option; }
374 virtual void ShowStreamerInfo();
375 Int_t Sizeof() const override;
376 void SumBuffer(Int_t bufsize);
377 virtual Bool_t WriteBuffer(const char *buf, Int_t len);
378 Int_t Write(const char *name=nullptr, Int_t opt=0, Int_t bufsiz=0) override;
379 Int_t Write(const char *name=nullptr, Int_t opt=0, Int_t bufsiz=0) const override;
380 virtual void WriteFree();
381 virtual void WriteHeader();
382 virtual UShort_t WriteProcessID(TProcessID *pid);
383 virtual void WriteStreamerInfo();
384
385 static TFileOpenHandle
386 *AsyncOpen(const char *name, Option_t *option = "",
388 Int_t netopt = 0);
389 static TFile *Open(const char *name, Option_t *option = "",
391 Int_t netopt = 0);
392 static TFile *Open(TFileOpenHandle *handle);
393
394 static EFileType GetType(const char *name, Option_t *option = "", TString *prefix = nullptr);
395
396 static EAsyncOpenStatus GetAsyncOpenStatus(const char *name);
397 static EAsyncOpenStatus GetAsyncOpenStatus(TFileOpenHandle *handle);
398 static const TUrl *GetEndpointUrl(const char *name);
399
400 static Long64_t GetFileBytesRead();
402 static Int_t GetFileReadCalls();
403 static Int_t GetReadaheadSize();
404
405 static void SetFileBytesRead(Long64_t bytes = 0);
406 static void SetFileBytesWritten(Long64_t bytes = 0);
407 static void SetFileReadCalls(Int_t readcalls = 0);
408 static void SetReadaheadSize(Int_t bufsize = 256000);
411
412 static Long64_t GetFileCounter();
413 static void IncrementFileCounter();
414
417 static const char *GetCacheFileDir();
419 static Bool_t Cp(const char *src, const char *dst, Bool_t progressbar = kTRUE,
420 UInt_t buffersize = 1000000);
421
422 static UInt_t SetOpenTimeout(UInt_t timeout); // in ms
423 static UInt_t GetOpenTimeout(); // in ms
425 static Bool_t GetOnlyStaged();
426
427 ClassDefOverride(TFile,8) //ROOT file
428};
429
430#define gFile (TFile::CurrentFile())
431
432/**
433\class TFileOpenHandle
434\ingroup IO
435Class holding info about the file being opened
436*/
437class TFileOpenHandle : public TNamed {
438
439friend class TFile;
440
441private:
442 TString fOpt; ///< Options
443 Int_t fCompress{0}; ///< Compression level and algorithm
444 Int_t fNetOpt{0}; ///< Network options
445 TFile *fFile{nullptr}; ///< TFile instance of the file being opened
446
447 TFileOpenHandle(TFile *f) : TNamed("",""), fOpt(""), fCompress(ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault),
448 fNetOpt(0), fFile(f) { }
449 TFileOpenHandle(const char *n, const char *o, const char *t, Int_t cmp,
450 Int_t no) : TNamed(n,t), fOpt(o), fCompress(cmp),
451 fNetOpt(no), fFile(nullptr) { }
454
455 TFile *GetFile() const { return fFile; }
456
457public:
458 ~TFileOpenHandle() override { }
459
460 Bool_t Matches(const char *name);
461
462 const char *GetOpt() const { return fOpt; }
463 Int_t GetCompress() const { return fCompress; }
464 Int_t GetNetOpt() const { return fNetOpt; }
465};
466
467//______________________________________________________________________________
469{
470 return (fCompress < 0) ? -1 : fCompress / 100;
471}
472
473//______________________________________________________________________________
475{
476 return (fCompress < 0) ? -1 : fCompress % 100;
477}
478
479//______________________________________________________________________________
481{
482 return (fCompress < 0) ? -1 : fCompress;
483}
484
485#endif
#define f(i)
Definition RSha256.hxx:104
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
bool Bool_t
Definition RtypesCore.h:63
unsigned short UShort_t
Definition RtypesCore.h:40
int Int_t
Definition RtypesCore.h:45
short Version_t
Definition RtypesCore.h:65
char Char_t
Definition RtypesCore.h:37
long Long_t
Definition RtypesCore.h:54
unsigned int UInt_t
Definition RtypesCore.h:46
float Float_t
Definition RtypesCore.h:57
short Short_t
Definition RtypesCore.h:39
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
long long Long64_t
Definition RtypesCore.h:69
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
const char Option_t
Definition RtypesCore.h:66
#define BIT(n)
Definition Rtypes.h:90
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t bytes
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Definition TGX11.cxx:110
std::optional< TKeyMapNode > fCur
Definition TFile.h:89
std::optional< TKeyMapNode > Next()
Definition TFile.cxx:1644
bool operator!=(const iterator &rh) const
Definition TFile.h:119
TIterator(TFile *file, std::uint64_t addr)
Definition TFile.cxx:1637
bool operator==(const iterator &rh) const
Definition TFile.h:120
std::forward_iterator_tag iterator_category
Definition TFile.h:104
TIterator begin() const
Definition TFile.h:125
TKeyMapIterable(TFile *file)
Definition TFile.h:123
TIterator end() const
Definition TFile.h:126
This class is a thread-safe associative collection connecting a 256 bits digest/hash to a collection ...
Class describing an archive file containing multiple sub-files, like a ZIP or TAR archive.
Array of chars or bytes (8 bits per element).
Definition TArrayC.h:27
Manages buffers for branches of a Tree.
Definition TBasket.h:34
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition TClass.h:84
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
A ROOT file is structured in Directories (like a file system).
Describe directory structure in memory.
Definition TDirectory.h:45
A cache when reading files over the network.
A cache when writing files over the network.
Class holding info about the file being opened.
Definition TFile.h:437
TFile * fFile
TFile instance of the file being opened.
Definition TFile.h:445
Int_t fNetOpt
Network options.
Definition TFile.h:444
TFileOpenHandle(TFile *f)
Definition TFile.h:447
TString fOpt
Options.
Definition TFile.h:442
TFileOpenHandle(const char *n, const char *o, const char *t, Int_t cmp, Int_t no)
Definition TFile.h:449
Int_t GetNetOpt() const
Definition TFile.h:464
TFileOpenHandle & operator=(const TFileOpenHandle &)=delete
TFile * GetFile() const
Definition TFile.h:455
Int_t fCompress
Compression level and algorithm.
Definition TFile.h:443
const char * GetOpt() const
Definition TFile.h:462
TFileOpenHandle(const TFileOpenHandle &)=delete
Bool_t Matches(const char *name)
Return kTRUE if this async request matches the open request specified by 'url'.
Definition TFile.cxx:4837
~TFileOpenHandle() override
Definition TFile.h:458
Int_t GetCompress() const
Definition TFile.h:463
The prefetching mechanism uses two classes (TFilePrefetch and TFPBlock) to prefetch in advance a bloc...
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Definition TFile.h:131
static std::atomic< Long64_t > fgBytesRead
Number of bytes read by all TFile objects.
Definition TFile.h:161
Int_t fReadCalls
Number of read calls ( not counting the cache calls )
Definition TFile.h:168
static void SetFileBytesWritten(Long64_t bytes=0)
Definition TFile.cxx:4658
static Bool_t fgCacheFileForce
Indicates, to force all READ to CACHEREAD.
Definition TFile.h:205
Long64_t fBytesRead
Number of bytes read from this file.
Definition TFile.h:155
virtual Long64_t GetSeekFree() const
Definition TFile.h:331
virtual TProcessID * ReadProcessID(UShort_t pidf)
The TProcessID with number pidf is read from this file.
Definition TFile.cxx:1992
void ls(Option_t *option="") const override
List file contents.
Definition TFile.cxx:1462
ROOT::Detail::TKeyMapIterable WalkTKeys()
Traverses all TKeys in the TFile and returns information about them.
Definition TFile.cxx:1632
virtual void Seek(Long64_t offset, ERelativeTo pos=kBeg)
Seek to a specific position in the file. Pos it either kBeg, kCur or kEnd.
Definition TFile.cxx:2315
static Bool_t GetOnlyStaged()
Returns staged only flag.
Definition TFile.cxx:4801
static void IncrementFileCounter()
Definition TFile.cxx:4667
static Bool_t ShrinkCacheFileDir(Long64_t shrinkSize, Long_t cleanupInteval=0)
Try to shrink the cache to the desired size.
Definition TFile.cxx:4713
Long64_t fSeekFree
Location on disk of free segments structure.
Definition TFile.h:159
static Int_t fgReadaheadSize
Readahead buffer size.
Definition TFile.h:213
void FillBuffer(char *&buffer) override
Encode file output buffer.
Definition TFile.cxx:1175
Double_t fSum2Buffer
Sum of squares of buffer sizes of objects written so far.
Definition TFile.h:153
static void SetReadaheadSize(Int_t bufsize=256000)
Definition TFile.cxx:4652
static Bool_t fgCacheFileDisconnected
Indicates, we trust in the files in the cache dir without stat on the cached file.
Definition TFile.h:204
const TList * GetStreamerInfoCache()
Returns the cached list of StreamerInfos used in this file.
Definition TFile.cxx:1371
Int_t GetVersion() const
Definition TFile.h:324
static Bool_t GetReadStreamerInfo()
If the streamerinfos are to be read at file opening.
Definition TFile.cxx:3783
TArchiveFile * fArchive
!Archive file from which we read this file
Definition TFile.h:176
virtual Int_t SysSync(Int_t fd)
Interface to system fsync. All arguments like in POSIX fsync().
Definition TFile.cxx:4599
virtual Long64_t DirCreateEntry(TDirectory *)
Definition TFile.h:246
virtual Int_t ReOpen(Option_t *mode)
Reopen a file with a different access mode.
Definition TFile.cxx:2203
virtual void ReadStreamerInfo()
Read the list of StreamerInfo from this file.
Definition TFile.cxx:3646
virtual Bool_t Matches(const char *name)
Return kTRUE if 'url' matches the coordinates of this file.
Definition TFile.cxx:4813
Bool_t IsBinary() const
Definition TFile.h:338
Bool_t IsRaw() const
Definition TFile.h:339
virtual void SetCacheRead(TFileCacheRead *cache, TObject *tree=nullptr, ECacheAction action=kDisconnect)
Set a pointer to the read cache.
Definition TFile.cxx:2406
TArrayC * fClassIndex
!Index of TStreamerInfo classes written to this file
Definition TFile.h:173
static Long64_t GetFileBytesWritten()
Static function returning the total number of bytes written to all files.
Definition TFile.cxx:4630
virtual InfoListRet GetStreamerInfoListImpl(bool lookupSICache)
See documentation of GetStreamerInfoList for more details.
Definition TFile.cxx:1381
Int_t GetCompressionSettings() const
Definition TFile.h:480
static void SetReadStreamerInfo(Bool_t readinfo=kTRUE)
Specify if the streamerinfos must be read at file opening.
Definition TFile.cxx:3773
Bool_t fNoAnchorInName
!True if we don't want to force the anchor to be appended to the file name
Definition TFile.h:182
virtual Int_t DirReadKeys(TDirectory *)
Definition TFile.h:247
static void SetFileBytesRead(Long64_t bytes=0)
Definition TFile.cxx:4655
TArrayC * GetClassIndex() const
Definition TFile.h:305
Long64_t fSeekInfo
Location on disk of StreamerInfo record.
Definition TFile.h:160
void Paint(Option_t *option="") override
Paint all objects in the file.
Definition TFile.cxx:1739
TList * GetListOfFree() const
Definition TFile.h:316
Int_t GetBestBuffer() const
Return the best buffer size of objects on this file.
Definition TFile.cxx:1188
TList * fOpenPhases
!Time info about open phases
Definition TFile.h:192
virtual void SetCompressionLevel(Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin)
See comments for function SetCompressionSettings.
Definition TFile.cxx:2360
TFileCacheWrite * GetCacheWrite() const
Return a pointer to the current write cache.
Definition TFile.cxx:1284
static void SetFileReadCalls(Int_t readcalls=0)
Definition TFile.cxx:4661
static TString fgCacheFileDir
Directory where to locally stage files.
Definition TFile.h:203
virtual Int_t SysRead(Int_t fd, void *buf, Int_t len)
Interface to system read. All arguments like in POSIX read().
Definition TFile.cxx:4553
Int_t fVersion
File format version.
Definition TFile.h:162
void Print(Option_t *option="") const override
Print all objects in the file.
Definition TFile.cxx:1747
static std::atomic< Long64_t > fgFileCounter
Counter for all opened files.
Definition TFile.h:163
virtual EAsyncOpenStatus GetAsyncOpenStatus()
Definition TFile.h:216
static UInt_t GetOpenTimeout()
Returns open timeout (in ms).
Definition TFile.cxx:4781
void Copy(TObject &) const override
Copy this to obj.
Definition TFile.h:288
static void CpProgress(Long64_t bytesread, Long64_t size, TStopwatch &watch)
Print file copy progress.
Definition TFile.cxx:5022
Long64_t GetArchiveOffset() const
Definition TFile.h:300
static Bool_t fgOnlyStaged
Before the file is opened, it is checked, that the file is staged, if not, the open fails.
Definition TFile.h:207
virtual Int_t GetNProcessIDs() const
Definition TFile.h:318
Bool_t fMustFlush
!True if the file buffers must be flushed
Definition TFile.h:185
TUrl fUrl
!URL of file
Definition TFile.h:189
Int_t WriteBufferViaCache(const char *buf, Int_t len)
Write buffer via cache.
Definition TFile.cxx:2560
static Long64_t GetFileBytesRead()
Static function returning the total number of bytes read from all files.
Definition TFile.cxx:4621
Int_t ReadBufferViaCache(char *buf, Int_t len)
Read buffer via cache.
Definition TFile.cxx:1930
void operator=(const TFile &)=delete
virtual TKey * CreateKey(TDirectory *mother, const TObject *obj, const char *name, Int_t bufsize)
Creates key for object and converts data to buffer.
Definition TFile.cxx:1052
virtual void Map()
Definition TFile.h:350
virtual void WriteFree()
Write FREE linked list on the file.
Definition TFile.cxx:2584
static Int_t GetReadaheadSize()
Static function returning the readahead buffer size.
Definition TFile.cxx:4646
~TFile() override
File destructor.
Definition TFile.cxx:563
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.
Definition TFile.cxx:1862
static Long64_t GetFileCounter()
Definition TFile.cxx:4664
TMap * fCacheReadMap
!Pointer to the read cache (if any)
Definition TFile.h:178
Long64_t fBEGIN
First used byte in file.
Definition TFile.h:157
Int_t MakeProjectParProofInf(const char *packname, const char *proofinfdir)
Create BUILD.sh and SETUP.C under 'proofinf' for PAR package 'pack'.
Definition TFile.cxx:3527
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...
Definition TFile.cxx:3804
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.
Definition TFile.cxx:2767
Long64_t fArchiveOffset
!Offset at which file starts in archive
Definition TFile.h:180
EOpenTimeOut
Open timeout constants.
Definition TFile.h:146
@ kInstantTimeout
Definition TFile.h:146
@ kEternalTimeout
Definition TFile.h:146
Int_t fNbytesInfo
Number of bytes for StreamerInfo record.
Definition TFile.h:165
virtual Long64_t GetSize() const
Returns the current file size.
Definition TFile.cxx:1352
Int_t GetFd() const
Definition TFile.h:313
virtual Bool_t IsOpen() const
Returns kTRUE in case file is open and kFALSE if file is not open.
Definition TFile.cxx:1474
TFileOpenHandle * fAsyncHandle
!For proper automatic cleanup
Definition TFile.h:187
static Bool_t SetOnlyStaged(Bool_t onlystaged)
Sets only staged flag.
Definition TFile.cxx:4791
virtual Int_t GetReadCalls() const
Definition TFile.h:323
virtual TString GetNewUrl()
Definition TFile.h:329
virtual Long64_t GetBytesRead() const
Definition TFile.h:320
virtual Int_t GetErrno() const
Method returning errno.
Definition TFile.cxx:1251
virtual void SetCompressionSettings(Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault)
Used to specify the compression level and algorithm.
Definition TFile.cxx:2379
Int_t GetCompressionLevel() const
Definition TFile.h:474
static Bool_t fgReadInfo
if true (default) ReadStreamerInfo is called when opening a file
Definition TFile.h:214
virtual void Init(Bool_t create)
Initialize a TFile object.
Definition TFile.cxx:613
TFile(const TFile &)=delete
Long64_t GetRelOffset() const
Definition TFile.h:330
virtual void SetReadCalls(Int_t readcalls=0)
Definition TFile.h:373
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.
Definition TFile.cxx:4398
virtual void SetCacheWrite(TFileCacheWrite *cache)
Set a pointer to the write cache.
Definition TFile.cxx:2429
TString fOption
File options.
Definition TFile.h:170
virtual Int_t GetNfree() const
Definition TFile.h:317
virtual Long64_t GetEND() const
Definition TFile.h:310
virtual Bool_t WriteBuffer(const char *buf, Int_t len)
Write a buffer to the file.
Definition TFile.cxx:2517
void SumBuffer(Int_t bufsize)
Increment statistics for buffer sizes of objects in this file.
Definition TFile.cxx:2458
static const char * GetCacheFileDir()
Get the directory where to locally stage/cache remote files.
Definition TFile.cxx:4701
EAsyncOpenStatus
Asynchronous open request status.
Definition TFile.h:143
@ kAOSSuccess
Definition TFile.h:144
@ kAOSNotAsync
Definition TFile.h:143
@ kAOSInProgress
Definition TFile.h:144
@ kAOSFailure
Definition TFile.h:143
virtual void WriteStreamerInfo()
Write the list of TStreamerInfo as a single object in this file The class Streamer description for al...
Definition TFile.cxx:3833
virtual Long64_t GetBytesWritten() const
Return the total number of bytes written so far to the file.
Definition TFile.cxx:4613
ERelativeTo
Definition TFile.h:278
@ kCur
Definition TFile.h:278
@ kBeg
Definition TFile.h:278
@ kEnd
Definition TFile.h:278
virtual Long64_t GetSeekInfo() const
Definition TFile.h:332
Int_t fCompress
Compression level and algorithm.
Definition TFile.h:163
virtual Int_t GetNbytesFree() const
Definition TFile.h:328
virtual Bool_t IsArchive() const
Definition TFile.h:337
static TFile *& CurrentFile()
Return the current ROOT file if any.
Definition TFile.cxx:1072
virtual void SetEND(Long64_t last)
Definition TFile.h:370
virtual void SetCompressionAlgorithm(Int_t algorithm=ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
See comments for function SetCompressionSettings.
Definition TFile.cxx:2346
virtual const TUrl * GetEndpointUrl() const
Definition TFile.h:314
Int_t fNbytesFree
Number of bytes for free segments structure.
Definition TFile.h:164
Int_t fD
File descriptor.
Definition TFile.h:161
virtual void ResetErrno() const
Method resetting the errno.
Definition TFile.cxx:1259
Int_t Sizeof() const override
Return the size in bytes of the file header.
Definition TFile.cxx:2438
Bool_t FlushWriteCache()
Flush the write cache if active.
Definition TFile.cxx:1163
virtual void IncrementProcessIDs()
Definition TFile.h:336
Bool_t fIsPcmFile
!True if the file is a ROOT pcm file.
Definition TFile.h:186
TFileCacheRead * fCacheRead
!Pointer to the read cache (if any)
Definition TFile.h:177
virtual Int_t SysClose(Int_t fd)
Interface to system close. All arguments like in POSIX close().
Definition TFile.cxx:4544
TFile()
File default Constructor.
Definition TFile.cxx:201
Char_t fUnits
Number of bytes for file pointers.
Definition TFile.h:171
TObjArray * fProcessIDs
!Array of pointers to TProcessIDs
Definition TFile.h:174
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'.
Definition TFile.cxx:4868
virtual void SetOption(Option_t *option=">")
Definition TFile.h:372
EFileType
File type.
Definition TFile.h:281
@ kWeb
Definition TFile.h:281
@ kDefault
Definition TFile.h:281
@ kLocal
Definition TFile.h:281
@ kMerge
Definition TFile.h:281
@ kNet
Definition TFile.h:281
@ kFile
Definition TFile.h:281
virtual void ShowStreamerInfo()
Show the StreamerInfo of all classes written to this file.
Definition TFile.cxx:3791
virtual Long64_t SysSeek(Int_t fd, Long64_t offset, Int_t whence)
Interface to system lseek.
Definition TFile.cxx:4572
virtual Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime)
Return file stat information.
Definition TFile.cxx:4590
virtual Long64_t GetBytesReadExtra() const
Definition TFile.h:321
virtual Int_t SysOpen(const char *pathname, Int_t flags, UInt_t mode)
Interface to system open. All arguments like in POSIX open().
Definition TFile.cxx:4528
ECacheAction
TTreeCache flushing semantics.
Definition TFile.h:149
@ kDoNotDisconnect
Definition TFile.h:149
@ kDisconnect
Definition TFile.h:149
static UInt_t SetOpenTimeout(UInt_t timeout)
Sets open timeout time (in ms). Returns previous timeout value.
Definition TFile.cxx:4771
virtual void ReadFree()
Read the FREE linked list.
Definition TFile.cxx:1966
virtual Bool_t Cp(const char *dst, Bool_t progressbar=kTRUE, UInt_t buffersize=1000000)
Allows to copy this file to the dst URL.
Definition TFile.cxx:5050
static ROOT::Internal::RConcurrentHashColl fgTsSIHashes
!TS Set of hashes built from read streamer infos
Definition TFile.h:199
Long64_t fBytesReadExtra
Number of extra bytes (overhead) read by the readahead buffer.
Definition TFile.h:156
Long64_t fBytesWrite
Number of bytes written to this file.
Definition TFile.h:154
TArchiveFile * GetArchive() const
Definition TFile.h:299
Bool_t fIsRootFile
!True is this is a ROOT file, raw file otherwise
Definition TFile.h:183
virtual void Flush()
Synchronize a file's in-memory and on-disk states.
Definition TFile.cxx:1146
virtual void DirWriteKeys(TDirectory *)
Definition TFile.h:248
TList * fFree
Free segments linked list table.
Definition TFile.h:172
virtual Bool_t ReadBufferAsync(Long64_t offs, Int_t len)
Definition TFile.cxx:5255
std::mutex fWriteMutex
!Lock for writing baskets / keys into the file.
Definition TFile.h:197
void Delete(const char *namecycle="") override
Delete object namecycle.
Definition TFile.cxx:1103
Bool_t fInitDone
!True if the file has been initialized
Definition TFile.h:184
virtual void DrawMap(const char *keys="*", Option_t *option="")
Draw map of objects in this file.
Definition TFile.cxx:1133
virtual void DirWriteHeader(TDirectory *)
Definition TFile.h:249
virtual void MakeFree(Long64_t first, Long64_t last)
Mark unused bytes on the file.
Definition TFile.cxx:1489
TFileCacheWrite * fCacheWrite
!Pointer to the write cache (if any)
Definition TFile.h:179
TString fRealName
Effective real file name (not original url)
Definition TFile.h:169
virtual void SetOffset(Long64_t offset, ERelativeTo pos=kBeg)
Set position from where to start reading.
Definition TFile.cxx:2294
Long64_t fOffset
!Seek offset cache
Definition TFile.h:175
static std::atomic< Long64_t > fgBytesWrite
Number of bytes written by all TFile objects.
Definition TFile.h:162
virtual Int_t GetNbytesInfo() const
Definition TFile.h:327
TList * fInfoCache
!Cached list of the streamer infos in this file
Definition TFile.h:191
virtual Bool_t MustFlush() const
Definition TFile.h:352
virtual Int_t GetBytesToPrefetch() const
Max number of bytes to prefetch.
Definition TFile.cxx:5269
static UInt_t fgOpenTimeout
Timeout for open operations in ms - 0 corresponds to blocking i/o.
Definition TFile.h:206
Int_t MakeProjectParMake(const char *packname, const char *filename)
Create makefile at 'filemake' for PAR package 'pack'.
Definition TFile.cxx:3405
Long64_t fEND
Last used byte in file.
Definition TFile.h:158
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.
Definition TFile.cxx:4130
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.
Definition TFile.cxx:4673
Int_t Write(const char *name=nullptr, Int_t opt=0, Int_t bufsiz=0) override
Write memory objects to this file.
Definition TFile.cxx:2477
EAsyncOpenStatus fAsyncOpenStatus
!Status of an asynchronous open request
Definition TFile.h:188
bool fGlobalRegistration
! if true, bypass use of global lists
Definition TFile.h:194
Double_t fSumBuffer
Sum of buffer sizes of objects written so far.
Definition TFile.h:152
Bool_t fIsArchive
!True if this is a pure archive file
Definition TFile.h:181
TObjArray * GetListOfProcessIDs() const
Definition TFile.h:315
void Close(Option_t *option="") override
Close a file.
Definition TFile.cxx:955
Int_t GetCompressionAlgorithm() const
Definition TFile.h:468
static std::atomic< Int_t > fgReadCalls
Number of bytes read from all TFile objects.
Definition TFile.h:164
virtual Int_t Recover()
Attempt to recover file if not correctly closed.
Definition TFile.cxx:2089
virtual TList * GetStreamerInfoList() final
Read the list of TStreamerInfo objects written to this file.
Definition TFile.cxx:1450
virtual void WriteHeader()
Write File Header.
Definition TFile.cxx:2656
EStatusBits
TFile status bits. BIT(13) is taken up by TObject.
Definition TFile.h:262
@ kRecovered
Definition TFile.h:270
@ kReproducible
Definition TFile.h:276
@ kDevNull
Definition TFile.h:272
@ kHasReferences
Definition TFile.h:271
@ kRedirected
Definition TFile.h:275
@ k630forwardCompatibility
Definition TFile.h:269
@ kWriteError
Definition TFile.h:273
@ kBinaryFile
Definition TFile.h:274
@ kStartBigFile
Definition TFile.h:279
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.
Definition TFile.cxx:3915
Int_t fNProcessIDs
Number of TProcessID written to this file.
Definition TFile.h:167
Int_t fWritten
Number of objects written so far.
Definition TFile.h:166
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.
Definition TFile.cxx:1306
virtual Bool_t ReadBuffer(char *buf, Int_t len)
Read a buffer from the file.
Definition TFile.cxx:1811
Float_t GetCompressionFactor()
Return the file compression factor.
Definition TFile.cxx:1207
virtual Int_t SysWrite(Int_t fd, const void *buf, Int_t len)
Interface to system write. All arguments like in POSIX write().
Definition TFile.cxx:4561
static Int_t GetFileReadCalls()
Static function returning the total number of read calls from all files.
Definition TFile.cxx:4638
TFileCacheRead * GetCacheRead(const TObject *tree=nullptr) const
Return a pointer to the current read cache.
Definition TFile.cxx:1267
Option_t * GetOption() const override
Definition TFile.h:319
static TList * fgAsyncOpenRequests
Definition TFile.h:201
Service class for TFile.
Definition TFree.h:27
Book space in a file, create I/O buffers, to fill them, (un)compress them.
Definition TKey.h:28
A doubly linked list.
Definition TList.h:38
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition TMap.h:40
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
An array of TObjects.
Definition TObjArray.h:31
Mother of all ROOT objects.
Definition TObject.h:41
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition TObject.h:199
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 clas...
Definition TObject.cxx:1058
A TProcessID identifies a ROOT job in a unique way in time and space.
Definition TProcessID.h:74
Stopwatch class.
Definition TStopwatch.h:28
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376
This class represents a WWW compatible URL.
Definition TUrl.h:33
const Int_t n
Definition legend1.C:16
Special implementation of ROOT::RRangeCast for TCollection, including a check that the cast target ty...
Definition TObject.h:387
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
std::string fClassName
Definition TFile.h:75
std::uint64_t fAddr
Definition TFile.h:63
std::uint32_t fLen
Definition TFile.h:65
TKeyMapNode(std::uint64_t addr, EType type, std::uint32_t len=0)
Definition TFile.h:80
Version_t fKeyVersion
Definition TFile.h:68
std::string fKeyName
Definition TFile.h:76
std::string fKeyTitle
Definition TFile.h:77
@ kUseGlobal
Use the global compression algorithm.
Definition Compression.h:93
@ kUseCompiledDefault
Use the compile-time default setting.
Definition Compression.h:53
@ kUseMin
Compression level reserved when we are not sure what to use (1 is for the fastest compression)
Definition Compression.h:72
Simple struct of the return value of GetStreamerInfoListImpl.
Definition TFile.h:224
Int_t fReturnCode
Definition TFile.h:226
ROOT::Internal::RConcurrentHashColl::HashValue fHash
Definition TFile.h:227
TList * fList
Definition TFile.h:225
th1 Draw()