Hi Francesco, It is difficult to come with a diagnostic without a full copy of your code. One thing wrong for sure, You should remove the line# gROOT->Reset(); This statement should be used only in unnamed macros executing in the global scope. In your case, this has the effect to remove all the definitions in #include "ana_dali_mc.h" Rene Brun On Fri, 20 Sep 2002, Perfetto Francesco wrote: > Hi Rooters, > I have a problem with a MakeClass(). > I have do a chain of root files and to this chain I have applicate > MakeClass() method that crete me the two files analisi.C and analisi.h. > In the file analisi.C I have put my analisys program; this program recall > a function (that I have put out the function analisi::Loop() and is > important that it stay out) that use variables included in the chain, > the problem is that after load the program (.L analisi.C, analisi > mio),when use the loop function (mio.Loop() ) it say me : > root [0] .L ana_dali_mc.C > root [1] ana_dali_mc mio > root [2] mio.Loop(110) > Error: < Error: Symbol ntv is not defined in current scope > FILE:ana_dali_mc.C LINE:13 > Error: Binary operator oprand missing FILE:ana_dali_mc.C LINE:13 > *** Interpreter error recovered *** > root [3] > > Someone can tell me where i mistake ? > > Double_t delta_egamma() > { > const Double_t Mpich = 139.56995; > .. > > for(Int_t i=0;i<ntv;i++) // ntv = numero tracce da un vertice. > { > num_v = iv[i]; // iv[ntv] = indice di vertice. > ... > } > > #define ana_dali_mc_cxx > #include "ana_dali_mc.h" > > gROOT->Reset(); > > void ana_dali_mc::Loop(Int_t howMany) > { > ... > taglio = delta_egamma(); > tmc ->Fill(); > ... > tmc->Write(); > f1->Write(); > f1->Close(); > } > > Regards, > Francesco. >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:10 MET