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 printf("Mod %d, %d %d\n", i, di->HasData(i, det_id), di->IsDead(i, det_id));
27 if (!check_empty || di->HasData(i, det_id) || di->IsDead(i, det_id))
29 printf("Creating module: %d\n", i);
31 m = new AliEveITSScaledModule(i, di, si);
33 m = new AliEveITSModule(i, di);
35 // Before 5.26 ROOT did not draw frames of empty quad-sets.
36 // Bypass until we move there.
37 if (!di->HasData(i, det_id))
44 parent->AddElement(m);
50 void its_display_raw_digits(AliEveITSDigitsInfo* di, Int_t mode,
51 Bool_t check_empty = kTRUE,
52 Bool_t scaled_modules = kFALSE)
54 const TString bsSector = "Sector";
55 const TString bsStave = "Stave";
56 const TString bsLadder = "Ladder";
62 Long_t nsec, nstave, nlad, nMod;
64 gEve->DisableRedraw();
66 AliEveDigitScaleInfo* si = 0;
69 si = new AliEveDigitScaleInfo;
74 TEveElementList* l = new TEveElementList("SPD0");
75 l->SetTitle("SPDs' first layer");
76 l->SetMainColor(kRed);
79 for (nsec=0; nsec<10; nsec++)
81 TEveElementList* relSector = new TEveElementList(bsSector + nsec);
82 relSector->SetMainColor(kRed);
83 l->AddElement(relSector);
85 for (nstave=0; nstave<2; nstave++)
87 TEveElementList* relStave = new TEveElementList(bsStave + nstave);
88 relStave->SetMainColor(kRed);
89 relSector->AddElement(relStave);
91 for (nMod=0; nMod<4; ++nMod, ++i)
93 its_make_module(i, relStave, di, si, check_empty, scaled_modules);
105 TEveElementList* l = new TEveElementList("SPD1");
106 l->SetTitle("SPDs' second layer");
107 l->SetMainColor(kRed);
110 for (nsec=0; nsec<10; nsec++)
112 TEveElementList* relSector = new TEveElementList(bsSector + nsec);
113 relSector->SetMainColor(kRed);
114 l->AddElement(relSector);
116 for (nstave=0; nstave<4; nstave++)
118 TEveElementList* relStave = new TEveElementList(bsStave + nstave);
119 relStave->SetMainColor(kRed);
120 relSector->AddElement(relStave);
122 for (nMod=0; nMod<4; ++nMod, ++i)
124 its_make_module(i, relStave, di, si, check_empty, scaled_modules);
136 TEveElementList* l = new TEveElementList("SDD2");
137 l->SetTitle("SDDs' first layer");
138 l->SetMainColor(kBlue);
141 for (nlad=0; nlad<14; nlad++)
143 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
144 relLadder->SetMainColor(kBlue);
145 l->AddElement(relLadder);
146 for (nMod=0; nMod<6; ++nMod, ++i)
148 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
159 TEveElementList* l = new TEveElementList("SDD3");
160 l->SetTitle("SDDs' second layer");
161 l->SetMainColor(kBlue);
164 for (nlad=0; nlad<22; nlad++)
166 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
167 relLadder->SetMainColor(kBlue);
168 l->AddElement(relLadder);
169 for (nMod=0; nMod<8; ++nMod, ++i)
171 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
182 TEveElementList* l = new TEveElementList("SSD4");
183 l->SetTitle("SSDs' first layer");
184 l->SetMainColor(kGreen);
187 for (nlad=0; nlad<34; nlad++)
189 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
190 relLadder->SetMainColor(kGreen);
191 l->AddElement(relLadder);
192 for (nMod=0; nMod<22; ++nMod, ++i)
194 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
205 TEveElementList* l = new TEveElementList("SSD5");
206 l->SetTitle("SSDs' second layer");
207 l->SetMainColor(kGreen);
210 for (nlad=0; nlad<38; nlad++)
212 TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
213 relLadder->SetMainColor(kGreen);
214 l->AddElement(relLadder);
215 for (nMod=0; nMod<25; ++nMod, ++i)
217 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
226 gEve->EnableRedraw();