#ifndef ROOT_TBranchClones #define ROOT_TBranchClones //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TBranchClones // // // // A Branch for the case of an array of clone objects. // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TBranch //*KEEP,TBranch,T=C++. #include "TBranch.h" //*KEND. #endif #ifndef ROOT_TClonesArray //*KEEP,TClonesArray,T=C++. #include "TClonesArray.h" //*KEND. #endif class TBranchClones : public TBranch { protected: TClonesArray *fList; //Pointer to the clonesarray Int_t fRead; //flag = 1 if clonesarray has been read Int_t fN; //Number of elements in ClonesArray Int_t fNdataMax; //Maximum value of fN TString fClassName; //name of the class of the objets in the ClonesArray TBranch *fBranchCount; //Branch with clones count public: TBranchClones(); TBranchClones(const Text_t *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1); virtual ~TBranchClones(); virtual void Browse(TBrowser *b); virtual Int_t Fill(); virtual Int_t GetEntry(Int_t entry=0); virtual Int_t GetN() {return fN;} TClonesArray *GetList() {return fList;} Bool_t IsFolder() {return kTRUE;} virtual void Print(Option_t *option=""); virtual void Reset(Option_t *option=""); virtual void SetAddress(void *add); virtual void SetBasketSize(Int_t buffsize); ClassDef(TBranchClones,1) //Branch in case of an array of clone objects }; #endif