@ingroup FMD_script
*/
void
-Compile(const char* script, Option_t* option="g")
+AddInclude(const char* what)
{
+ TString path(gSystem->GetIncludePath());
+ if (path.Contains(what)) return;
+ gSystem->AddIncludePath(what);
+}
+Bool_t
+Compile(const char* script=0, Option_t* option="g")
+{
+ if (!script || script[0] == '\0') {
+ std::cerr << "No script to compile!" << std::endl;
+ return kFALSE;
+ }
+ gSystem->Load("libANALYSIS.so");
+ gSystem->Load("libANALYSISalice.so");
gSystem->Load("libFMDutil.so");
- gSystem->SetIncludePath("-I`root-config --incdir` "
- "-I${ALICE_ROOT}/include "
- "-I${ALICE_ROOT}/FMD "
- "-I${ALICE_ROOT}/geant3/TGeant3");
- gROOT->ProcessLine(Form(".L %s+%s", script, option));
+ TString macroPath(gROOT->GetMacroPath());
+ macroPath.Append(":${ALICE_ROOT}/FMD/scripts");
+ gROOT->SetMacroPath(macroPath.Data());
+ AddInclude("-I`root-config --incdir`");
+ AddInclude("-I${ALICE_ROOT}");
+ AddInclude("-I${ALICE_ROOT}/include");
+ AddInclude("-I${ALICE_ROOT}/FMD");
+ AddInclude("-I${ALICE_ROOT}/geant3/TGeant3");
+ AddInclude("-I${ALICE_ROOT}/../master-src");
+ AddInclude("-I${ALICE_ROOT}/../master-src/FMD");
+ AddInclude("-I${ALICE_ROOT}/../master-src/RAW");
+ Long_t ret = gROOT->ProcessLine(Form(".L %s+%s", script, option));
+ return ret == 0;
}
//____________________________________________________________________