1 void display (const char *filename="galice.root",Int_t nevent=0) {
2 // Dynamically link some shared libs
3 if (gClassTable->GetID("AliRun") < 0) {
4 gROOT->LoadMacro("loadlibs.C");
11 // Connect the Root Galice file containing Geometry, Kine and Hits
13 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(filename);
15 cout<<"galice.root is already open \n";
18 if(!file)file=TFile::Open(filename);
21 // Get AliRun object from file or create it if not on file
23 gAlice = (AliRun*)file->Get("gAlice");
24 if (gAlice) printf("AliRun object found on file\n");
25 if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
28 // Create Event Display object
29 AliDisplay *edisplay = new AliDisplay(750);
31 // Display the requested event
32 gAlice->GetEvent(nevent);
33 edisplay->ShowNextEvent(0);
35 // Define the buttons to switch on/off the existing modules
37 TObjArray *moduli = gAlice->Modules();
38 Int_t nomod=moduli->GetEntriesFast();
40 for (Int_t j=0; j<nomod; j++){
41 modu=(AliModule*)moduli->At(j);
42 char *avoid=strstr("BODY MAG ABSO DIPO HALL FRAME SHIL PIPE",modu->GetName());
46 TDialogCanvas *dialog = new TDialogCanvas("Modules"," ",150,30*nodet);
47 Float_t yval1=1./nodet*0.9*0.05;
48 Float_t yval2=1./nodet*0.9*0.95;
53 for (Int_t j=0; j<nomod; j++){
54 modu=(AliModule*)moduli->At(j);
55 char *avoid=strstr(" BODY MAG ABSO DIPO HALL FRAME SHIL PIPE",modu->GetName());
57 sprintf(action,"swioff(\"%s\")",modu->GetName());
58 sprintf(title,"%s is on",modu->GetName());
59 sprintf(bname,"but%s",modu->GetName());
60 butto1 = new TButton(title,action,.05,yval1,.95,yval2);
61 butto1->SetName(bname);
62 butto1->SetFillColor(3);
69 void swioff(const char *dete){
70 gAlice->Display()->DisableDetector(dete);
71 gAlice->Display()->Pad()->Modified();
72 gAlice->Display()->Pad()->Update();
76 sprintf(bname,"but%s",dete);
77 TDialogCanvas *dia = (TDialogCanvas *)gROOT->FindObject("Modules");
78 TButton *bt = (TButton *)dia->FindObject(bname);
80 sprintf(action,"swion(\"%s\")",dete);
81 bt->SetMethod(action);
82 sprintf(title,"%s is off",dete);
87 void swion(const char *dete){
88 gAlice->Display()->EnableDetector(dete);
89 gAlice->Display()->Pad()->Modified();
90 gAlice->Display()->Pad()->Update();
91 TDialogCanvas *dia = (TDialogCanvas *)gROOT->FindObject("Modules");
95 sprintf(bname,"but%s",dete);
96 TButton *bt = (TButton *)dia->FindObject(bname);
98 sprintf(action,"swioff(\"%s\")",dete);
99 bt->SetMethod(action);
100 sprintf(title,"%s is on",dete);