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