]>
Commit | Line | Data |
---|---|---|
84aff7a4 | 1 | // $Id$ |
d810d0de | 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 | **************************************************************************/ |
5a5a1232 | 9 | |
32e219c2 | 10 | #ifndef __CINT_ |
11 | #include <list> | |
12 | #include <string> | |
13 | #endif | |
14 | ||
94986496 | 15 | void alieve_init(const Text_t* path = ".", Int_t event=0, |
c2c4b7a2 | 16 | const Text_t* esdfile = 0, |
17 | const Text_t* rawfile = 0, | |
18 | const Text_t* cdburi = 0, | |
19 | Bool_t assert_runloader = kFALSE, | |
20 | Bool_t assert_esd = kFALSE, | |
21 | Bool_t assert_raw = kFALSE) | |
5a5a1232 | 22 | { |
32e219c2 | 23 | Info("alieve_init", "Adding standard macros."); |
84aff7a4 | 24 | TString hack = gSystem->pwd(); // Problem with TGFileBrowser cding |
008138bd | 25 | alieve_init_import_macros(); |
84aff7a4 | 26 | gSystem->cd(hack); |
008138bd | 27 | |
bb3715b9 | 28 | // Temporarily assert default vizdb |
29 | TEveUtil::AssertMacro("VizDB_scan.C"); | |
51346b82 | 30 | |
008138bd | 31 | gSystem->ProcessEvents(); |
32 | ||
c2c4b7a2 | 33 | AliEveEventManager::SetESDFileName(esdfile); |
34 | AliEveEventManager::SetRawFileName(rawfile); | |
35 | AliEveEventManager::SetAssertElements(assert_runloader, assert_esd, assert_raw); | |
36 | AliEveEventManager::SetCdbUri(cdburi); | |
37 | ||
008138bd | 38 | // Open event |
c2c4b7a2 | 39 | if(path != 0) |
40 | { | |
73267f50 | 41 | Info("alieve_init", "Opening event %d from '%s' ...", event, path); |
a15e6d7d | 42 | gAliEveEvent = new AliEveEventManager(path, event); |
a15e6d7d | 43 | gEve->AddEvent(gAliEveEvent); |
008138bd | 44 | } |
45 | } | |
46 | ||
47 | void alieve_init_import_macros() | |
48 | { | |
49 | // Put macros in the list of browsables, add a macro browser to | |
50 | // top-level GUI. | |
32e219c2 | 51 | |
81515106 | 52 | TString macdir("$(ALICE_ROOT)/EVE/alice-macros"); |
5a5a1232 | 53 | gSystem->ExpandPathName(macdir); |
54 | ||
84aff7a4 | 55 | TFolder* f = gEve->GetMacroFolder(); |
5a5a1232 | 56 | void* dirhandle = gSystem->OpenDirectory(macdir.Data()); |
57 | if(dirhandle != 0) { | |
58 | char* filename; | |
59 | TPRegexp re("\.C$"); | |
84aff7a4 | 60 | std::list<string> names; |
5a5a1232 | 61 | while((filename = gSystem->GetDirEntry(dirhandle)) != 0) { |
62 | if(re.Match(filename)) { | |
32e219c2 | 63 | names.push_back(filename); |
5a5a1232 | 64 | } |
65 | } | |
32e219c2 | 66 | names.sort(); |
67 | //PH The line below is replaced waiting for a fix in Root | |
68 | //PH which permits to use variable siza arguments in CINT | |
69 | //PH on some platforms (alphalinuxgcc, solariscc5, etc.) | |
84aff7a4 | 70 | // f->Add(new TEveMacro(Form("%s/%s", macdir.Data(), filename))); |
32e219c2 | 71 | char fullName[1000]; |
84aff7a4 | 72 | for (std::list<string>::iterator si=names.begin(); si!=names.end(); ++si) |
32e219c2 | 73 | { |
74 | sprintf(fullName,"%s/%s", macdir.Data(), si->c_str()); | |
84aff7a4 | 75 | f->Add(new TEveMacro(fullName)); |
32e219c2 | 76 | } |
5a5a1232 | 77 | } |
78 | gSystem->FreeDirectory(dirhandle); | |
79 | ||
5a5a1232 | 80 | gROOT->GetListOfBrowsables()->Add |
46a5da3d | 81 | // (new TSystemDirectory("alice-macros", macdir.Data())); // !!!! this spits blood, but then works |
5a5a1232 | 82 | (new TSystemDirectory(macdir.Data(), macdir.Data())); |
83 | ||
32e219c2 | 84 | { |
84aff7a4 | 85 | TEveBrowser *br = gEve->GetBrowser(); |
86 | TGFileBrowser *fb = 0; | |
32e219c2 | 87 | fb = br->GetFileBrowser(); |
008138bd | 88 | fb->GotoDir(macdir); |
32e219c2 | 89 | { |
90 | br->StartEmbedding(0); | |
91 | fb = br->MakeFileBrowser(); | |
92 | fb->BrowseObj(f); | |
93 | fb->Show(); | |
94 | br->StopEmbedding(); | |
95 | br->SetTabTitle("Macros", 0); | |
96 | br->SetTab(0, 0); | |
97 | } | |
84aff7a4 | 98 | } |
5a5a1232 | 99 | } |