A TLeaf describes individual elements of a TBranch See TBranch structure in TTree. 
A TTree object is a list of TBranch. A TBranch object is a list of TLeaf. In most cases, the TBranch will have one TLeaf. A TLeaf describes the branch data types and holds the data.
A few notes about the data held by the leaf. It can contain:
- a single object or primitive (e.g., one float),
 
- a fixed-number of objects (e.g., each entry has two floats). The number of elements per entry is saved in 
fLen. 
- a dynamic number of primitives. The number of objects in each entry is saved in the 
fLeafCount branch. 
Note options (2) and (3) can combined - if fLeafCount says an entry has 3 elements and fLen is 2, then there will be 6 objects in that entry.
Additionally, fNdata is transient and generated on read to determine the necessary size of a buffer to hold event data; depending on the call-site, it may be sized larger than the number of elements 
Definition at line 57 of file TLeaf.h.
 | 
|   | TLeaf () | 
|   | 
|   | TLeaf (TBranch *parent, const char *name, const char *type) | 
|   | Create a Leaf.  
  | 
|   | 
|   | ~TLeaf () override | 
|   | Destructor.  
  | 
|   | 
| void  | Browse (TBrowser *b) override | 
|   | Browse the content of this leaf.  
  | 
|   | 
| virtual bool  | CanGenerateOffsetArray () | 
|   | 
| virtual void  | Export (TClonesArray *, Int_t) | 
|   | 
| virtual void  | FillBasket (TBuffer &b) | 
|   | Pack leaf elements in Basket output buffer.  
  | 
|   | 
| virtual Int_t *  | GenerateOffsetArray (Int_t base, Int_t events) | 
|   | 
| TBranch *  | GetBranch () const | 
|   | 
| virtual DeserializeType  | GetDeserializeType () const | 
|   | 
| virtual TString  | GetFullName () const | 
|   | Return the full name (including the parent's branch names) of the leaf.  
  | 
|   | 
| virtual TLeaf *  | GetLeafCount () const | 
|   | If this leaf stores a variable-sized array or a multi-dimensional array whose last dimension has variable size, return a pointer to the TLeaf that stores such size.  
  | 
|   | 
| virtual TLeaf *  | GetLeafCounter (Int_t &countval) const | 
|   | Return a pointer to the counter of this leaf (if any) or store the number of elements that the leaf contains in countval.  
  | 
|   | 
| virtual const Counts_t *  | GetLeafCountValues (Long64_t start, Long64_t len) | 
|   | If this branch is a branch count, return the set of collection size for the entry range requested start: first entry to read and return information about len: number of entries to read.  
  | 
|   | 
| virtual Int_t  | GetLen () const | 
|   | Return the number of effective elements of this leaf, for the current entry.  
  | 
|   | 
| virtual Int_t  | GetLenStatic () const | 
|   | Return the fixed length of this leaf.  
  | 
|   | 
| virtual Int_t  | GetLenType () const | 
|   | 
| virtual Int_t  | GetMaximum () const | 
|   | 
| virtual Int_t  | GetMinimum () const | 
|   | 
| virtual Int_t  | GetNdata () const | 
|   | 
| virtual Int_t  | GetOffset () const | 
|   | 
| template<typename T >  | 
| T  | GetTypedValue (Int_t i=0) const | 
|   | 
| virtual const char *  | GetTypeName () const | 
|   | 
| virtual Double_t  | GetValue (Int_t i=0) const | 
|   | 
| virtual Long64_t  | GetValueLong64 (Int_t i=0) const | 
|   | 
| virtual LongDouble_t  | GetValueLongDouble (Int_t i=0) const | 
|   | 
| virtual void *  | GetValuePointer () const | 
|   | 
| virtual void  | Import (TClonesArray *, Int_t) | 
|   | 
| virtual bool  | IncludeRange (TLeaf *) | 
|   | 
| TClass *  | IsA () const override | 
|   | 
| virtual bool  | IsOnTerminalBranch () const | 
|   | 
| virtual bool  | IsRange () const | 
|   | 
| virtual bool  | IsUnsigned () const | 
|   | 
| virtual void  | PrintValue (Int_t i=0) const | 
|   | 
| virtual void  | ReadBasket (TBuffer &) | 
|   | 
| virtual void  | ReadBasketExport (TBuffer &, TClonesArray *, Int_t) | 
|   | 
| virtual bool  | ReadBasketFast (TBuffer &, Long64_t) | 
|   | 
| virtual bool  | ReadBasketSerialized (TBuffer &, Long64_t) | 
|   | 
| virtual void  | ReadValue (std::istream &, Char_t=' ') | 
|   | 
| Int_t  | ResetAddress (void *add, bool calledFromDestructor=false) | 
|   | Helper routine for TLeafX::SetAddress.  
  | 
|   | 
| virtual void  | SetAddress (void *add=nullptr) | 
|   | 
| virtual void  | SetBranch (TBranch *branch) | 
|   | 
| virtual void  | SetLeafCount (TLeaf *leaf) | 
|   | Set the leaf count of this leaf.  
  | 
|   | 
| virtual void  | SetLen (Int_t len=1) | 
|   | 
| virtual void  | SetOffset (Int_t offset=0) | 
|   | 
| virtual void  | SetRange (bool range=true) | 
|   | 
| virtual void  | SetUnsigned () | 
|   | 
| void  | Streamer (TBuffer &) override | 
|   | Stream a class object.  
  | 
|   | 
| void  | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|   | 
|   | 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.  
  | 
|   | 
| void  | Clear (Option_t *option="") override | 
|   | Set name and title to empty strings ("").  
  | 
|   | 
| TObject *  | Clone (const char *newname="") const override | 
|   | Make a clone of an object using the Streamer facility.  
  | 
|   | 
| Int_t  | Compare (const TObject *obj) const override | 
|   | Compare two TNamed objects.  
  | 
|   | 
| void  | Copy (TObject &named) const override | 
|   | Copy this to obj.  
  | 
|   | 
| virtual void  | FillBuffer (char *&buffer) | 
|   | Encode TNamed into output buffer.  
  | 
|   | 
| const char *  | GetName () const override | 
|   | Returns name of object.  
  | 
|   | 
| const char *  | GetTitle () const override | 
|   | Returns title of object.  
  | 
|   | 
| ULong_t  | Hash () const override | 
|   | Return hash value for this object.  
  | 
|   | 
| TClass *  | IsA () const override | 
|   | 
| Bool_t  | IsSortable () const override | 
|   | 
| void  | ls (Option_t *option="") const override | 
|   | List TNamed name and title.  
  | 
|   | 
| TNamed &  | operator= (const TNamed &rhs) | 
|   | TNamed assignment operator.  
  | 
|   | 
| void  | Print (Option_t *option="") const override | 
|   | Print TNamed name and title.  
  | 
|   | 
| virtual void  | SetName (const char *name) | 
|   | Set the name of the TNamed.  
  | 
|   | 
| 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.  
  | 
|   | 
| virtual Int_t  | Sizeof () const | 
|   | Return size of the TNamed part of the TObject.  
  | 
|   | 
| void  | Streamer (TBuffer &) override | 
|   | Stream an object of class TObject.  
  | 
|   | 
| void  | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|   | 
|   | 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 void  | Delete (Option_t *option="") | 
|   | Delete this object.  
  | 
|   | 
| virtual Int_t  | DistancetoPrimitive (Int_t px, Int_t py) | 
|   | Computes distance from point (px,py) to the object.  
  | 
|   | 
| virtual void  | Draw (Option_t *option="") | 
|   | Default Draw method for all objects.  
  | 
|   | 
| virtual void  | DrawClass () const | 
|   | Draw class inheritance tree of the class to which this object belongs.  
  | 
|   | 
| virtual TObject *  | DrawClone (Option_t *option="") const | 
|   | Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).  
  | 
|   | 
| virtual void  | Dump () const | 
|   | Dump contents of object on stdout.  
  | 
|   | 
| virtual void  | Error (const char *method, const char *msgfmt,...) const | 
|   | Issue error message.  
  | 
|   | 
| virtual void  | Execute (const char *method, const char *params, Int_t *error=nullptr) | 
|   | Execute method on this object with the given parameter string, e.g.  
  | 
|   | 
| virtual void  | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) | 
|   | Execute method on this object with parameters stored in the TObjArray.  
  | 
|   | 
| virtual void  | ExecuteEvent (Int_t event, Int_t px, Int_t py) | 
|   | Execute action corresponding to an event at (px,py).  
  | 
|   | 
| virtual void  | Fatal (const char *method, const char *msgfmt,...) const | 
|   | Issue fatal error message.  
  | 
|   | 
| virtual TObject *  | FindObject (const char *name) const | 
|   | Must be redefined in derived classes.  
  | 
|   | 
| virtual TObject *  | FindObject (const TObject *obj) const | 
|   | Must be redefined in derived classes.  
  | 
|   | 
| 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 Option_t *  | GetOption () const | 
|   | 
| 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).  
  | 
|   | 
| virtual Bool_t  | IsFolder () const | 
|   | Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).  
  | 
|   | 
| 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 (the base implementation is no-op).  
  | 
|   | 
| void  | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const | 
|   | Use this method to declare a method obsolete.  
  | 
|   | 
| void  | operator delete (void *, size_t) | 
|   | Operator delete for sized deallocation.  
  | 
|   | 
| void  | operator delete (void *ptr) | 
|   | Operator delete.  
  | 
|   | 
| void  | operator delete (void *ptr, void *vp) | 
|   | Only called by placement new when throwing an exception.  
  | 
|   | 
| void  | operator delete[] (void *, size_t) | 
|   | Operator delete [] for sized deallocation.  
  | 
|   | 
| void  | operator delete[] (void *ptr) | 
|   | Operator delete [].  
  | 
|   | 
| void  | operator delete[] (void *ptr, void *vp) | 
|   | Only called by placement new[] when throwing an exception.  
  | 
|   | 
| void *  | operator new (size_t sz) | 
|   | 
| void *  | operator new (size_t sz, void *vp) | 
|   | 
| void *  | operator new[] (size_t sz) | 
|   | 
| void *  | operator new[] (size_t sz, void *vp) | 
|   | 
| TObject &  | operator= (const TObject &rhs) | 
|   | TObject assignment operator.  
  | 
|   | 
| virtual void  | Paint (Option_t *option="") | 
|   | This method must be overridden if a class wants to paint itself.  
  | 
|   | 
| 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.  
  | 
|   | 
| virtual void  | RecursiveRemove (TObject *obj) | 
|   | Recursively remove this object from a list.  
  | 
|   | 
| 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.  
  | 
|   | 
| void  | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|   | 
| 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.  
  | 
|   | 
| virtual Int_t  | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) | 
|   | Write this object to the current directory.  
  | 
|   | 
| virtual Int_t  | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const | 
|   | Write this object to the current directory.  
  | 
|   |