]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/its_common_foos.C
Merge of EVE-dev branch.
[u/mrichter/AliRoot.git] / EVE / alice-macros / its_common_foos.C
1 // $Id: its_raw.C 24929 2008-04-04 13:51:43Z mtadel $
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
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
10 void its_common_foos()
11 {}
12
13 void its_display_raw_digits(AliEveITSDigitsInfo* di, Int_t mode)
14 {
15   TString sSector;
16   TString bsSector="Sector";
17   TString sStave;
18   TString bsStave="Stave";
19   TString sLadder;
20   TString bsLadder="Ladder";
21
22   Int_t i=0;
23   Int_t nsec, nstave, nlad, nMod;
24
25   gEve->DisableRedraw();
26
27   if (mode & 1) {
28     TEveElementList* l = new TEveElementList("SPD0");
29     l->SetTitle("SPDs' first layer");
30     l->SetMainColor(2);
31     gEve->AddElement(l);
32     for (nsec=0; nsec<10; nsec++) {
33       sSector  = bsSector;
34       sSector += nsec;
35       TEveElementList* relSector = new TEveElementList(sSector.Data());
36       relSector->SetMainColor(2);
37       gEve->AddElement(relSector, l);
38       for (nstave=0; nstave<2; nstave++){
39         sStave  = bsStave;
40         sStave += nstave;
41         TEveElementList* relStave = new TEveElementList(sStave.Data());
42         relStave->SetMainColor(2);
43         gEve->AddElement(relStave, relSector);
44         for (nMod=0; nMod<4; nMod++)
45         {
46           if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
47           {
48             AliEveITSModule* m = new AliEveITSModule(i, di);
49             gEve->AddElement(m, relStave);
50           }
51           ++i;
52         }
53       }
54     }
55   } else {
56     i += 10*2*4;
57   }
58
59   if (mode & 2) {
60     TEveElementList* l = new TEveElementList("SPD1");
61     l->SetTitle("SPDs' second layer");
62     l->SetMainColor(2);
63     gEve->AddElement(l);
64
65     for (nsec=0; nsec<10; nsec++) {
66       sSector  = bsSector;
67       sSector += nsec;
68       TEveElementList* relSector = new TEveElementList(sSector.Data());
69       relSector->SetMainColor(2);
70       gEve->AddElement(relSector, l);
71       for (nstave=0; nstave<4; nstave++){
72         sStave  = bsStave;
73         sStave += nstave;
74         TEveElementList* relStave = new TEveElementList(sStave.Data());
75         relStave->SetMainColor(2);
76         gEve->AddElement(relStave, relSector);
77         for (nMod=0; nMod<4; nMod++)
78         {
79           if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
80           {
81             AliEveITSModule* m = new AliEveITSModule(i, di);
82             gEve->AddElement(m, relStave);
83           }
84           ++i;
85         }
86       }
87     }
88   } else {
89     i += 10*4*4;
90   }
91
92   if (mode & 4) {
93     TEveElementList* l = new TEveElementList("SDD2");
94     l->SetTitle("SDDs' first layer");
95     l->SetMainColor(3);
96     gEve->AddElement(l);
97
98     for (nlad=0; nlad<14; nlad++) {
99       sLadder  = bsLadder;
100       sLadder += nlad;
101       TEveElementList* relLadder = new TEveElementList(sLadder.Data());
102       relLadder->SetMainColor(3);
103       gEve->AddElement(relLadder, l);
104       for (nMod=0; nMod<6; nMod++) {
105         AliEveITSModule* m = new AliEveITSModule(i++, di);
106         gEve->AddElement(m, relLadder);
107       }
108     }
109   } else {
110     i += 14*6;
111   }
112
113   if (mode & 8) {
114     TEveElementList* l = new TEveElementList("SDD3");
115     l->SetTitle("SDDs' second layer");
116     l->SetMainColor(3);
117     gEve->AddElement(l);
118     for (nlad=0; nlad<22; nlad++) {
119       sLadder  = bsLadder;
120       sLadder += nlad;
121       TEveElementList* relLadder = new TEveElementList(sLadder.Data());
122       relLadder->SetMainColor(3);
123       gEve->AddElement(relLadder, l);
124       for (nMod=0; nMod<8; nMod++) {
125         AliEveITSModule* m = new AliEveITSModule(i++, di);
126         gEve->AddElement(m, relLadder);
127       }
128     }
129   } else {
130     i += 22*8;
131   }
132
133   if (mode & 16) {
134     TEveElementList* l = new TEveElementList("SSD4");
135     l->SetTitle("SSDs' first layer");
136     l->SetMainColor(4);
137     gEve->AddElement(l);
138     for (nlad=0; nlad<34; nlad++) {
139       sLadder  = bsLadder;
140       sLadder += nlad;
141       TEveElementList* relLadder = new TEveElementList(sLadder.Data());
142       relLadder->SetMainColor(4);
143       gEve->AddElement(relLadder, l);
144       for (nMod=0; nMod<22; nMod++) {
145         AliEveITSModule* m = new AliEveITSModule(i++, di);
146         gEve->AddElement(m, relLadder);
147       }
148     }
149   } else {
150     i += 34*22;
151   }
152
153   if (mode & 32) {
154     TEveElementList* l = new TEveElementList("SSD5");
155     l->SetTitle("SSDs' second layer");
156     l->SetMainColor(4);
157     gEve->AddElement(l);
158     for (nlad=0; nlad<38; nlad++) {
159       sLadder  = bsLadder;
160       sLadder += nlad;
161       TEveElementList* relLadder = new TEveElementList(sLadder.Data());
162       relLadder->SetMainColor(4);
163       gEve->AddElement(relLadder, l);
164       for (nMod=0; nMod<25; nMod++) {
165         AliEveITSModule* m = new AliEveITSModule(i++, di);
166         gEve->AddElement(m, relLadder);
167       }
168     }
169   } else {
170     i += 38*25;
171   }
172
173   gEve->EnableRedraw();
174 }