Re: [ROOT] Repeatability of commands

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Oct 03 2002 - 16:08:35 MEST


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