Hi David, It is difficult to make a meaningful suggestion without looking at your code. I suggest adding delete fRaw; fRaw = 0; either before or after "delete fFile" Let me know Rene Brun On Thu, 3 Oct 2002, [iso-8859-1] Lindelöf David wrote: > At 18:38 02.10.2002 +0200, Rene Brun wrote: > >Note that you can alos delete the statement fFile->Close(); > >The statement "delete fFile" will automatically close the file > >if it is not yet closed. > > > >Also replace: > > THenaEvent *fRaw = new THenaEvent(); > >by > > THenaEvent *fRaw = 0; > > I have followed your suggestions and my code now runs like this: > > TFile *fFile = new TFile("somefilename"); > TTree *fTree = (TTree*) fFile->Get("EventsTree"); > TBranch *b_Events=fTree->GetBranch("Event"); > THenaEvent *fRaw = 0; //THenaEvent is a custom class written for > holding data > b_Events->SetAddress(&fRaw); > b_Events->GetEntry(anything); > delete fFile; > > And this works fine so far. However when I now try to read another file, > after executing the above macro, by typing > > fFile = new TFile("someotherfilename"); > fFile = new TFile("somefilename"); > b_Events=fTree->GetBranch("Event"); > fRaw=0; > b_Events->SetAddress(&fRaw); > > I have no problem calling > > b_Events->GetEntries() > > but calling > > b_Events->GetEntry(42) > > results again in a segmentation fault. > > Any suggestions? > > > David Lindelof > EP-Division > CERN > 1211 Geneva 23 > Switzerland >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:12 MET