library: libTree #include "TBranchObject.h"

# TBranchObject

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

## class TBranchObject : public TBranch

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`TAttFill`
| <- | `TBranch`
| <- | `TBranchObject` |

        public:

                              TBranchObject()
                              TBranchObject(const char* name, const char* classname, void* addobj, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1)
                      virtual ~TBranchObject()
                 virtual void Browse(TBrowser* b)
               static TClass* Class()
                virtual Int_t Fill()
          virtual const char* GetClassName() const
                virtual Int_t GetEntry(Long64_t entry = 0, Int_t getall = 0)
          virtual const char* GetObjClassName() const
              virtual TClass* IsA() const
               virtual Bool_t IsFolder() const
                 virtual void Print(Option_t* option = "") const
                 virtual void Reset(Option_t* option = "")
                 virtual void SetAddress(void* addobj)
                 virtual void SetAutoDelete(Bool_t autodel = kTRUE)
                 virtual void SetBasketSize(Int_t buffsize)
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)
                 virtual void UpdateAddress()

### Data Members

        protected:

           TString fClassName  Class name of referenced object
          TObject* fOldObject  !Pointer to old object

        public:

          static const enum TBranchObject:: kWarn

## Class Description

     TBranchObject

     A Branch for the case of an object                                   //

TBranchObject(): TBranch()

    *-*-*-*-*-*Default constructor for BranchObject*-*-*-*-*-*-*-*-*-*
    *-*        ====================================

TBranchObject(const char *name, const char *classname, void *addobj, Int_t basketsize, Int_t splitlevel, Int_t compress) :TBranch()

    *-*-*-*-*-*-*-*-*-*-*-*-*Create a BranchObject*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                      =====================

~TBranchObject()

    *-*-*-*-*-*Default destructor for a BranchObject*-*-*-*-*-*-*-*-*-*-*-*
    *-*        =====================================

void Browse(TBrowser *b)

Int_t Fill()

    *-*-*-*-*-*-*-*Loop on all leaves of this branch to fill Basket buffer*-*-*
    *-*            =======================================================

Int_t GetEntry(Long64_t entry, Int_t getall)

    *-*-*-*-*Read all branches of a BranchObject and return total number of bytes
    *-*      ====================================================================
       If entry = 0 take current entry number + 1
       If entry < 0 reset entry number to 0

      The function returns the number of bytes read from the input buffer.
      If entry does not exist  the function returns 0.
      If an I/O error occurs,  the function returns -1.

Bool_t IsFolder() const

    *-*-*-*-*Return TRUE if more than one leaf or if fBorwsables, FALSE otherwise*-*
    *-*      ====================================================================

void Print(Option_t *option) const

    *-*-*-*-*-*-*-*-*-*-*-*Print TBranch parameters*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                    ========================

void Reset(Option_t *option)

    *-*-*-*-*-*-*-*Reset a Branch*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*            ====================

        Existing buffers are deleted
        Entries, max and min are reset

void SetAddress(void *add)

    *-*-*-*-*-*-*-*Set address of this branch*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*            ====================

void SetAutoDelete(Bool_t autodel)

    *-*-*-*-*-*-*-*Set the AutoDelete bit
    *-*            ====================
      This function can be used to instruct Root in TBranchObject::ReadBasket
      to not delete the object referenced by a branchobject before reading a
      new entry. By default, the object is deleted.
      If autodel is kTRUE, this existing object will be deleted, a new object
        created by the default constructor, then object->Streamer called.
      If autodel is kFALSE, the existing object is not deleted. Root assumes
        that the user is taking care of deleting any internal object or array
        This can be done in Streamer itself.
      If this branch has sub-branches, the function sets autodel for these
      branches as well.
      We STRONGLY suggest to activate this option by default when you create
      the top level branch. This will make the read phase more efficient
      because it minimizes the numbers of new/delete operations.
      Once this option has been set and the Tree is written to a file, it is
      not necessary to specify the option again when reading, unless you
      want to set the opposite mode.

void SetBasketSize(Int_t buffsize)

    *-*-*-*-*-*-*-*Reset basket size for all subbranches of this branchobject
    *-*            ==========================================================

void Streamer(TBuffer &R__b)

     Stream an object of class TBranchObject.

void UpdateAddress()

    *-*-*-*-*-*-*-*Update branch addresses if a new object was created*-*-*
    *-*            ===================================================

### Inline Functions

            const char* GetClassName() const
            const char* GetObjClassName() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)

Author: Rene Brun 11/02/96
Last update: root/tree:$Name: $:$Id: TBranchObject.cxx,v 1.31 2005/03/19 16:39:39 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *