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,
16 Bool_t check_empty, Bool_t scaled_modules)
18 AliEveITSModule* m = 0;
21 if (i > 239 && i < 500) det_id = 1;
22 else if (i >= 500) det_id = 2;
24 if (!check_empty || (di->GetDigits(i, det_id) && di->GetDigits(i, det_id)->GetEntriesFast() > 0))
27 m = new AliEveITSScaledModule(i, di, si);
29 m = new AliEveITSModule(i, di);
31 parent->AddElement(m);
37 void its_display_raw_digits(AliEveITSDigitsInfo* di, Int_t mode,
38 Bool_t check_empty = kTRUE,
39 Bool_t scaled_modules = kFALSE)
42 TString bsSector="Sector";
44 TString bsStave="Stave";
46 TString bsLadder="Ladder";
49 Int_t nsec, nstave, nlad, nMod;
51 gEve->DisableRedraw();
53 AliEveDigitScaleInfo* si = 0;
55 si = new AliEveDigitScaleInfo;
58 TEveElementList* l = new TEveElementList("SPD0");
59 l->SetTitle("SPDs' first layer");
60 l->SetMainColor(Color_t(kRed));
62 for (nsec=0; nsec<10; nsec++) {
65 TEveElementList* relSector = new TEveElementList(sSector.Data());
66 relSector->SetMainColor(Color_t(kRed));
67 gEve->AddElement(relSector, l);
68 for (nstave=0; nstave<2; nstave++){
71 TEveElementList* relStave = new TEveElementList(sStave.Data());
72 relStave->SetMainColor(Color_t(kRed));
73 gEve->AddElement(relStave, relSector);
74 for (nMod=0; nMod<4; ++nMod, ++i)
76 its_make_module(i, relStave, di, si, check_empty, scaled_modules);
85 TEveElementList* l = new TEveElementList("SPD1");
86 l->SetTitle("SPDs' second layer");
87 l->SetMainColor(Color_t(kRed));
90 for (nsec=0; nsec<10; nsec++) {
93 TEveElementList* relSector = new TEveElementList(sSector.Data());
94 relSector->SetMainColor(Color_t(kRed));
95 gEve->AddElement(relSector, l);
96 for (nstave=0; nstave<4; nstave++){
99 TEveElementList* relStave = new TEveElementList(sStave.Data());
100 relStave->SetMainColor(Color_t(kRed));
101 gEve->AddElement(relStave, relSector);
102 for (nMod=0; nMod<4; ++nMod, ++i)
104 its_make_module(i, relStave, di, si, check_empty, scaled_modules);
113 TEveElementList* l = new TEveElementList("SDD2");
114 l->SetTitle("SDDs' first layer");
115 l->SetMainColor(Color_t(kBlue));
118 for (nlad=0; nlad<14; nlad++) {
121 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
122 relLadder->SetMainColor(Color_t(kBlue));
123 gEve->AddElement(relLadder, l);
124 for (nMod=0; nMod<6; ++nMod, ++i)
126 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
134 TEveElementList* l = new TEveElementList("SDD3");
135 l->SetTitle("SDDs' second layer");
136 l->SetMainColor(Color_t(kBlue));
138 for (nlad=0; nlad<22; nlad++) {
141 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
142 relLadder->SetMainColor(Color_t(kBlue));
143 gEve->AddElement(relLadder, l);
144 for (nMod=0; nMod<8; ++nMod, ++i)
146 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
154 TEveElementList* l = new TEveElementList("SSD4");
155 l->SetTitle("SSDs' first layer");
156 l->SetMainColor(Color_t(kGreen));
158 for (nlad=0; nlad<34; nlad++) {
161 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
162 relLadder->SetMainColor(Color_t(kGreen));
163 gEve->AddElement(relLadder, l);
164 for (nMod=0; nMod<22; ++nMod, ++i)
166 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
174 TEveElementList* l = new TEveElementList("SSD5");
175 l->SetTitle("SSDs' second layer");
176 l->SetMainColor(Color_t(kGreen));
178 for (nlad=0; nlad<38; nlad++) {
181 TEveElementList* relLadder = new TEveElementList(sLadder.Data());
182 relLadder->SetMainColor(Color_t(kGreen));
183 gEve->AddElement(relLadder, l);
184 for (nMod=0; nMod<25; ++nMod, ++i)
186 its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
193 gEve->EnableRedraw();