ROOT  6.06/09
Reference Guide
TBranch.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Rene Brun 12/01/96
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_TBranch
13 #define ROOT_TBranch
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TBranch //
19 // //
20 // A TTree object is a list of TBranchs. //
21 // A TBranch describes the branch data structure and supports : //
22 // the list of TBaskets (branch buffers) associated to this branch. //
23 // the list of TLeaves (branch description) //
24 //////////////////////////////////////////////////////////////////////////
25 
26 
27 #ifndef ROOT_TNamed
28 #include "TNamed.h"
29 #endif
30 
31 #ifndef ROOT_TObjArray
32 #include "TObjArray.h"
33 #endif
34 
35 #ifndef ROOT_TAttFill
36 #include "TAttFill.h"
37 #endif
38 
39 #ifndef ROOT_TDataType
40 #include "TDataType.h"
41 #endif
42 
43 class TTree;
44 class TBasket;
45 class TLeaf;
46 class TBrowser;
47 class TDirectory;
48 class TFile;
49 class TClonesArray;
50 class TTreeCloner;
51 
52  const Int_t kDoNotProcess = BIT(10); // Active bit for branches
53  const Int_t kIsClone = BIT(11); // to indicate a TBranchClones
54  const Int_t kBranchObject = BIT(12); // branch is a TObject*
55  const Int_t kBranchAny = BIT(17); // branch is an object*
57 
58 class TBranch : public TNamed , public TAttFill {
59 
60 protected:
61  friend class TTreeCloner;
62  // TBranch status bits
63  enum EStatusBits {
65  kDoNotUseBufferMap = BIT(22) // If set, at least one of the entry in the branch will use the buffer's map of classname and objects.
66  };
67 
68  static Int_t fgCount; //! branch counter
69  Int_t fCompress; // Compression level and algorithm
70  Int_t fBasketSize; // Initial Size of Basket Buffer
71  Int_t fEntryOffsetLen; // Initial Length of fEntryOffset table in the basket buffers
72  Int_t fWriteBasket; // Last basket number written
73  Long64_t fEntryNumber; // Current entry number (last one filled in this branch)
74  Int_t fOffset; // Offset of this branch
75  Int_t fMaxBaskets; // Maximum number of Baskets so far
76  Int_t fNBaskets; //! Number of baskets in memory
77  Int_t fSplitLevel; // Branch split level
78  Int_t fNleaves; //! Number of leaves
79  Int_t fReadBasket; //! Current basket number when reading
80  Long64_t fReadEntry; //! Current entry number when reading
81  Long64_t fFirstBasketEntry;//! First entry in the current basket.
82  Long64_t fNextBasketEntry; //! Next entry that will requires us to go to the next basket
83  TBasket *fCurrentBasket; //! Pointer to the current basket.
84  Long64_t fEntries; // Number of entries
85  Long64_t fFirstEntry; // Number of the first entry in this branch
86  Long64_t fTotBytes; // Total number of bytes in all leaves before compression
87  Long64_t fZipBytes; // Total number of bytes in all leaves after compression
88  TObjArray fBranches; //-> List of Branches of this branch
89  TObjArray fLeaves; //-> List of leaves of this branch
90  TObjArray fBaskets; //-> List of baskets of this branch
91  Int_t *fBasketBytes; //[fMaxBaskets] Length of baskets on file
92  Long64_t *fBasketEntry; //[fMaxBaskets] Table of first entry in each basket
93  Long64_t *fBasketSeek; //[fMaxBaskets] Addresses of baskets on file
94  TTree *fTree; //! Pointer to Tree header
95  TBranch *fMother; //! Pointer to top-level parent branch in the tree.
96  TBranch *fParent; //! Pointer to parent branch.
97  char *fAddress; //! Address of 1st leaf (variable or object)
98  TDirectory *fDirectory; //! Pointer to directory where this branch buffers are stored
99  TString fFileName; // Name of file where buffers are stored ("" if in same file as Tree header)
100  TBuffer *fEntryBuffer; //! Buffer used to directly pass the content without streaming
101  TList *fBrowsables; //! List of TVirtualBranchBrowsables used for Browse()
102 
103  Bool_t fSkipZip; //! After being read, the buffer will not be unziped.
104 
105  typedef void (TBranch::*ReadLeaves_t)(TBuffer &b);
106  ReadLeaves_t fReadLeaves; //! Pointer to the ReadLeaves implementation to use.
107  typedef void (TBranch::*FillLeaves_t)(TBuffer &b);
108  FillLeaves_t fFillLeaves; //! Pointer to the FillLeaves implementation to use.
109  void ReadLeavesImpl(TBuffer &b);
110  void ReadLeaves0Impl(TBuffer &b);
111  void ReadLeaves1Impl(TBuffer &b);
112  void ReadLeaves2Impl(TBuffer &b);
113  void FillLeavesImpl(TBuffer &b);
114 
115  void SetSkipZip(Bool_t skip = kTRUE) { fSkipZip = skip; }
116  void Init(const char *name, const char *leaflist, Int_t compress);
117 
119  Int_t WriteBasket(TBasket* basket, Int_t where);
120 
121  TString GetRealFileName() const;
122 
123 private:
124  Int_t FillEntryBuffer(TBasket* basket,TBuffer* buf, Int_t& lnew);
125  TBranch(const TBranch&); // not implemented
126  TBranch& operator=(const TBranch&); // not implemented
127 
128 public:
129  TBranch();
130  TBranch(TTree *tree, const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=-1);
131  TBranch(TBranch *parent, const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=-1);
132  virtual ~TBranch();
133 
134  virtual void AddBasket(TBasket &b, Bool_t ondisk, Long64_t startEntry);
135  virtual void AddLastBasket(Long64_t startEntry);
136  virtual void Browse(TBrowser *b);
137  virtual void DeleteBaskets(Option_t* option="");
138  virtual void DropBaskets(Option_t *option = "");
139  void ExpandBasketArrays();
140  virtual Int_t Fill();
141  virtual TBranch *FindBranch(const char *name);
142  virtual TLeaf *FindLeaf(const char *name);
144  Int_t FlushOneBasket(UInt_t which);
145 
146  virtual char *GetAddress() const {return fAddress;}
147  TBasket *GetBasket(Int_t basket);
148  Int_t *GetBasketBytes() const {return fBasketBytes;}
150  virtual Long64_t GetBasketSeek(Int_t basket) const;
151  virtual Int_t GetBasketSize() const {return fBasketSize;}
152  virtual TList *GetBrowsables();
153  virtual const char* GetClassName() const;
155  Int_t GetCompressionLevel() const;
157  TDirectory *GetDirectory() const {return fDirectory;}
158  virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0);
159  virtual Int_t GetEntryExport(Long64_t entry, Int_t getall, TClonesArray *list, Int_t n);
162  const char *GetIconName() const;
163  virtual Int_t GetExpectedType(TClass *&clptr,EDataType &type);
164  virtual TLeaf *GetLeaf(const char *name) const;
165  virtual TFile *GetFile(Int_t mode=0);
166  const char *GetFileName() const {return fFileName.Data();}
167  Int_t GetOffset() const {return fOffset;}
168  Int_t GetReadBasket() const {return fReadBasket;}
169  Long64_t GetReadEntry() const {return fReadEntry;}
171  Long64_t GetTotalSize(Option_t *option="") const;
172  Long64_t GetTotBytes(Option_t *option="") const;
173  Long64_t GetZipBytes(Option_t *option="") const;
175  Long64_t GetFirstEntry() const {return fFirstEntry; }
179  Int_t GetMaxBaskets() const {return fMaxBaskets;}
180  Int_t GetNleaves() const {return fNleaves;}
181  Int_t GetSplitLevel() const {return fSplitLevel;}
182  Long64_t GetEntries() const {return fEntries;}
183  TTree *GetTree() const {return fTree;}
184  virtual Int_t GetRow(Int_t row);
185  virtual Bool_t GetMakeClass() const;
186  TBranch *GetMother() const;
187  TBranch *GetSubBranch(const TBranch *br) const;
188  Bool_t IsAutoDelete() const;
189  Bool_t IsFolder() const;
190  virtual void KeepCircular(Long64_t maxEntries);
191  virtual Int_t LoadBaskets();
192  virtual void Print(Option_t *option="") const;
193  virtual void ReadBasket(TBuffer &b);
194  virtual void Refresh(TBranch *b);
195  virtual void Reset(Option_t *option="");
196  virtual void ResetAfterMerge(TFileMergeInfo *);
197  virtual void ResetAddress();
198  virtual void ResetReadEntry() {fReadEntry = -1;}
199  virtual void SetAddress(void *add);
200  virtual void SetObject(void *objadd);
201  virtual void SetAutoDelete(Bool_t autodel=kTRUE);
202  virtual void SetBasketSize(Int_t buffsize);
203  virtual void SetBufferAddress(TBuffer *entryBuffer);
204  void SetCompressionAlgorithm(Int_t algorithm=0);
205  void SetCompressionLevel(Int_t level=1);
206  void SetCompressionSettings(Int_t settings=1);
207  virtual void SetEntries(Long64_t entries);
208  virtual void SetEntryOffsetLen(Int_t len, Bool_t updateSubBranches = kFALSE);
209  virtual void SetFirstEntry( Long64_t entry );
210  virtual void SetFile(TFile *file=0);
211  virtual void SetFile(const char *filename);
212  virtual Bool_t SetMakeClass(Bool_t decomposeObj = kTRUE);
213  virtual void SetOffset(Int_t offset=0) {fOffset=offset;}
214  virtual void SetStatus(Bool_t status=1);
215  virtual void SetTree(TTree *tree) { fTree = tree;}
216  virtual void SetupAddresses();
217  virtual void UpdateAddress() {;}
218  virtual void UpdateFile();
219 
220  static void ResetCount();
221 
222  ClassDef(TBranch,12); //Branch descriptor
223 };
224 
225 //______________________________________________________________________________
227 {
228  return (fCompress < 0) ? -1 : fCompress / 100;
229 }
230 
231 //______________________________________________________________________________
233 {
234  return (fCompress < 0) ? -1 : fCompress % 100;
235 }
236 
237 //______________________________________________________________________________
239 {
240  return (fCompress < 0) ? -1 : fCompress;
241 }
242 
243 #endif
virtual Bool_t GetMakeClass() const
Return whether this branch is in a mode where the object are decomposed or not (Also known as MakeCla...
Definition: TBranch.cxx:1522
virtual void UpdateAddress()
Definition: TBranch.h:217
Long64_t GetReadEntry() const
Definition: TBranch.h:169
void Init(const char *name, const char *leaflist, Int_t compress)
Definition: TBranch.cxx:274
Int_t fNBaskets
Definition: TBranch.h:76
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
Definition: TLeaf.h:37
virtual void SetBufferAddress(TBuffer *entryBuffer)
Set address of this branch directly from a TBuffer to avoid streaming.
Definition: TBranch.cxx:2111
An array of TObjects.
Definition: TObjArray.h:39
virtual void UpdateFile()
Refresh the value of fDirectory (i.e.
Definition: TBranch.cxx:2643
virtual void SetAddress(void *add)
Set address of this branch.
Definition: TBranch.cxx:2048
Int_t fOffset
Definition: TBranch.h:74
long long Long64_t
Definition: RtypesCore.h:69
virtual TLeaf * GetLeaf(const char *name) const
Return pointer to the 1st Leaf named name in thisBranch.
Definition: TBranch.cxx:1459
Int_t GetCompressionAlgorithm() const
Definition: TBranch.h:226
TObjArray * GetListOfBaskets()
Definition: TBranch.h:176
virtual ~TBranch()
Destructor.
Definition: TBranch.cxx:410
ClassDef(TBranch, 12)
Long64_t fEntries
Pointer to the current basket.
Definition: TBranch.h:84
Int_t FlushOneBasket(UInt_t which)
If we have a write basket in memory and it contains some entries and has not yet been written to disk...
Definition: TBranch.cxx:1040
virtual Int_t GetExpectedType(TClass *&clptr, EDataType &type)
Fill expectedClass and expectedType with information on the data type of the object/values contained ...
Definition: TBranch.cxx:1362
const char Option_t
Definition: RtypesCore.h:62
Long64_t fZipBytes
Definition: TBranch.h:87
ReadLeaves_t fReadLeaves
Definition: TBranch.h:106
Int_t FillEntryBuffer(TBasket *basket, TBuffer *buf, Int_t &lnew)
Copy the data from fEntryBuffer into the current basket.
Definition: TBranch.cxx:794
const Int_t kMapObject
Definition: TBranch.h:56
#define BIT(n)
Definition: Rtypes.h:120
void SetCompressionAlgorithm(Int_t algorithm=0)
Set compression algorithm.
Definition: TBranch.cxx:2129
virtual void DropBaskets(Option_t *option="")
Loop on all branch baskets.
Definition: TBranch.cxx:626
virtual void SetStatus(Bool_t status=1)
Set branch status to Process or DoNotProcess.
Definition: TBranch.cxx:2313
void ReadLeaves2Impl(TBuffer &b)
Read two leaves without the overhead of a loop.
Definition: TBranch.cxx:1853
virtual void SetFirstEntry(Long64_t entry)
set the first entry number (case of TBranchSTL)
Definition: TBranch.cxx:2618
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
Definition: TFile.h:45
void SetCompressionLevel(Int_t level=1)
Set compression level.
Definition: TBranch.cxx:2149
Long64_t GetTotBytes(Option_t *option="") const
Return total number of bytes in the branch (excluding current buffer) if option ="*" includes all sub...
Definition: TBranch.cxx:1617
virtual TLeaf * FindLeaf(const char *name)
Find the leaf corresponding to the name 'searchname'.
Definition: TBranch.cxx:939
virtual void Print(Option_t *option="") const
Print TBranch parameters.
Definition: TBranch.cxx:1726
Buffer base class used for serializing objects.
Definition: TBuffer.h:40
static const char * filename()
TBasket * fCurrentBasket
Next entry that will requires us to go to the next basket.
Definition: TBranch.h:83
const Int_t kBranchObject
Definition: TBranch.h:54
TObjArray fBaskets
Definition: TBranch.h:90
Basic string class.
Definition: TString.h:137
TAlienJobStatus * status
Definition: TAlienJob.cxx:51
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
virtual Long64_t GetBasketSeek(Int_t basket) const
Return address of basket in the file.
Definition: TBranch.cxx:1143
Int_t fNleaves
Definition: TBranch.h:78
TObjArray fLeaves
Definition: TBranch.h:89
Long64_t * fBasketSeek
Definition: TBranch.h:93
Int_t GetSplitLevel() const
Definition: TBranch.h:181
virtual void DeleteBaskets(Option_t *option="")
Loop on all branch baskets.
Definition: TBranch.cxx:595
Long64_t * GetBasketEntry() const
Definition: TBranch.h:149
virtual Int_t GetRow(Int_t row)
Return all elements of one row unpacked in internal array fValues [Actually just returns 1 (...
Definition: TBranch.cxx:1513
void SetSkipZip(Bool_t skip=kTRUE)
Definition: TBranch.h:115
TBasket * GetFreshBasket()
Return a fresh basket by either resusing an existing basket that needs to be drop (according to TTree...
Definition: TBranch.cxx:1416
TString GetRealFileName() const
Get real file name.
Definition: TBranch.cxx:1472
virtual void SetupAddresses()
If the branch address is not set, we set all addresses starting with the top level parent branch...
Definition: TBranch.cxx:2633
Long64_t fFirstBasketEntry
Current entry number when reading.
Definition: TBranch.h:81
Int_t * fBasketBytes
Definition: TBranch.h:91
virtual TList * GetBrowsables()
Returns (and, if 0, creates) browsable objects for this branch See TVirtualBranchBrowsable::FillListO...
Definition: TBranch.cxx:1153
Long64_t fEntryNumber
Definition: TBranch.h:73
virtual void SetTree(TTree *tree)
Definition: TBranch.h:215
const Int_t kBranchAny
Definition: TBranch.h:55
const char * Data() const
Definition: TString.h:349
Int_t fWriteBasket
Definition: TBranch.h:72
Long64_t fTotBytes
Definition: TBranch.h:86
Fill Area Attributes class.
Definition: TAttFill.h:32
Int_t GetOffset() const
Definition: TBranch.h:167
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
virtual void Browse(TBrowser *b)
Browser interface.
Definition: TBranch.cxx:569
void ReadLeavesImpl(TBuffer &b)
Pointer to the FillLeaves implementation to use.
Definition: TBranch.cxx:1827
Int_t * GetBasketBytes() const
Definition: TBranch.h:148
virtual Bool_t SetMakeClass(Bool_t decomposeObj=kTRUE)
Set the branch in a mode where the object are decomposed (Also known as MakeClass mode)...
Definition: TBranch.cxx:2293
virtual TBranch * FindBranch(const char *name)
Find the immediate sub-branch with passed name.
Definition: TBranch.cxx:893
const Int_t kDoNotProcess
Definition: TBranch.h:52
Long64_t GetEntries() const
Definition: TBranch.h:182
Long64_t GetZipBytes(Option_t *option="") const
Return total number of zip bytes in the branch if option ="*" includes all sub-branches of this branc...
Definition: TBranch.cxx:1635
TObjArray * GetListOfBranches()
Definition: TBranch.h:177
TBasket * GetBasket(Int_t basket)
Return pointer to basket basketnumber in this Branch.
Definition: TBranch.cxx:1081
Int_t fMaxBaskets
Definition: TBranch.h:75
Long64_t GetEntryNumber() const
Definition: TBranch.h:174
Int_t fSplitLevel
Number of baskets in memory.
Definition: TBranch.h:77
A doubly linked list.
Definition: TList.h:47
virtual void ResetAfterMerge(TFileMergeInfo *)
Reset a Branch.
Definition: TBranch.cxx:1964
virtual Int_t Fill()
Loop on all leaves of this branch to fill Basket buffer.
Definition: TBranch.cxx:723
Int_t GetEvent(Long64_t entry=0)
Definition: TBranch.h:161
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:41
void(TBranch::* ReadLeaves_t)(TBuffer &b)
After being read, the buffer will not be unziped.
Definition: TBranch.h:105
virtual char * GetAddress() const
Definition: TBranch.h:146
virtual void AddLastBasket(Long64_t startEntry)
Add the start entry of the write basket (not yet created)
Definition: TBranch.cxx:549
Int_t WriteBasket(TBasket *basket, Int_t where)
Write the current basket to disk and return the number of bytes written to the file.
Definition: TBranch.cxx:2557
TBuffer * fEntryBuffer
Definition: TBranch.h:100
static Int_t fgCount
Definition: TBranch.h:68
void FillLeavesImpl(TBuffer &b)
Loop on all leaves of this branch to fill Basket buffer.
Definition: TBranch.cxx:1862
virtual Int_t GetEntryExport(Long64_t entry, Int_t getall, TClonesArray *list, Int_t n)
Read all leaves of an entry and export buffers to real objects in a TClonesArray list.
Definition: TBranch.cxx:1290
virtual void SetOffset(Int_t offset=0)
Definition: TBranch.h:213
Int_t fBasketSize
Definition: TBranch.h:70
void SetCompressionSettings(Int_t settings=1)
Set compression settings.
Definition: TBranch.cxx:2171
virtual void SetEntries(Long64_t entries)
Set the number of entries in this branch.
Definition: TBranch.cxx:2204
TList * fBrowsables
Buffer used to directly pass the content without streaming.
Definition: TBranch.h:101
Long64_t GetTotalSize(Option_t *option="") const
Return total number of bytes in the branch (including current buffer)
Definition: TBranch.cxx:1591
TBranch * GetMother() const
Get our top-level parent branch in the tree.
Definition: TBranch.cxx:1532
const Int_t kIsClone
Definition: TBranch.h:53
FillLeaves_t fFillLeaves
Definition: TBranch.h:108
unsigned int UInt_t
Definition: RtypesCore.h:42
Long64_t fNextBasketEntry
First entry in the current basket.
Definition: TBranch.h:82
Manages buffers for branches of a Tree.
Definition: TBasket.h:38
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all leaves of entry and return total number of bytes read.
Definition: TBranch.cxx:1198
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:81
TBranch * GetSubBranch(const TBranch *br) const
Find the parent branch of child.
Definition: TBranch.cxx:1553
Long64_t entry
TTree * GetTree() const
Definition: TBranch.h:183
virtual void KeepCircular(Long64_t maxEntries)
keep a maximum of fMaxEntries in memory
Definition: TBranch.cxx:1672
virtual void SetBasketSize(Int_t buffsize)
Set the basket size The function makes sure that the basket size is greater than fEntryOffsetlen.
Definition: TBranch.cxx:2095
virtual Int_t GetBasketSize() const
Definition: TBranch.h:151
Bool_t fSkipZip
List of TVirtualBranchBrowsables used for Browse()
Definition: TBranch.h:103
Int_t fReadBasket
Number of leaves.
Definition: TBranch.h:79
virtual void ResetAddress()
Reset the address of the branch.
Definition: TBranch.cxx:2017
Describe directory structure in memory.
Definition: TDirectory.h:41
EStatusBits
Definition: TObject.h:76
int type
Definition: TGX11.cxx:120
Bool_t IsAutoDelete() const
Return kTRUE if an existing object in a TBranchObject must be deleted.
Definition: TBranch.cxx:1652
EDataType
Definition: TDataType.h:30
TTree * fTree
Definition: TBranch.h:94
Int_t GetNleaves() const
Definition: TBranch.h:180
TObjArray * GetListOfLeaves()
Definition: TBranch.h:178
TDirectory * fDirectory
Address of 1st leaf (variable or object)
Definition: TBranch.h:98
const char * GetFileName() const
Definition: TBranch.h:166
#define name(a, b)
Definition: linkTestLib0.cpp:5
TDirectory * GetDirectory() const
Definition: TBranch.h:157
virtual void SetEntryOffsetLen(Int_t len, Bool_t updateSubBranches=kFALSE)
Update the default value for the branch's fEntryOffsetLen if and only if it was already non zero (and...
Definition: TBranch.cxx:2187
typedef void((*Func_t)())
virtual void SetFile(TFile *file=0)
Set file where this branch writes/reads its buffers.
Definition: TBranch.cxx:2229
Int_t GetMaxBaskets() const
Definition: TBranch.h:179
virtual void Refresh(TBranch *b)
Refresh this branch using new information in b This function is called by TTree::Refresh.
Definition: TBranch.cxx:1874
An array of clone (identical) objects.
Definition: TClonesArray.h:32
void ReadLeaves0Impl(TBuffer &b)
Read zero leaves without the overhead of a loop.
Definition: TBranch.cxx:1838
Class implementing or helping the various TTree cloning method.
Definition: TTreeCloner.h:40
Long64_t * fBasketEntry
Definition: TBranch.h:92
Long64_t GetFirstEntry() const
Definition: TBranch.h:175
virtual void Reset(Option_t *option="")
Reset a Branch.
Definition: TBranch.cxx:1923
void(TBranch::* FillLeaves_t)(TBuffer &b)
Pointer to the ReadLeaves implementation to use.
Definition: TBranch.h:107
Long64_t fReadEntry
Current basket number when reading.
Definition: TBranch.h:80
virtual void AddBasket(TBasket &b, Bool_t ondisk, Long64_t startEntry)
Add the basket to this branch.
Definition: TBranch.cxx:476
TBranch * fMother
Pointer to Tree header.
Definition: TBranch.h:95
virtual Int_t LoadBaskets()
Baskets associated to this branch are forced to be in memory.
Definition: TBranch.cxx:1697
Int_t GetEntryOffsetLen() const
Definition: TBranch.h:160
const char * GetIconName() const
Return icon name depending on type of branch.
Definition: TBranch.cxx:1173
A TTree object has a header with a name and a title.
Definition: TTree.h:94
Int_t fEntryOffsetLen
Definition: TBranch.h:71
Bool_t IsFolder() const
Return kTRUE if more than one leaf or browsables, kFALSE otherwise.
Definition: TBranch.cxx:1660
virtual void ReadBasket(TBuffer &b)
Loop on all leaves of this branch to read Basket buffer.
Definition: TBranch.cxx:1819
Int_t FlushBaskets()
Flush to disk all the baskets of this branch and any of subbranches.
Definition: TBranch.cxx:994
TObjArray fBranches
Definition: TBranch.h:88
virtual void ResetReadEntry()
Definition: TBranch.h:198
virtual TFile * GetFile(Int_t mode=0)
Return pointer to the file where branch buffers reside, returns 0 in case branch buffers reside in th...
Definition: TBranch.cxx:1381
A TTree is a list of TBranches.
Definition: TBranch.h:58
virtual const char * GetClassName() const
Return the name of the user class whose content is stored in this branch, if any. ...
Definition: TBranch.cxx:1165
Int_t fCompress
branch counter
Definition: TBranch.h:69
const Bool_t kTRUE
Definition: Rtypes.h:91
TString fFileName
Pointer to directory where this branch buffers are stored.
Definition: TBranch.h:99
Int_t GetCompressionLevel() const
Definition: TBranch.h:232
TBranch * fParent
Pointer to top-level parent branch in the tree.
Definition: TBranch.h:96
static char * skip(char **buf, const char *delimiters)
Definition: civetweb.c:1014
const Int_t n
Definition: legend1.C:16
Int_t GetWriteBasket() const
Definition: TBranch.h:170
Long64_t fFirstEntry
Definition: TBranch.h:85
TBranch & operator=(const TBranch &)
void ExpandBasketArrays()
Increase BasketEntry buffer of a minimum of 10 locations and a maximum of 50 per cent of current size...
Definition: TBranch.cxx:694
virtual void SetObject(void *objadd)
Set object this branch is pointing to.
Definition: TBranch.cxx:2302
Int_t GetReadBasket() const
Definition: TBranch.h:168
void ReadLeaves1Impl(TBuffer &b)
Read one leaf without the overhead of a loop.
Definition: TBranch.cxx:1845
static void ResetCount()
Static function resetting fgCount.
Definition: TBranch.cxx:2040
Int_t GetCompressionSettings() const
Definition: TBranch.h:238
virtual void SetAutoDelete(Bool_t autodel=kTRUE)
Set the automatic delete bit.
Definition: TBranch.cxx:2082
char * fAddress
Pointer to parent branch.
Definition: TBranch.h:97