Hi Rene, Do you see a possibility to create this branch at a special "depth level" in the TTree, in other words, could you imagine having a function with such a signature : Branch(TCollection *list, Int_t bufsize=32000, Int_t splitlevel=99, TBranch* topbranch) like this on could put the automatic branch created for the collection as sub-branch of "topbranch" and not on top-level (which will be a default). cheers, Denis Rene Brun wrote: > Hi Denis, > > A TObjArray cannot be split by definition because its items may be > any TObject*. > If all the objects in the TObjArray are of the same class, then replace > your TObjArray by a TClonesArray and you will get an automatic split. > > Note that the version 3.03 contains a new TBranch constructor: > Branch(TCollection *list, Int_t bufsize=32000, Int_t splitlevel=99) > that creates one sub-branch for each element in the collection. > > Rene Brun > > On Tue, 5 Mar 2002, Denis Bertini wrote: > > > > > Hi rooters, > > > > I have a class Event that contains a "TObjArray *" pointer as datamenber. > > so like > > > > class Event : public TObject{ > > // ... > > TObjArray *myArray; // > > //... > > }; > > > > I put this Class Event in a top-level branch of TTree so: > > > > Event *event = new Event(); > > TBranch *br= tree->Branch("Event.","MyEvent", > > &event1,4000,99); > > > > so with splitlevel = 99 (max) > > > > I see that the TObjArray is not splitted, is there any reasons for that? > > I know that in the new ROOT version there is a special "Branch" method > > for TObjArray 's and that you have to create this splitting by hand, but > > everything > > is created a new "top-level" branches which is not suitable in my case. > > Any hints? > > Denis > > > > > > > > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:44 MET