Hi Ondrej,
A TIter object can not be saved onto a file (hence the system you not even
try to look it up).
As a workaround (and a clarification of your code anyway, just modify your
class as follow:
TClonesArray *fParticles; // Array with particles
TIter *fpart_iter; //! caching the current ptr to
iterator
-----Original Message-----
From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On
Behalf Of 0ndrej Chvala
Sent: Wednesday, October 15, 2003 7:05 AM
To: roottalk@pcroot.cern.ch
Subject: [ROOT] cannot create object of class TIter
Dear rooters,
I have 2 classes, one describes an event and the other a track in that
event. The event contains a TClonesArray with the tracks and the iterrator:
TClonesArray *fParticles; // Array with particles
TIter *fpart_iter; // ptr to iterator
When an new event is created, the TClonesArray is created:
fParticles = new TClonesArray("TBigDSWriteParticle",1000);
fpart_iter = new TIter(fParticles);
The classes can be compiled, loaded into root runtime, but when I try to
make a branch, it complaints:
root [0] .L /cern/root/lib/libEG.so
root [1] .L /cern/root/lib/libPhysics.so
root [2] .L ../lib/libmicro.so
root [3] TFile *tfile= new TFile("/tmp/dsttest.root","RECREATE");
root [4] TTree *tft = new TTree("tft","");
root [5] tfile->SetCompressionLevel(2);
root [6] TBigDSWriteEvent *myevent=new TBigDSWriteEvent();
root [7] TBigDSWriteParticle *mypart;
root [8]
tft->Branch("TBigDSWriteEvent","TBigDSWriteEvent",&myevent,5000000,1);
Error in <TClass::New>: cannot create object of class TIter
The source codes are atached.
Any help is greatly welcomed, I already tried to use other container
objects (TList, TObjArray), asked whom I can around but I'm still stucked.
Thank you
0ndrej Chvala, NA49 << File: TBigDSWriteEvent.h >> << File:
TBigDSWriteParticle.h >> << File: TBigDSWriteEvent.cxx >> << File:
TBigDSWriteParticle.cxx >>
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET