library: libTree
#include "TBranchRef.h"

TBranchRef


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

class TBranchRef : public TBranch

Inheritance Chart:
TObject
<-
TNamed
TAttFill
<-
TBranch
<-
TBranchRef

    public:
TBranchRef() TBranchRef(TTree* tree) TBranchRef(const TBranchRef&) virtual ~TBranchRef() static TClass* Class() virtual void Clear(Option_t* option = "") virtual Int_t Fill() virtual void FillLeaves(TBuffer& b) TRefTable* GetRefTable() const virtual TClass* IsA() const virtual Bool_t Notify() virtual void Print(Option_t* option = "") const virtual void ReadLeaves(TBuffer& b) virtual void Reset(Option_t* option = "") virtual void SetParent(const TObject* obj) virtual void SetReadEntry(Long64_t entry) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
TRefTable* fRefTable pointer to the TRefTable

Class Description

                                                                      
 A branch containing and managing a TRefTable for TRef autoloading.   
 It loads the TBranch containing a referenced object when requested   
 by TRef::GetObject(), so the reference can be resolved. The          
 information which branch to load is stored by TRefTable. Once a      
 TBranch has read the TBranchRef's current entry it will not be told  
 to re-read, in case the use has changed objects read from the        
 branch.                                                              
                                                                      
                                                                      
 *** LIMITATION ***                                                   
 Note that this does NOT allow for autoloading of references spanning 
 different entries. The TBranchRef's current entry has to correspond  
 to the entry of the TBranch containing the referenced object.        
                                                                      
 The TRef cannot be stored in a top-level branch which is a           
 TBranchObject for the auto-loading to work. E.g. you cannot store    
 the TRefs in TObjArray, and create a top-level branch storing this   
 TObjArray.                                                           
                                                                      

TBranchRef()
 Default constructor.
TBranchRef(TTree *tree)
 Main constructor called by TTree::BranchRef.
~TBranchRef()
 Typical destructor.
void Clear(Option_t *option)
 Clear entries in the TRefTable.
Int_t Fill()
 Fill the branch basket with the referenced objects parent numbers.
void FillLeaves(TBuffer &b)
 This function called by TBranch::Fill overloads TBranch::FillLeaves.
Bool_t Notify()
 This function is called by TRefTable::Notify, itself called by
 TRef::GetObject.
 The function reads the branch containing the object referenced
 by the TRef.
void Print(Option_t *option)
 Print the TRefTable branch.
void ReadLeaves(TBuffer &b)
 This function called by TBranch::GetEntry overloads TBranch::ReadLeaves.
void Reset(Option_t *option)
    Existing buffers are deleted
    Entries, max and min are reset
    TRefTable is cleared.
void SetParent(const TObject *object)
 this function is called by TBranchElement::Fill when filling
 branches that may contain referenced objects.
TBranchRef()
void SetReadEntry(Long64_t entry)

Author: Rene Brun 19/08/2004
Last update: root/tree:$Name: $:$Id: TBranchRef.cxx,v 1.9 2006/03/22 06:36:20 pcanal Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.