wingcc buffer problem, was: Re: [ROOT] problem with ROOT on windows

From: Axel Naumann (
Date: Wed Aug 04 2004 - 19:39:14 MEST


these are two independent problems, one with root win32gcc (that's my 
diagnosis at least), one with your code.

> The first of my problems is that the "Form()" method in lines 41, 42 seem to
> fail. When these lines 
> are included the macro seems to run but with a strange message about the
> ".root" file not found
> (look inside "test.res"). The output files are not even created.

Try the following:

     TString filename;
     filename.Form("%i_%i_RandomTracks%s.root", myTime->GetDate(), 
myTime->GetTime(), nsTYPE.Data());
     TString outFILE;
     outFile.Form("%i_%i_RandomTracks%s.dat", myTime->GetDate(), 
myTime->GetTime(), nsTYPE.Data());

That should work.

> When lines 41 and 42 are omitted the code runs and seemingly everything is
> ok. The produced ".dat"
> file looks ok but the ".root" is junk.

Once I move the entry/I (and the corresponding member of the struct) to 
the end and set the branch addr to &myResults it's working properly. 
Which tells me that there might be a size mismatch between the Int_t and 
the /I somewhere. Someone more knowledgable of the buffer / streamer 
code might be of help here...


This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET