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);
56 // Could initialize AliEveITSModule statics (?)
58 AliITSgeom* g = di->fGeom;
60 gStyle->SetPalette(1, 0);
61 // Initialize palettes (?)
63 gEve->DisableRedraw();
66 TString bsSector="Sector";
68 TString bsStave="Stave";
70 TString bsLadder="Ladder";
73 Int_t nsec, nstave, nlad, nMod;
76 TEveElementList* l = new TEveElementList("SPD0");
77 l->SetTitle("SPDs' first layer");
78 l->SetMainColor((Color_t)2);
80 for (nsec=0; nsec<10; nsec++) {
83 TEveElementList* relSector = new TEveElementList(sSector.Data());
84 relSector->SetMainColor((Color_t)2);
85 gEve->AddElement(relSector, l);
86 for (nstave=0; nstave<2; nstave++){
89 TEveElementList* relStave = new TEveElementList(sStave.Data());
90 relStave->SetMainColor((Color_t)2);
91 gEve->AddElement(relStave, relSector);
92 for (nMod=0; nMod<4; nMod++)
94 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
96 AliEveITSModule* m = new AliEveITSModule(i, di);
97 gEve->AddElement(m, relStave);
108 TEveElementList* l = new TEveElementList("SPD1");
109 l->SetTitle("SPDs' second layer");
110 l->SetMainColor((Color_t)2);
113 for (nsec=0; nsec<10; nsec++) {
116 TEveElementList* relSector = new TEveElementList(sSector.Data());
117 relSector->SetMainColor((Color_t)2);
118 gEve->AddElement(relSector, l);
119 for (nstave=0; nstave<4; nstave++){
122 TEveElementList* relStave = new TEveElementList(sStave.Data());
123 relStave->SetMainColor((Color_t)2);
124 gEve->AddElement(relStave, relSector);
125 for (nMod=0; nMod<4; nMod++)
127 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
129 AliEveITSModule* m = new AliEveITSModule(i, di);
130 gEve->AddElement(m, relStave);
141 TEveElementList* l = new TEveElementList("SDD2");
142 l->SetTitle("SDDs' first layer");
143 l->SetMainColor((Color_t)3);
146 for (nlad=0; nlad<14; nlad++) {
149 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
150 relLadder->SetMainColor((Color_t)3);
151 gEve->AddElement(relLadder, l);
152 for (nMod=0; nMod<6; nMod++) {
153 AliEveITSModule* m = new AliEveITSModule(i++, di);
154 gEve->AddElement(m, relLadder);
162 TEveElementList* l = new TEveElementList("SDD3");
163 l->SetTitle("SDDs' second layer");
164 l->SetMainColor((Color_t)3);
166 for (nlad=0; nlad<22; nlad++) {
169 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
170 relLadder->SetMainColor((Color_t)3);
171 gEve->AddElement(relLadder, l);
172 for (nMod=0; nMod<8; nMod++) {
173 AliEveITSModule* m = new AliEveITSModule(i++, di);
174 gEve->AddElement(m, relLadder);
182 TEveElementList* l = new TEveElementList("SSD4");
183 l->SetTitle("SSDs' first layer");
184 l->SetMainColor((Color_t)4);
186 for (nlad=0; nlad<34; nlad++) {
189 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
190 relLadder->SetMainColor((Color_t)4);
191 gEve->AddElement(relLadder, l);
192 for (nMod=0; nMod<22; nMod++) {
193 AliEveITSModule* m = new AliEveITSModule(i++, di);
194 gEve->AddElement(m, relLadder);
202 TEveElementList* l = new TEveElementList("SSD5");
203 l->SetTitle("SSDs' second layer");
204 l->SetMainColor((Color_t)4);
206 for (nlad=0; nlad<38; nlad++) {
209 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
210 relLadder->SetMainColor((Color_t)4);
211 gEve->AddElement(relLadder, l);
212 for (nMod=0; nMod<25; nMod++) {
213 AliEveITSModule* m = new AliEveITSModule(i++, di);
214 gEve->AddElement(m, relLadder);
221 gEve->EnableRedraw();