e8350b48286be42dae237857af654ce3b80cdfd1
[u/mrichter/AliRoot.git] / EVE / alieve_main / alieve_main.cxx
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #include <TInterpreter.h>
11 #include <TRint.h>
12 #include <TROOT.h>
13 #include <TSystem.h>
14 #include <TError.h>
15
16 #include <TEveUtil.h>
17 #include <TEveManager.h>
18
19 #include <Getline.h>
20
21 int main(int argc, char **argv)
22 {
23   static const TEveException kEH("alieve::main");
24
25   if (gSystem->Getenv("REVESYS") == 0) {
26     if (gSystem->Getenv("ALICE_ROOT") != 0) {
27       Info(kEH.Data(), "setting REVESYS from ALICE_ROOT.");
28       gSystem->Setenv("REVESYS", Form("%s/EVE", gSystem->Getenv("ALICE_ROOT")));
29     } else {
30       Error(kEH.Data(), "REVESYS not defined, neither is ALICE_ROOT.");
31       gSystem->Exit(1);
32     }
33   }
34   if (gSystem->AccessPathName(gSystem->Getenv("REVESYS")) == kTRUE) {
35     Error(kEH.Data(), "REVESYS '%s' does not exist.", gSystem->Getenv("REVESYS"));
36     gSystem->Exit(1);
37   }
38
39   TString macPath(gROOT->GetMacroPath());
40   macPath += Form(":%s/macros", gSystem->Getenv("REVESYS"));
41   gInterpreter->AddIncludePath(gSystem->Getenv("REVESYS"));
42   if (gSystem->Getenv("ALICE_ROOT") != 0) {
43     macPath += Form(":%s/alice-macros", gSystem->Getenv("REVESYS"));
44     gInterpreter->AddIncludePath(Form("%s/EVE", gSystem->Getenv("ALICE_ROOT")));
45     gInterpreter->AddIncludePath(Form("%s/include", gSystem->Getenv("ALICE_ROOT")));
46     gInterpreter->AddIncludePath(gSystem->Getenv("ALICE_ROOT"));
47   }
48   gROOT->SetMacroPath(macPath);
49
50   TRint app("App", &argc, argv);
51
52   TEveManager::Create();
53
54   app.Run(); // Never returns.
55
56   return 0;
57 }