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 **************************************************************************/
9 void its_raw(const char *input = "rawdata.root",
12 Bool_t accumulate = kFALSE)
14 if (gSystem->AccessPathName(input, kReadPermission))
16 Error("its_raw", "file '%s' not found.", input);
20 AliRawReader *rawReader = NULL;
21 TString fileName(input);
22 if (fileName.EndsWith("/")) {
23 rawReader = new AliRawReaderFile(fileName);
24 } else if (fileName.EndsWith(".root")) {
25 rawReader = new AliRawReaderRoot(fileName);
26 } else if (!fileName.IsNull()) {
27 rawReader = new AliRawReaderDate(fileName);
28 rawReader->SelectEvents(7);
31 AliEveITSDigitsInfo* di = new AliEveITSDigitsInfo();
33 if (accumulate) AliLog::SetGlobalLogLevel(AliLog::kError);
36 if (ev % 100 == 0) printf("AliEveEventManager: %d\n", ev);
37 if (rawReader->NextEvent() == kFALSE)
39 Error("its_raw", "Reading event %d failed (requested event %d).", ev, event);
45 if (accumulate) di->ReadRaw(rawReader,mode);
46 } while (++ev < event);
48 if ( ! accumulate) di->ReadRaw(rawReader,mode);
53 // Could initialize AliEveITSModule statics (?)
55 AliITSgeom* g = di->fGeom;
57 gStyle->SetPalette(1, 0);
58 // Initialize palettes (?)
60 gEve->DisableRedraw();
63 TString bsSector="Sector";
65 TString bsStave="Stave";
67 TString bsLadder="Ladder";
70 Int_t nsec, nstave, nlad, nMod;
73 TEveElementList* l = new TEveElementList("SPD0");
74 l->SetTitle("SPDs' first layer");
75 l->SetMainColor((Color_t)2);
77 for (nsec=0; nsec<10; nsec++) {
80 TEveElementList* relSector = new TEveElementList(sSector.Data());
81 relSector->SetMainColor((Color_t)2);
82 gEve->AddElement(relSector, l);
83 for (nstave=0; nstave<2; nstave++){
86 TEveElementList* relStave = new TEveElementList(sStave.Data());
87 relStave->SetMainColor((Color_t)2);
88 gEve->AddElement(relStave, relSector);
89 for (nMod=0; nMod<4; nMod++)
91 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
93 AliEveITSModule* m = new AliEveITSModule(i, di);
94 gEve->AddElement(m, relStave);
105 TEveElementList* l = new TEveElementList("SPD1");
106 l->SetTitle("SPDs' second layer");
107 l->SetMainColor((Color_t)2);
110 for (nsec=0; nsec<10; nsec++) {
113 TEveElementList* relSector = new TEveElementList(sSector.Data());
114 relSector->SetMainColor((Color_t)2);
115 gEve->AddElement(relSector, l);
116 for (nstave=0; nstave<4; nstave++){
119 TEveElementList* relStave = new TEveElementList(sStave.Data());
120 relStave->SetMainColor((Color_t)2);
121 gEve->AddElement(relStave, relSector);
122 for (nMod=0; nMod<4; nMod++)
124 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
126 AliEveITSModule* m = new AliEveITSModule(i, di);
127 gEve->AddElement(m, relStave);
138 TEveElementList* l = new TEveElementList("SDD2");
139 l->SetTitle("SDDs' first layer");
140 l->SetMainColor((Color_t)3);
143 for (nlad=0; nlad<14; nlad++) {
146 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
147 relLadder->SetMainColor((Color_t)3);
148 gEve->AddElement(relLadder, l);
149 for (nMod=0; nMod<6; nMod++) {
150 AliEveITSModule* m = new AliEveITSModule(i++, di);
151 gEve->AddElement(m, relLadder);
159 TEveElementList* l = new TEveElementList("SDD3");
160 l->SetTitle("SDDs' second layer");
161 l->SetMainColor((Color_t)3);
163 for (nlad=0; nlad<22; nlad++) {
166 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
167 relLadder->SetMainColor((Color_t)3);
168 gEve->AddElement(relLadder, l);
169 for (nMod=0; nMod<8; nMod++) {
170 AliEveITSModule* m = new AliEveITSModule(i++, di);
171 gEve->AddElement(m, relLadder);
179 TEveElementList* l = new TEveElementList("SSD4");
180 l->SetTitle("SSDs' first layer");
181 l->SetMainColor((Color_t)4);
183 for (nlad=0; nlad<34; nlad++) {
186 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
187 relLadder->SetMainColor((Color_t)4);
188 gEve->AddElement(relLadder, l);
189 for (nMod=0; nMod<22; nMod++) {
190 AliEveITSModule* m = new AliEveITSModule(i++, di);
191 gEve->AddElement(m, relLadder);
199 TEveElementList* l = new TEveElementList("SSD5");
200 l->SetTitle("SSDs' second layer");
201 l->SetMainColor((Color_t)4);
203 for (nlad=0; nlad<38; nlad++) {
206 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
207 relLadder->SetMainColor((Color_t)4);
208 gEve->AddElement(relLadder, l);
209 for (nMod=0; nMod<25; nMod++) {
210 AliEveITSModule* m = new AliEveITSModule(i++, di);
211 gEve->AddElement(m, relLadder);
218 gEve->EnableRedraw();