]>
Commit | Line | Data |
---|---|---|
d810d0de | 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 * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
96d621f6 | 9 | |
10 | #include <EveBase/AliEveConfigManager.h> | |
11 | ||
12 | #include <TInterpreter.h> | |
13 | #include <TRint.h> | |
14 | #include <TROOT.h> | |
15 | #include <TPRegexp.h> | |
16 | #include <TSystem.h> | |
17 | #include <TError.h> | |
18 | #include <RVersion.h> | |
19 | ||
20 | #include <AliLog.h> | |
21 | ||
22 | #include <TEveUtil.h> | |
23 | #include <TEveManager.h> | |
24 | #include <TEveSelection.h> | |
5320a363 | 25 | #include <TEveBrowser.h> |
96d621f6 | 26 | #include <TEveViewer.h> |
5987168b | 27 | |
96d621f6 | 28 | #include <Getline.h> |
5987168b | 29 | |
30 | int main(int argc, char **argv) | |
31 | { | |
96d621f6 | 32 | static const TEveException kEH("alieve::main"); |
33 | ||
34 | if (gSystem->Getenv("ALICE_ROOT") == 0) | |
35 | { | |
36 | Error(kEH.Data(), "ALICE_ROOT is not defined, aborting."); | |
37 | gSystem->Exit(1); | |
38 | } | |
39 | ||
40 | TString evedir(Form("%s/EVE", gSystem->Getenv("ALICE_ROOT"))); | |
41 | ||
42 | if (gSystem->AccessPathName(evedir) == kTRUE) | |
43 | { | |
44 | Error(kEH.Data(), "Directory $ALICE_ROOT/EVE does not exist."); | |
45 | gSystem->Exit(1); | |
46 | } | |
47 | ||
48 | TString macPath(gROOT->GetMacroPath()); | |
49 | macPath += Form(":%s/macros", evedir.Data()); | |
50 | gInterpreter->AddIncludePath(evedir); | |
51 | if (gSystem->Getenv("ALICE_ROOT") != 0) | |
52 | { | |
53 | macPath += Form(":%s/alice-macros", evedir.Data()); | |
54 | gInterpreter->AddIncludePath(Form("%s/EVE", gSystem->Getenv("ALICE_ROOT"))); | |
55 | gInterpreter->AddIncludePath(Form("%s/PWG0", gSystem->Getenv("ALICE_ROOT"))); | |
56 | gInterpreter->AddIncludePath(Form("%s/include", gSystem->Getenv("ALICE_ROOT"))); | |
57 | gInterpreter->AddIncludePath(gSystem->Getenv("ALICE_ROOT")); | |
58 | } | |
59 | { | |
60 | // TabCom fails on double-colon in macro-path. | |
61 | // I fixed this in ROOT sometime ago ... could be removed | |
62 | // when we go to 5.26. | |
63 | TPMERegexp doubleColon(":{2,}", "og"); | |
64 | doubleColon.Substitute(macPath, ":"); | |
65 | } | |
66 | gROOT->SetMacroPath(macPath); | |
67 | ||
68 | // make sure logger is instantiated | |
69 | AliLog::GetRootLogger(); | |
70 | TRint *app = new TRint("App", &argc, argv); | |
71 | ||
72 | #if ROOT_VERSION_CODE >= ROOT_VERSION(5,25,4) || defined XXX_LATEST_ROOT | |
73 | // Waiting for update by Pawel. Now GED in ROOT is better again :) | |
74 | // Uncomment when fixed in AliEveGedXXX. | |
75 | // TEveGListTreeEditorFrame::SetEditorClass("AliEveGedEditor"); | |
76 | #endif | |
77 | ||
78 | TEveManager::Create(); | |
79 | gEve->GetDefaultViewer()->SetElementName("3D View"); | |
80 | gEve->GetSelection()->SetPickToSelect(TEveSelection::kPS_PableCompound); | |
81 | gEve->GetHighlight()->SetPickToSelect(TEveSelection::kPS_PableCompound); | |
82 | ||
83 | gEve->RegisterGeometryAlias("Default", Form("%s/alice-data/default_geo.root", evedir.Data())); | |
84 | ||
85 | try {AliEveConfigManager::InitializeMaster();} | |
86 | catch (TEveException exc) { | |
87 | AliErrorGeneral("alieve_main",exc.Data()); | |
88 | } | |
cf0bca8c | 89 | |
90 | app->Connect( "TEveBrowser", "CloseWindow()", "TRint", app, "Terminate(=0)"); | |
96d621f6 | 91 | |
92 | app->Run(kTRUE); | |
93 | ||
cf0bca8c | 94 | if (gEve && gEve->GetBrowser()) gEve->GetBrowser()->UnmapWindow(); |
96d621f6 | 95 | |
cf0bca8c | 96 | TEveManager::Terminate(); |
96d621f6 | 97 | app->Terminate(0); |
cf0bca8c | 98 | |
99 | if(gEve) {delete gEve; gEve = 0;} | |
100 | ||
101 | ||
96d621f6 | 102 | |
84aff7a4 | 103 | return 0; |
5987168b | 104 | } |