> Hi rooters,
>
> I have a class AliClustersArray that contains a "TClonesArray *" pointer as
> datamenber.
> 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","AliClustersArray",
> &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