Hi
Kris and I noticed that with the new BrOutputTreeModule it is not possible
to "downcast" things in a tree.
The actual problem is that I want to add the table that contains
BrTpcTrackCandidates ( : BrTrackCandidate : BrTrack : ....) to a tree
branch as BrTrack(s) since I don't need the residuals. In the old code I
believe this used to work, but now it doesn't i.e., adding a table of
BrTracks(s) gives some Streamer/class version conflicts, while adding the
full BrTpcTrackCandidate works. I believe this has to do with the part in
the event method that reads :
TClass* cl = gROOT->GetClass(fClassName);
TObject*o = arr->New(iE);
TBuffer b(TBuffer::kWrite);
TObject * obj = table->At(iE);
obj->Streamer(b);
b.SetReadMode();
b.SetBufferOffset();
o->Streamer(b);
PC comments :
What is cl used for ?
ie is the index looping over the datatable
arr is a TClonesArray of here BrTracks(s)
obj is of type BrTpcTrackCandidate here
So somehow I need to tell either obj or o when I stream that I want a
BrTrack instead of the full monty. Does anybody know a fix for this ?
The lazy way is to use the old, but as FV notes it is 100 times slower!
Or I could just copy everything, but that increases my filesize.
Cheers
Peter
--
:-) --------------------------- )-:
Peter H L Christiansen @ NBI
EMAIL : pchristi@nbi.dk
OFFICE : Tb1@NBI (353 25269)
HOME : Hjertensfrydsgade 3, st
PHONE : 33330493(New)/ 40840492(mob.)
:-D --------------------------- \-:
This archive was generated by hypermail 2b30 : Fri Sep 20 2002 - 07:05:43 EDT