Hi rooters, > > I have a class AliClusters that contains a "TClonesArray *" pointer as > datamember. > so like > > class Event : public TObject{ > // ... > TClonesArray *myArray; // > //... > }; > > I put this Class AliClusters in a top-level branch of TTree so: > > > TBranch *br= tree->Branch("Clusters","AliClusters", > &event1,4000,99); > > so with splitlevel = 99 (max) > > I see that the TClonesArray is not splitted anymore, is there any reasons > for that? > Yes there is. In new version root version 3.03.02 was commented line which was > responsible for splitting/ Int_t TBranchElement::Unroll(const char *name, TClass *cltop, TClass *cl,Int_t basketsize, Int_t splitlevel, Int_t btype) { ...... ......if (elem->GetClassPointer() == TClonesArray::Class()) { . ....... //branch = new TBranchElement(branchname,info,jd,pointer,basketsize,splitlevel-1,btype); - this is old with spliting branch = new TBranchElement(branchname,info,jd,pointer,basketsize,0,btype); To speedup process of reading data (and to don't touch existing code) I need to have back old functionality , or to state you cannot rely on it. In such case I will have to rewrite code and I will do it slower. Is it realy very important to forbid automatic spliting of such objects ? (I don't have TClonesArray of TCloneArray) Best regards Marian
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:44 MET