1 #if !defined(__CINT__) || defined(__MAKECINT__)
3 #include "/home/alice/guernane/date/tmp/ionlx/event.h"
4 #include "/home/alice/guernane/date/tmp/ionlx/monitor.h"
7 //=======================================================================
9 // The following macro is used to read raw data from run#.raw files
10 // generated by DATE acquisition package. It was written using
11 // Guy Jacquet (IPN Lyon) monitoring code.
13 // 1-Feb-2000 Rachid GUERNANE, IPN Lyon, France
17 void MUONRawDigit (Int_t evNumber1 = 0, Int_t evNumber2 = 0, char* dataSource="/home/alice/guernane/test/run3403_Linux.raw")
20 // Dynamically link some shared libs
22 if (gClassTable->GetID("AliRun") < 0) {
23 gROOT->LoadMacro("loadlibs.C");
27 // Connect the Root Galice file containing Geometry, Kine and Hits
29 TFile* file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
30 if (file) file->Close();
31 file = new TFile("galice.root", "UPDATE");
33 // Get AliRun object from file or create it if not on file
36 gAlice = (AliRun*)file->Get("gAlice");
37 if (gAlice) printf("AliRun object found on file\n");
38 if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
41 AliMUONv2* MUON = (AliMUONv2*)gAlice->GetModule("MUON");
51 status = monitorSetDataSource(dataSource);
55 "Error in monitorSetDataSource: %s\n",
56 monitorSetDataSource(status));
59 status = monitorDeclareMp("Retrieve Raw Data");
63 "Error in monitorDeclareMp: %s\n",
64 monitorSetDataSource(status));
70 for (; iev <= evNumber2 && nev < evNumber2*20; nev++) {
77 struct eventStruct *rawevent;
79 status = monitorGetEventDynamic(&ptr);
83 "Error in monitorGetEventDynamic: %s\n",
84 monitorDecodeError(status));
88 rawevent = (struct eventStruct*)ptr;
90 ilen = (rawevent->eventHeader.size - rawevent->eventHeader.headLen)/4;
92 if (rawevent->eventHeader.type == PHYSICS_EVENT) {
93 iev = rawevent->eventHeader.nbInRun;
94 gAlice->GetEvent(iev-1);
95 printf("\nEvent No.: %d\n", iev);
96 printf("--------------------------------------------\n");
98 int* lptr = (int*)&rawevent->rawData[0];
100 MUON->GetRawDigits(iev-1, lptr, ilen);