2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 void its_raw(const char *input = "rawdata.root",
13 Bool_t accumulate = kFALSE)
15 if (gSystem->AccessPathName(input, kReadPermission))
17 Error("its_raw", "file '%s' not found.", input);
21 AliCDBManager::Instance()->SetRun(0);
22 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
24 AliRawReader *rawReader = NULL;
25 TString fileName(input);
26 if (fileName.EndsWith("/")) {
27 rawReader = new AliRawReaderFile(fileName);
28 } else if (fileName.EndsWith(".root")) {
29 rawReader = new AliRawReaderRoot(fileName);
30 } else if (!fileName.IsNull()) {
31 rawReader = new AliRawReaderDate(fileName);
34 AliEveITSDigitsInfo* di = new AliEveITSDigitsInfo();
36 if (accumulate) AliLog::SetGlobalLogLevel(AliLog::kError);
39 if (ev % 100 == 0) printf("AliEveEventManager: %d\n", ev);
40 if (rawReader->NextEvent() == kFALSE)
42 Error("its_raw", "Reading event %d failed (requested event %d).", ev, event);
48 if (accumulate) di->ReadRaw(rawReader,mode);
49 } while (++ev < event);
51 if ( ! accumulate) di->ReadRaw(rawReader,mode);
57 gStyle->SetPalette(1, 0);
59 gEve->DisableRedraw();
62 TString bsSector="Sector";
64 TString bsStave="Stave";
66 TString bsLadder="Ladder";
69 Int_t nsec, nstave, nlad, nMod;
72 TEveElementList* l = new TEveElementList("SPD0");
73 l->SetTitle("SPDs' first layer");
74 l->SetMainColor((Color_t)2);
76 for (nsec=0; nsec<10; nsec++) {
79 TEveElementList* relSector = new TEveElementList(sSector.Data());
80 relSector->SetMainColor((Color_t)2);
81 gEve->AddElement(relSector, l);
82 for (nstave=0; nstave<2; nstave++){
85 TEveElementList* relStave = new TEveElementList(sStave.Data());
86 relStave->SetMainColor((Color_t)2);
87 gEve->AddElement(relStave, relSector);
88 for (nMod=0; nMod<4; nMod++)
90 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
92 AliEveITSModule* m = new AliEveITSModule(i, di);
93 gEve->AddElement(m, relStave);
104 TEveElementList* l = new TEveElementList("SPD1");
105 l->SetTitle("SPDs' second layer");
106 l->SetMainColor((Color_t)2);
109 for (nsec=0; nsec<10; nsec++) {
112 TEveElementList* relSector = new TEveElementList(sSector.Data());
113 relSector->SetMainColor((Color_t)2);
114 gEve->AddElement(relSector, l);
115 for (nstave=0; nstave<4; nstave++){
118 TEveElementList* relStave = new TEveElementList(sStave.Data());
119 relStave->SetMainColor((Color_t)2);
120 gEve->AddElement(relStave, relSector);
121 for (nMod=0; nMod<4; nMod++)
123 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
125 AliEveITSModule* m = new AliEveITSModule(i, di);
126 gEve->AddElement(m, relStave);
137 TEveElementList* l = new TEveElementList("SDD2");
138 l->SetTitle("SDDs' first layer");
139 l->SetMainColor((Color_t)3);
142 for (nlad=0; nlad<14; nlad++) {
145 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
146 relLadder->SetMainColor((Color_t)3);
147 gEve->AddElement(relLadder, l);
148 for (nMod=0; nMod<6; nMod++) {
149 AliEveITSModule* m = new AliEveITSModule(i++, di);
150 gEve->AddElement(m, relLadder);
158 TEveElementList* l = new TEveElementList("SDD3");
159 l->SetTitle("SDDs' second layer");
160 l->SetMainColor((Color_t)3);
162 for (nlad=0; nlad<22; nlad++) {
165 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
166 relLadder->SetMainColor((Color_t)3);
167 gEve->AddElement(relLadder, l);
168 for (nMod=0; nMod<8; nMod++) {
169 AliEveITSModule* m = new AliEveITSModule(i++, di);
170 gEve->AddElement(m, relLadder);
178 TEveElementList* l = new TEveElementList("SSD4");
179 l->SetTitle("SSDs' first layer");
180 l->SetMainColor((Color_t)4);
182 for (nlad=0; nlad<34; nlad++) {
185 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
186 relLadder->SetMainColor((Color_t)4);
187 gEve->AddElement(relLadder, l);
188 for (nMod=0; nMod<22; nMod++) {
189 AliEveITSModule* m = new AliEveITSModule(i++, di);
190 gEve->AddElement(m, relLadder);
198 TEveElementList* l = new TEveElementList("SSD5");
199 l->SetTitle("SSDs' second layer");
200 l->SetMainColor((Color_t)4);
202 for (nlad=0; nlad<38; nlad++) {
205 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
206 relLadder->SetMainColor((Color_t)4);
207 gEve->AddElement(relLadder, l);
208 for (nMod=0; nMod<25; nMod++) {
209 AliEveITSModule* m = new AliEveITSModule(i++, di);
210 gEve->AddElement(m, relLadder);
217 gEve->EnableRedraw();