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_common_foos()
13 AliEveITSModule* its_make_module(Int_t i, TEveElement* parent,
14 AliEveITSDigitsInfo* di,
15 AliEveDigitScaleInfo* si,
17 Bool_t scaled_modules)
19 AliEveITSModule* m = 0;
22 if (i > 239 && i < 500) det_id = 1;
23 else if (i >= 500) det_id = 2;
25 if (!check_empty || di->HasData(i, det_id) || di->IsDead(i, det_id))
28 m = new AliEveITSScaledModule(i, di, si);
30 m = new AliEveITSModule(i, di);
32 // Before 5.26 ROOT did not draw frames of empty quad-sets.
33 // Bypass until we move there.
34 if (!di->HasData(i, det_id))
41 parent->AddElement(m);
47 void its_display_raw_digits(AliEveITSDigitsInfo* di, Int_t mode,
48 Bool_t check_empty = kTRUE,
49 Bool_t scaled_modules = kFALSE)
51 const TString bsSector = "Sector";
52 const TString bsStave = "Stave";
53 const TString bsLadder = "Ladder";
59 Long_t nsec, nstave, nlad, nMod;
61 gEve->DisableRedraw();
63 AliEveDigitScaleInfo* si = 0;
66 si = new AliEveDigitScaleInfo;
71 TEveElementList* l = new TEveElementList("SPD0");
72 l->SetTitle("SPDs' first layer");
73 l->SetMainColor(kRed);
76 for (nsec=0; nsec<10; nsec++)
78 TEveElementList* relSector = new TEveElementList(bsSector + nsec);
79 relSector->SetMainColor(kRed);
80 l->AddElement(relSector);
82 for (nstave=0; nstave<2; nstave++)
84 TEveElementList* relStave = new TEveElementList(bsStave + nstave);
85 relStave->SetMainColor(kRed);
86 relSector->AddElement(relStave);
88 for (nMod=0; nMod<4; ++nMod, ++i)
90 its_make_module(i, relStave, di, si, check_empty, scaled_modules);
102 TEveElementList* l = new TEveElementList("SPD1");
103 l->SetTitle("SPDs' second layer");
104 l->SetMainColor(kRed);
107 for (nsec=0; nsec<10; nsec++)
109 TEveElementList* relSector = new TEveElementList(bsSector + nsec);
110 relSector->SetMainColor(kRed);
111 l->AddElement(relSector);
113 for (nstave=0; nstave<4; nstave++)
115 TEveElementList* relStave = new TEveElementList(bsStave + nstave);
116 relStave->SetMainColor(kRed);
117 relSector->AddElement(relStave);
119 for (nMod=0; nMod<4; ++nMod, ++i)
121 its_make_module(i, relStave, di, si, check_empty, scaled_modules);
133 TEveElementList* l = new TEveElementList("SDD2");
134 l->SetTitle("SDDs' first layer");
135 l->SetMainColor(kBlue);
138 for (nlad=0; nlad<14; nlad++)
140 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
141 relLadder->SetMainColor(kBlue);
142 l->AddElement(relLadder);
143 for (nMod=0; nMod<6; ++nMod, ++i)
145 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
156 TEveElementList* l = new TEveElementList("SDD3");
157 l->SetTitle("SDDs' second layer");
158 l->SetMainColor(kBlue);
161 for (nlad=0; nlad<22; nlad++)
163 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
164 relLadder->SetMainColor(kBlue);
165 l->AddElement(relLadder);
166 for (nMod=0; nMod<8; ++nMod, ++i)
168 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
179 TEveElementList* l = new TEveElementList("SSD4");
180 l->SetTitle("SSDs' first layer");
181 l->SetMainColor(kGreen);
184 for (nlad=0; nlad<34; nlad++)
186 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
187 relLadder->SetMainColor(kGreen);
188 l->AddElement(relLadder);
189 for (nMod=0; nMod<22; ++nMod, ++i)
191 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
202 TEveElementList* l = new TEveElementList("SSD5");
203 l->SetTitle("SSDs' second layer");
204 l->SetMainColor(kGreen);
207 for (nlad=0; nlad<38; nlad++)
209 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
210 relLadder->SetMainColor(kGreen);
211 l->AddElement(relLadder);
212 for (nMod=0; nMod<25; ++nMod, ++i)
214 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
223 gEve->EnableRedraw();