Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TBranchClones.h
Go to the documentation of this file.
1// @(#)root/tree
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_TBranchClones
13#define ROOT_TBranchClones
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TBranchClones //
19// //
20// A Branch for the case of an array of clone objects. //
21//////////////////////////////////////////////////////////////////////////
22
23
24#include "TBranch.h"
25
26class TClonesArray;
27class TTreeCloner;
28
29class TBranchClones : public TBranch {
30
31protected:
32 TClonesArray *fList; ///<! Pointer to the clonesarray
33 Int_t fRead; ///<! flag = 1 if clonesarray has been read
34 Int_t fN; ///<! Number of elements in ClonesArray
35 Int_t fNdataMax; ///<! Maximum value of fN
36 TString fClassName; ///< Name of the class of the objets in the ClonesArray
37 TBranch *fBranchCount; ///< Branch with clones count
38
39 friend class TTreeCloner;
40
41 void Init(TTree *tree, TBranch *parent, const char *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1, Int_t splitlevel=1);
43
44public:
46 TBranchClones(TTree *tree, const char *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1, Int_t splitlevel=1);
47 TBranchClones(TBranch *parent, const char *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1, Int_t splitlevel=1);
48 virtual ~TBranchClones();
49
50 virtual void Browse(TBrowser *b);
51 virtual const char* GetClassName() const { return fClassName; }
52 virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0);
53 virtual Int_t GetN() const {return fN;}
54 TClonesArray *GetList() const {return fList;}
55 Bool_t IsFolder() const {return kTRUE;}
56 virtual void Print(Option_t *option="") const;
57 virtual void Reset(Option_t *option="");
58 virtual void ResetAfterMerge(TFileMergeInfo *);
59 virtual void SetAddress(void *add);
60 virtual void SetBasketSize(Int_t buffsize);
62 virtual void UpdateFile();
63
64private:
65
66 ClassDef(TBranchClones,2); //Branch in case of an array of clone objects
67};
68
69#endif
#define b(i)
Definition RSha256.hxx:100
int Int_t
Definition RtypesCore.h:45
long long Long64_t
Definition RtypesCore.h:80
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66
#define ClassDef(name, id)
Definition Rtypes.h:337
Option_t Option_t option
char name[80]
Definition TGX11.cxx:110
A helper class for managing IMT work during TTree:Fill operations.
A Branch for the case of an array of clone objects.
virtual const char * GetClassName() const
Return the name of the user class whose content is stored in this branch, if any.
TClonesArray * fList
! Pointer to the clonesarray
TBranch * fBranchCount
Branch with clones count.
Int_t fN
! Number of elements in ClonesArray
virtual void SetAddress(void *add)
Set address of this branch.
virtual void Browse(TBrowser *b)
Browse this branch.
virtual void UpdateFile()
Refresh the value of fDirectory (i.e.
Int_t fRead
! flag = 1 if clonesarray has been read
virtual ~TBranchClones()
Destructor.
virtual void ResetAfterMerge(TFileMergeInfo *)
Reset branch after a merge.
TString fClassName
Name of the class of the objets in the ClonesArray.
virtual Int_t GetN() const
TBranchClones()
Default and i/o constructor.
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all branches and return total number of bytes read.
virtual void SetBasketSize(Int_t buffsize)
Reset basket size for all sub-branches.
virtual void SetTree(TTree *tree)
void Init(TTree *tree, TBranch *parent, const char *name, void *clonesaddress, Int_t basketsize=32000, Int_t compress=-1, Int_t splitlevel=1)
Initialization (non-virtual, to be called from constructor).
TClonesArray * GetList() const
virtual Int_t FillImpl(ROOT::Internal::TBranchIMTHelper *)
Loop on all branches and fill Basket buffer.
virtual void Print(Option_t *option="") const
Print branch parameters.
Bool_t IsFolder() const
Return kTRUE if more than one leaf or browsables, kFALSE otherwise.
Int_t fNdataMax
! Maximum value of fN
virtual void Reset(Option_t *option="")
Reset branch.
A TTree is a list of TBranches.
Definition TBranch.h:89
virtual void SetTree(TTree *tree)
Definition TBranch.h:283
TTree * fTree
! Pointer to Tree header
Definition TBranch.h:140
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
An array of clone (identical) objects.
Basic string class.
Definition TString.h:139
Class implementing or helping the various TTree cloning method.
Definition TTreeCloner.h:31
A TTree represents a columnar dataset.
Definition TTree.h:79
Definition tree.py:1