00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TBranchClones
00013 #define ROOT_TBranchClones
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef ROOT_TBranch
00025 #include "TBranch.h"
00026 #endif
00027
00028 class TClonesArray;
00029 class TTreeCloner;
00030
00031 class TBranchClones : public TBranch {
00032
00033 protected:
00034 TClonesArray *fList;
00035 Int_t fRead;
00036 Int_t fN;
00037 Int_t fNdataMax;
00038 TString fClassName;
00039 TBranch *fBranchCount;
00040
00041 friend class TTreeCloner;
00042
00043 void Init(TTree *tree, TBranch *parent, const char *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1, Int_t splitlevel=1);
00044
00045 public:
00046 TBranchClones();
00047 TBranchClones(TTree *tree, const char *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1, Int_t splitlevel=1);
00048 TBranchClones(TBranch *parent, const char *name, void *clonesaddress, Int_t basketsize=32000,Int_t compress=-1, Int_t splitlevel=1);
00049 virtual ~TBranchClones();
00050
00051 virtual void Browse(TBrowser *b);
00052 virtual Int_t Fill();
00053 virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0);
00054 virtual Int_t GetN() const {return fN;}
00055 TClonesArray *GetList() const {return fList;}
00056 Bool_t IsFolder() const {return kTRUE;}
00057 virtual void Print(Option_t *option="") const;
00058 virtual void Reset(Option_t *option="");
00059 virtual void SetAddress(void *add);
00060 virtual void SetBasketSize(Int_t buffsize);
00061 virtual void UpdateFile();
00062
00063 ClassDef(TBranchClones,2);
00064 };
00065
00066 #endif