ROOT logo
ROOT » TREE » TREE » TBranchObject

class TBranchObject: public TBranch


TBranchObject

A Branch for the case of an object


Function Members (Methods)

public:
TBranchObject()
TBranchObject(TBranch* parent, const char* name, const char* classname, void* addobj, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1, Bool_t isptrptr = kTRUE)
TBranchObject(TTree* tree, const char* name, const char* classname, void* addobj, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1, Bool_t isptrptr = kTRUE)
virtual~TBranchObject()
voidTObject::AbstractMethod(const char* method) const
virtual voidTBranch::AddBasket(TBasket& b, Bool_t ondisk, Long64_t startEntry)
virtual voidTBranch::AddLastBasket(Long64_t startEntry)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidTBranch::DeleteBaskets(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTBranch::DropBaskets(Option_t* option = "")
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
voidTBranch::ExpandBasketArrays()
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual Int_tFill()
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TBranch*TBranch::FindBranch(const char* name)
virtual TLeaf*TBranch::FindLeaf(const char* name)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tTBranch::FlushBaskets()
Int_tTBranch::FlushOneBasket(UInt_t which)
virtual char*TBranch::GetAddress() const
TBasket*TBranch::GetBasket(Int_t basket)
Int_t*TBranch::GetBasketBytes() const
Long64_t*TBranch::GetBasketEntry() const
virtual Long64_tTBranch::GetBasketSeek(Int_t basket) const
virtual Int_tTBranch::GetBasketSize() const
virtual TList*TBranch::GetBrowsables()
virtual const char*GetClassName() const
Int_tTBranch::GetCompressionAlgorithm() const
Int_tTBranch::GetCompressionLevel() const
Int_tTBranch::GetCompressionSettings() const
TDirectory*TBranch::GetDirectory() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Long64_tTBranch::GetEntries() const
virtual Int_tGetEntry(Long64_t entry = 0, Int_t getall = 0)
virtual Int_tTBranch::GetEntryExport(Long64_t entry, Int_t getall, TClonesArray* list, Int_t n)
Long64_tTBranch::GetEntryNumber() const
Int_tTBranch::GetEntryOffsetLen() const
Int_tTBranch::GetEvent(Long64_t entry = 0)
virtual Int_tGetExpectedType(TClass*& clptr, EDataType& type)
virtual TFile*TBranch::GetFile(Int_t mode = 0)
const char*TBranch::GetFileName() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
Long64_tTBranch::GetFirstEntry() const
virtual const char*TBranch::GetIconName() const
virtual TLeaf*TBranch::GetLeaf(const char* name) const
TObjArray*TBranch::GetListOfBaskets()
TObjArray*TBranch::GetListOfBranches()
TObjArray*TBranch::GetListOfLeaves()
virtual Bool_tTBranch::GetMakeClass() const
Int_tTBranch::GetMaxBaskets() const
TBranch*TBranch::GetMother() const
virtual const char*TNamed::GetName() const
Int_tTBranch::GetNleaves() const
virtual const char*GetObjClassName()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Int_tTBranch::GetOffset() const
virtual Option_t*TObject::GetOption() const
Int_tTBranch::GetReadBasket() const
Long64_tTBranch::GetReadEntry() const
virtual Int_tTBranch::GetRow(Int_t row)
Int_tTBranch::GetSplitLevel() const
TBranch*TBranch::GetSubBranch(const TBranch* br) const
virtual const char*TNamed::GetTitle() const
Long64_tTBranch::GetTotalSize(Option_t* option = "") const
Long64_tTBranch::GetTotBytes(Option_t* option = "") const
TTree*TBranch::GetTree() const
virtual UInt_tTObject::GetUniqueID() const
Int_tTBranch::GetWriteBasket() const
Long64_tTBranch::GetZipBytes(Option_t* option = "") const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTBranch::IsAutoDelete() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTBranch::KeepCircular(Long64_t maxEntries)
virtual Int_tTBranch::LoadBaskets()
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttFill::Modify()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTBranch::ReadBasket(TBuffer& b)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTBranch::Refresh(TBranch* b)
virtual voidReset(Option_t* option = "")
virtual voidTBranch::ResetAddress()
virtual voidResetAfterMerge(TFileMergeInfo*)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
static voidTBranch::ResetCount()
virtual voidTBranch::ResetReadEntry()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidSetAddress(void* addobj)
virtual voidSetAutoDelete(Bool_t autodel = kTRUE)
virtual voidSetBasketSize(Int_t buffsize)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTBranch::SetBufferAddress(TBuffer* entryBuffer)
voidTBranch::SetCompressionAlgorithm(Int_t algorithm = 0)
voidTBranch::SetCompressionLevel(Int_t level = 1)
voidTBranch::SetCompressionSettings(Int_t settings = 1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTBranch::SetEntries(Long64_t entries)
virtual voidTBranch::SetEntryOffsetLen(Int_t len, Bool_t updateSubBranches = kFALSE)
virtual voidTBranch::SetFile(TFile* file = 0)
virtual voidTBranch::SetFile(const char* filename)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTBranch::SetFirstEntry(Long64_t entry)
virtual Bool_tTBranch::SetMakeClass(Bool_t decomposeObj = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidTBranch::SetObject(void* objadd)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTBranch::SetOffset(Int_t offset = 0)
virtual voidTBranch::SetStatus(Bool_t status = 1)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTBranch::SetTree(TTree* tree)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetupAddresses()
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidUpdateAddress()
virtual voidTBranch::UpdateFile()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTBranch::FillLeavesImpl(TBuffer& b)
TBasket*TBranch::GetFreshBasket()
TStringTBranch::GetRealFileName() const
voidInit(TTree* tree, TBranch* parent, const char* name, const char* classname, void* addobj, Int_t basketsize, Int_t splitlevel, Int_t compress, Bool_t isptrptr)
voidTObject::MakeZombie()
voidTBranch::ReadLeaves0Impl(TBuffer& b)
voidTBranch::ReadLeaves1Impl(TBuffer& b)
voidTBranch::ReadLeaves2Impl(TBuffer& b)
voidTBranch::ReadLeavesImpl(TBuffer& b)
voidTBranch::SetSkipZip(Bool_t skip = kTRUE)
Int_tTBranch::WriteBasket(TBasket* basket, Int_t where)

Data Members

public:
enum { kWarn
};
enum TBranch::EStatusBits { kAutoDelete
kDoNotUseBufferMap
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
char*TBranch::fAddress! Address of 1st leaf (variable or object)
Int_t*TBranch::fBasketBytes[fMaxBaskets] Lenght of baskets on file
Long64_t*TBranch::fBasketEntry[fMaxBaskets] Table of first entry in eack basket
Long64_t*TBranch::fBasketSeek[fMaxBaskets] Addresses of baskets on file
Int_tTBranch::fBasketSizeInitial Size of Basket Buffer
TObjArrayTBranch::fBaskets-> List of baskets of this branch
TObjArrayTBranch::fBranches-> List of Branches of this branch
TList*TBranch::fBrowsables! List of TVirtualBranchBrowsables used for Browse()
TStringfClassNameClass name of referenced object
Int_tTBranch::fCompressCompression level and algorithm
TBasket*TBranch::fCurrentBasket! Pointer to the current basket.
TDirectory*TBranch::fDirectory! Pointer to directory where this branch buffers are stored
Long64_tTBranch::fEntriesNumber of entries
TBuffer*TBranch::fEntryBuffer! Buffer used to directly pass the content without streaming
Long64_tTBranch::fEntryNumberCurrent entry number (last one filled in this branch)
Int_tTBranch::fEntryOffsetLenInitial Length of fEntryOffset table in the basket buffers
TStringTBranch::fFileNameName of file where buffers are stored ("" if in same file as Tree header)
Color_tTAttFill::fFillColorfill area color
G__p2memfuncTBranch::fFillLeaves! Pointer to the FillLeaves implementation to use.
Style_tTAttFill::fFillStylefill area style
Long64_tTBranch::fFirstBasketEntry! First entry in the current basket.
Long64_tTBranch::fFirstEntryNumber of the first entry in this branch
TObjArrayTBranch::fLeaves-> List of leaves of this branch
Int_tTBranch::fMaxBasketsMaximum number of Baskets so far
TBranch*TBranch::fMother! Pointer to top-level parent branch in the tree.
Int_tTBranch::fNBaskets! Number of baskets in memory
TStringTNamed::fNameobject identifier
Long64_tTBranch::fNextBasketEntry! Next entry that will requires us to go to the next basket
Int_tTBranch::fNleaves! Number of leaves
Int_tTBranch::fOffsetOffset of this branch
TObject*fOldObject!Pointer to old object
TBranch*TBranch::fParent! Pointer to parent branch.
Int_tTBranch::fReadBasket! Current basket number when reading
Long64_tTBranch::fReadEntry! Current entry number when reading
G__p2memfuncTBranch::fReadLeaves! Pointer to the ReadLeaves implementation to use.
Bool_tTBranch::fSkipZip! After being read, the buffer will not be unziped.
Int_tTBranch::fSplitLevelBranch split level
TStringTNamed::fTitleobject title
Long64_tTBranch::fTotBytesTotal number of bytes in all leaves before compression
TTree*TBranch::fTree! Pointer to Tree header
Int_tTBranch::fWriteBasketLast basket number written
Long64_tTBranch::fZipBytesTotal number of bytes in all leaves after compression
static Int_tTBranch::fgCount! branch counter

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TBranchObject()
 Default constructor for BranchObject.
TBranchObject(TTree* tree, const char* name, const char* classname, void* addobj, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1, Bool_t isptrptr = kTRUE)
 Create a BranchObject.
TBranchObject(TBranch* parent, const char* name, const char* classname, void* addobj, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1, Bool_t isptrptr = kTRUE)
 Create a BranchObject.
void Init(TTree* tree, TBranch* parent, const char* name, const char* classname, void* addobj, Int_t basketsize, Int_t splitlevel, Int_t compress, Bool_t isptrptr)
 Initialization routine (run from the constructor so do not make this function virtual)
~TBranchObject()
 Destructor for a BranchObject.
void Browse(TBrowser* b)
 Browse the branch content.
Int_t Fill()
 Loop on all leaves of this branch to fill Basket buffer.
Int_t GetEntry(Long64_t entry = 0, Int_t getall = 0)
 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.
Int_t GetExpectedType(TClass*& clptr, EDataType& type)
 Fill expectedClass and expectedType with information on the data type of the
 object/values contained in this branch (and thus the type of pointers
 expected to be passed to Set[Branch]Address
 return 0 in case of success and > 0 in case of failure.
Bool_t IsFolder() const
 Return TRUE if more than one leaf or if fBrowsables, 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 ResetAfterMerge(TFileMergeInfo* )
 Reset a Branch after a Merge operation (drop data but keep customizations)

void SetAddress(void* addobj)
 Set address of this branch.
void SetAutoDelete(Bool_t autodel = kTRUE)
 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 branch.
void Streamer(TBuffer& b)
 Stream an object of class TBranchObject.
void SetupAddresses()
 -- If the branch address is not set,  we set all addresses starting with
 the top level parent branch.  This is required to be done in order for
 GetOffset to be correct and for GetEntry to run.
void UpdateAddress()
 Update branch addresses if a new object was created.
const char* GetClassName() const
{ return fClassName.Data(); }
const char* GetObjClassName()
{ return fClassName.Data(); }