library: libTree #include "TLeaf.h"

# TLeaf

class description - source file - inheritance tree (.pdf)

## class TLeaf : public TNamed

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TLeaf` |
<- |
`TLeafB` |
`TLeafC` |
`TLeafD` |
`TLeafElement` |
`TLeafF` |
`TLeafI` |
`TLeafL` |
`TLeafO` |
`TLeafObject` |
`TLeafS` |
| [more...]

        public:

                              TLeaf()
                              TLeaf(const char* name, const char* type)
                              TLeaf(const TLeaf&)
                      virtual ~TLeaf()
                 virtual void Browse(TBrowser* b)
               static TClass* Class()
                 virtual void Export(TClonesArray* list, Int_t n)
                 virtual void FillBasket(TBuffer& b)
                     TBranch* GetBranch() const
               virtual TLeaf* GetLeafCount() const
               virtual TLeaf* GetLeafCounter(Int_t& countval) const
                virtual Int_t GetLen() const
                virtual Int_t GetLenStatic() const
                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
          virtual const char* GetTypeName() const
             virtual Double_t GetValue(Int_t i = 0) const
                virtual void* GetValuePointer() const
                 virtual void Import(TClonesArray* list, Int_t n)
              virtual TClass* IsA() const
               virtual Bool_t IsOnTerminalBranch() const
               virtual Bool_t IsRange() const
               virtual Bool_t IsUnsigned() const
                       TLeaf& operator=(const TLeaf&)
                 virtual void PrintValue(Int_t = 0) const
                 virtual void ReadBasket(TBuffer&)
                 virtual void ReadBasketExport(TBuffer&, TClonesArray*, Int_t)
                 virtual void ReadValue(ifstream&)
                        Int_t ResetAddress(void* add, Bool_t destructor = kFALSE)
                 virtual void SetAddress(void* add = 0)
                 virtual void SetBranch(TBranch* branch)
                 virtual void SetLeafCount(TLeaf* leaf)
                 virtual void SetLen(Int_t len = 1)
                 virtual void SetOffset(Int_t offset = 0)
                 virtual void SetRange(Bool_t range = kTRUE)
                 virtual void SetUnsigned()
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

             Int_t fNdata       ! Number of elements in fAddress data buffer
             Int_t fLen         Number of fixed length elements
             Int_t fLenType     Number of bytes for this data type
             Int_t fOffset      Offset in ClonesArray object (if one)
            Bool_t fIsRange     (=kTRUE if leaf has a range, kFALSE otherwise)
            Bool_t fIsUnsigned  (=kTRUE if unsigned, kFALSE otherwise)
            TLeaf* fLeafCount   Pointer to Leaf count if variable length
          TBranch* fBranch      ! Pointer to supporting branch

        public:

          static const enum TLeaf:: kIndirectAddress
          static const enum TLeaf:: kNewValue

## Class Description

     A TLeaf describes individual elements of a TBranch
           See TBranch structure in TTree.

TLeaf(): TNamed()

    *-*-*-*-*-*Default constructor for Leaf*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*        ============================

TLeaf(const char *name, const char *) :TNamed(name,name)

    *-*-*-*-*-*-*-*-*-*-*-*-*Create a Leaf*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                      =============

         See the TTree and TBranch constructors for explanation of parameters.

~TLeaf()

    *-*-*-*-*-*Default destructor for a Leaf*-*-*-*-*-*-*-*-*-*-*-*
    *-*        ===============================

void Browse(TBrowser *b)

void FillBasket(TBuffer &)

    *-*-*-*-*-*-*-*-*-*-*Pack leaf elements in Basket output buffer*-*-*-*-*-*-*
    *-*                  =========================================

TLeaf* GetLeafCounter(Int_t &countval) const

    *-*-*-*-*-*-*Return Pointer to counter of referenced Leaf*-*-*-*-*-*-*-*
    *-*          ============================================

      If leaf name has the forme var[nelem], where nelem is alphanumeric, then
         If nelem is a leaf name, return countval = 1 and the pointer to
         the leaf named nelem.
      If leaf name has the forme var[nelem], where nelem is a digit, then
         return countval = nelem and a null pointer.
      Otherwise return countval=0 and a null pointer.

Int_t GetLen() const

    *-*-*-*-*-*-*-*-*Return the number of effective elements of this leaf*-*-*-*
    *-*              ====================================================

Int_t ResetAddress(void *add, Bool_t destructor)

    *-*-*-*-*-*-*-*-*-*-*Set leaf buffer data address*-*-*-*-*-*
    *-*                  ============================

      This function is called by all TLeafX::SetAddress

void SetLeafCount(TLeaf *leaf)

void Streamer(TBuffer &b)

    *-*-*-*-*-*-*-*-*Stream a class object*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*              =========================================

### Inline Functions

                   void Export(TClonesArray* list, Int_t n)
               TBranch* GetBranch() const
                 TLeaf* GetLeafCount() const
                  Int_t GetLenStatic() const
                  Int_t GetLenType() const
                  Int_t GetMaximum() const
                  Int_t GetMinimum() const
                  Int_t GetNdata() const
                  Int_t GetOffset() const
                  void* GetValuePointer() const
            const char* GetTypeName() const
               Double_t GetValue(Int_t i = 0) const
                   void Import(TClonesArray* list, Int_t n)
                 Bool_t IsOnTerminalBranch() const
                 Bool_t IsRange() const
                 Bool_t IsUnsigned() const
                   void PrintValue(Int_t = 0) const
                   void ReadBasket(TBuffer&)
                   void ReadBasketExport(TBuffer&, TClonesArray*, Int_t)
                   void ReadValue(ifstream&)
                   void SetAddress(void* add = 0)
                   void SetBranch(TBranch* branch)
                   void SetLen(Int_t len = 1)
                   void SetOffset(Int_t offset = 0)
                   void SetRange(Bool_t range = kTRUE)
                   void SetUnsigned()
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)
                  TLeaf TLeaf(const TLeaf&)
                 TLeaf& operator=(const TLeaf&)

Author: Rene Brun 12/01/96
Last update: root/tree:$Name: $:$Id: TLeaf.cxx,v 1.13 2005/01/28 13:53:47 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *