Hi rooters,
i am trying to run a macro (run.C) that calls an other macro (writing.C),
with command:
gROOT->ProcessLine(.x writing.C);
At command: .x run.C, ROOT executes all command line but does not execute
the line gROOT->ProcessLine(.x writing.C);
ROOT ends the main macro execution (run.C) without execute the macro
writing.C .
Only when you do the command to exit from ROOT (.q), ROOT executes the
macro writing.C .
I do not understand why.
I send you two macro, if you want try to run them.
Thank you in advance
Annalisa
*************************************************************************
* University of Bologna | | decaro@bo.infn.it *
* Physics Department | +39 051 20 91103 | *
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
* University of Salerno | | *
* Physics Sciences Department | +39 089 96 5359 | *
* (INFN of Napoli) | | *
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
* CERN - EP division | | decaro@mail.cern.ch *
* (Bld.29 R019) | +41 22 76 77767 | *
*************************************************************************
void writing() {
//cout<<" The strip number is "<<istrip<<endl;
//cout<<" The run number is "<<irun<<endl;
cout<<" The HV is "<<hv<<'\n';
cout<<" The rate is "<<rate<<'\n';
if (iscan==0) then {
cout<<" The scanning is in X direction (iscan = "<<iscan<<")"<<'\n';
}elseif (iscan==1) then {
cout<<" The scanning is in Z direction (iscan = "<<iscan<<")"<<'\n';
}
cout<<" The channel number is "<<nch<<'\n';
}
/* **************************************************** *
* This is the main program for test beam data analysis *
* **************************************************** */
#include <iostream.h>;
Float_t hv = 13;
Float_t rate = 450;
Int_t iscan = 2;
Int_t nch = 0;
void run() {
do {
cout<<"The scanning is in x (0) or in z (1) direction? ";
cin >> iscan;
} while (iscan>=2);
if (iscan==0) {
do {
cout<<"Give me the channel number (1,2,3,4,5), please ";
cin >> nch;
} while (nch==0||nch>5);
} elseif (iscan==1) {
do {
cout<<"Give me the channel number (1,2), please ";
cin >> nch;
} while (nch==0||nch>2);
}
//Open data file
TFile* file = new TFile("strip4_z2.root");
file->Print();
gROOT->ProcessLine(".x writing.C");
file->ls();
file->Close();
}
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:40 MET