I'm trying to figure out how to get my data structure stored in a TTree. It'd be nice if I could also easily plot all my variables using the TTree->Draw() method, but that part is negotiable. The problem is that my data structure amounts to a tree of objects and not all of them seem to make it into the TTree. I have a data sructure encoding an event that contains a TClonesArray of tracks. The Track object in turn includes at TClonesArray of detectors that were involved in constructing the track. The TTree seems to get the first TClonesArray (of tracks) but does not get the TClonesArray buried inside the Track object. Here are simplified versions of my objects: class Event : TObject { Int_t EventID; TClonesArray *track; } class Track : TObject { Float_t angle; TClonesArray *detector; } class Detector : TObject { Float_t x,y; } I pack them up w/ code that looks something like: Event *evt=new Event(); evt->track = new TClonesArray("Track", 10); new( (*track) [0]) Track(); ((Track *) (*track)[0])->detector = new TClonesArray("Detector", 10); new (((Track *) (*track)[0])->detector[0] ) Detector(); new (((Track *) (*track)[0])->detector[1] ) Detector(); new( (*track) [1]) Track(); ((Track *) (*track)[0])->detector = new TClonesArray("Detector", 10); new (((Track *) (*track)[1])->detector[0] ) Detector(); new (((Track *) (*track)[1])->detector[1] ) Detector(); Sorry, some of those lines are rather dense. I have wrapper functions so that my real code is much prettier. :-) Now I compile all this, run the code that generates all this information, and write it to a root file. Then I run root interactively and I can do things like: data->Draw("EventID"); data->Draw("track.angle"); but *not*: data->Draw("track.detector.x"); When I do data->MakeClass("foo"); and then inspect foo.C, I find a generated class with data structures like: class foo { Int_t EventID; Int_t track_; Int_t track_angle[10]; } I can't seem to get to my information about the detectors, if it's stored there at all. So, that's my story. I'm at a loss, I'll really appreciate any help at all. Thanks! Greg
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:29 MET