]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/macros/alieve_init.C
Merge the following revisions between 29371 and 30342 from
[u/mrichter/AliRoot.git] / EVE / macros / alieve_init.C
CommitLineData
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
94986496 10void alieve_init(const Text_t* path = ".", Int_t event=0,
c2c4b7a2 11 const Text_t* esdfile = 0,
b3b7b8d3 12 const Text_t* aodfile = 0,
c2c4b7a2 13 const Text_t* rawfile = 0,
14 const Text_t* cdburi = 0,
15 Bool_t assert_runloader = kFALSE,
16 Bool_t assert_esd = kFALSE,
b3b7b8d3 17 Bool_t assert_aod = kFALSE,
c2c4b7a2 18 Bool_t assert_raw = kFALSE)
5a5a1232 19{
32e219c2 20 Info("alieve_init", "Adding standard macros.");
84aff7a4 21 TString hack = gSystem->pwd(); // Problem with TGFileBrowser cding
008138bd 22 alieve_init_import_macros();
84aff7a4 23 gSystem->cd(hack);
008138bd 24
68ca2fe7 25 alieve_init_basic_vizdb();
26 // Temporarily assert also default vizdb.
bb3715b9 27 TEveUtil::AssertMacro("VizDB_scan.C");
51346b82 28
008138bd 29 gSystem->ProcessEvents();
30
c2c4b7a2 31 AliEveEventManager::SetESDFileName(esdfile);
32 AliEveEventManager::SetRawFileName(rawfile);
c2c4b7a2 33 AliEveEventManager::SetCdbUri(cdburi);
b3b7b8d3 34 AliEveEventManager::SetAssertElements(assert_runloader, assert_esd,
35 assert_aod, assert_raw);
c2c4b7a2 36
008138bd 37 // Open event
4d62585e 38 if (path != 0)
c2c4b7a2 39 {
73267f50 40 Info("alieve_init", "Opening event %d from '%s' ...", event, path);
ba5d58f2 41 TString name("Event"); // CINT has trouble with direct "Event".
42 new AliEveEventManager(name, path, event);
4d62585e 43 gEve->AddEvent(AliEveEventManager::GetMaster());
008138bd 44 }
45}
46
47void 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());
4d62585e 57 if (dirhandle != 0)
58 {
5a5a1232 59 char* filename;
68ca2fe7 60 TPMERegexp re("\\.C$");
61 std::list<string> names; // This form understood by cint (fails with std::string).
4d62585e 62 while ((filename = gSystem->GetDirEntry(dirhandle)) != 0)
63 {
64 if (re.Match(filename))
32e219c2 65 names.push_back(filename);
5a5a1232 66 }
32e219c2 67 names.sort();
68 //PH The line below is replaced waiting for a fix in Root
69 //PH which permits to use variable siza arguments in CINT
70 //PH on some platforms (alphalinuxgcc, solariscc5, etc.)
84aff7a4 71 // f->Add(new TEveMacro(Form("%s/%s", macdir.Data(), filename)));
32e219c2 72 char fullName[1000];
84aff7a4 73 for (std::list<string>::iterator si=names.begin(); si!=names.end(); ++si)
32e219c2 74 {
75 sprintf(fullName,"%s/%s", macdir.Data(), si->c_str());
84aff7a4 76 f->Add(new TEveMacro(fullName));
32e219c2 77 }
5a5a1232 78 }
79 gSystem->FreeDirectory(dirhandle);
80
5a5a1232 81 gROOT->GetListOfBrowsables()->Add
46a5da3d 82 // (new TSystemDirectory("alice-macros", macdir.Data())); // !!!! this spits blood, but then works
5a5a1232 83 (new TSystemDirectory(macdir.Data(), macdir.Data()));
84
32e219c2 85 {
84aff7a4 86 TEveBrowser *br = gEve->GetBrowser();
87 TGFileBrowser *fb = 0;
32e219c2 88 fb = br->GetFileBrowser();
008138bd 89 fb->GotoDir(macdir);
32e219c2 90 {
91 br->StartEmbedding(0);
92 fb = br->MakeFileBrowser();
93 fb->BrowseObj(f);
94 fb->Show();
95 br->StopEmbedding();
96 br->SetTabTitle("Macros", 0);
97 br->SetTab(0, 0);
98 }
84aff7a4 99 }
5a5a1232 100}
68ca2fe7 101
102void alieve_init_basic_vizdb()
103{
104 TEvePointSet* ps;
105
106 ps = new TEvePointSet();
107 ps->SetMarkerColor(4);
108 ps->SetMarkerSize(0.2);
109 ps->SetMarkerStyle(2);
110 gEve->InsertVizDBEntry("Clusters", ps);
111}