Logo ROOT   6.10/09
Reference Guide
TBranchObject.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Rene Brun 11/02/96
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TBranchObject
13 #define ROOT_TBranchObject
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TBranchObject //
19 // //
20 // A Branch for the case of an object. //
21 //////////////////////////////////////////////////////////////////////////
22 
23 
24 #include "TBranch.h"
25 
26 class TBranchObject : public TBranch {
27 
28 protected:
29  enum { kWarn = BIT(12) };
30 
31  TString fClassName; ///< Class name of referenced object
32  TObject *fOldObject; ///< !Pointer to old object
33 
34  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);
35 
36 public:
37  TBranchObject();
38  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);
39  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);
40  virtual ~TBranchObject();
41 
42  virtual void Browse(TBrowser *b);
43  virtual const char* GetClassName() const { return fClassName.Data(); };
44  virtual const char* GetObjClassName() { return fClassName.Data(); };
45  virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0);
46  virtual Int_t GetExpectedType(TClass *&clptr,EDataType &type);
47  Bool_t IsFolder() const;
48  virtual void Print(Option_t *option="") const;
49  virtual void Reset(Option_t *option="");
50  virtual void ResetAfterMerge(TFileMergeInfo *);
51  virtual void SetAddress(void *addobj);
52  virtual void SetAutoDelete(Bool_t autodel=kTRUE);
53  virtual void SetBasketSize(Int_t buffsize);
54  virtual void SetupAddresses();
55  virtual void UpdateAddress();
56 
57 private:
59 
60  ClassDef(TBranchObject,1); //Branch in case of an object
61 };
62 
63 #endif
TObject * fOldObject
!Pointer to old object
Definition: TBranchObject.h:32
virtual void Print(Option_t *option="") const
Print TBranch parameters.
long long Long64_t
Definition: RtypesCore.h:69
virtual const char * GetObjClassName()
Definition: TBranchObject.h:44
A Branch for the case of an object.
Definition: TBranchObject.h:26
const char Option_t
Definition: RtypesCore.h:62
#define BIT(n)
Definition: Rtypes.h:75
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) ...
virtual Int_t GetExpectedType(TClass *&clptr, EDataType &type)
Fill expectedClass and expectedType with information on the data type of the object/values contained ...
Basic string class.
Definition: TString.h:129
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual void Browse(TBrowser *b)
Browse the branch content.
#define ClassDef(name, id)
Definition: Rtypes.h:297
virtual void SetupAddresses()
– If the branch address is not set, we set all addresses starting with the top level parent branch...
virtual void SetAutoDelete(Bool_t autodel=kTRUE)
Set the AutoDelete bit.
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all branches of a BranchObject and return total number of bytes.
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
virtual void Reset(Option_t *option="")
Reset a branch.
virtual void SetAddress(void *addobj)
Set address of this branch.
Bool_t IsFolder() const
Return TRUE if more than one leaf or if fBrowsables, FALSE otherwise.
virtual void UpdateAddress()
Update branch addresses if a new object was created.
virtual Int_t FillImpl(ROOT::Internal::TBranchIMTHelper *)
Loop on all leaves of this branch to fill Basket buffer.
TBranchObject()
Default constructor for BranchObject.
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:71
virtual void SetBasketSize(Int_t buffsize)
Reset basket size for all subbranches of this branch.
TString fClassName
Class name of referenced object.
Definition: TBranchObject.h:31
int type
Definition: TGX11.cxx:120
EDataType
Definition: TDataType.h:28
virtual const char * GetClassName() const
Return the name of the user class whose content is stored in this branch, if any. ...
Definition: TBranchObject.h:43
Mother of all ROOT objects.
Definition: TObject.h:37
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
Definition: tree.py:1
A TTree object has a header with a name and a title.
Definition: TTree.h:78
A TTree is a list of TBranches.
Definition: TBranch.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:91
virtual void ResetAfterMerge(TFileMergeInfo *)
virtual ~TBranchObject()
Destructor for a BranchObject.
const char * Data() const
Definition: TString.h:347