Hi Frank,
In the CVS version today, I have added the possibility to detect
if the file has been recovered or not
TFile myfile("myfile.root");
if (file.IsZombie()) {
//something very wrong, cannot use this file, exit
}
if (myfile.TestBit(TFile::kRecovered)) {
//the Recover procedure has been run when opening the file
//and the Recover was successful
} else {
all OK
}
Rene Brun
On Fri, 11 Oct 2002, Frank Laue wrote:
> Hi Rene:
>
>
> But if ROOT would recover the file, the file would not be a zombie.
> How do I realized whether the file was recovered or opened without
> problems in the first place.
>
> Thanks.
>
> Cheers,
> Frank
>
> > -----Original Message-----
> > From: Rene Brun [mailto:brun@pcbrun.cern.ch]
> > Sent: Thursday, October 10, 2002 4:22 PM
> > To: Frank Laue
> > Cc: roottalk@pcroot.cern.ch
> > Subject: Re: [ROOT] How to recognize corrupted files ?
> >
> >
> > Hi Frank,
> >
> > You can do:
> >
> > TFile *file = TFile::Open(...);
> > if (file->IsZombie()) {
> > //file is overwritten, invalid, etc
> > }
> >
> > Rene Brun
> >
> > On Thu, 10 Oct 2002, Frank Laue wrote:
> >
> > > Hi:
> > >
> > > When opening a corrupted file (maybe not closed properly) with
> > > TFile::Open(...) ROOT does open the file and prints some
> > warnings on the
> > > screen. Is there any other means to identify that files as bad.
> > >
> > > Is there a return value or a flag that one can easily check on in a
> > > program ?
> > >
> > > Thanks.
> > >
> > > Cheers,
> > > Frank
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: owner-roottalk@pcroot.cern.ch
> > > > [mailto:owner-roottalk@pcroot.cern.ch] On Behalf Of Rene Brun
> > > > Sent: Thursday, October 10, 2002 11:16 AM
> > > > To: Avdhesh Chandra
> > > > Cc: roottalk@pcroot.cern.ch
> > > > Subject: Re: [ROOT] graph array problem
> > > >
> > > >
> > > > Hi,
> > > >
> > > > I do not understand if what you try to do is:
> > > > - an array of TGraphErrors
> > > > - or one single TGraphErrors build with an array of points
> > > > and associated errors.
> > > >
> > > > Please clarify by sending a complete running script.
> > > >
> > > > Rene Brun
> > > >
> > > >
> > > >
> > > > On Thu, 10 Oct 2002, Avdhesh Chandra wrote:
> > > >
> > > > >
> > > > > Hi,
> > > > > I am trying to make graph array, so i can use it.
> > > > >
> > > > > programe looks like(where i am defining graph array)
> > > > >
> > > > > for(int i = 0 ; i < nent ; i++)
> > > > > {
> > > > > cout << " Col[i] " << Col[i] << endl;
> > > > > gr[i] = new TGraphErrors(n,Z,Ent[i],Ez,Eent[i]);
> > > > > gr[i]->SetMarkerColor(Col[i]);
> > > > > gr[i]->SetMarkerStyle(Sty[i]);
> > > > > }
> > > > >
> > > > > when i am running my code i am getting following message
> > > > >
> > > > > ---------------------------------------------------
> > > > > Col[i] 7
> > > > > Col[i] 6
> > > > > Error: Array index out of range gr -> [1] valid upto
> > gr FILE:test.C
> > > > > LINE:156
> > > > >
> > > > > *** Break *** segmentation violation
> > > > > ---------------------------------------------------
> > > > >
> > > > >
> > > > > Which shows that when it goes secound time in the loop it
> > > > having problem.
> > > > > Please let me know what i am doing worng.
> > > > >
> > > > > Thanks for any help
> > > > > Avdhesh
> > > > >
> > > >
> > >
> >
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:14 MET