]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/its_digits.C
From Raffaele: introduce new GUI levels for all ITS layers (sectors, ladders, staves).
[u/mrichter/AliRoot.git] / EVE / alice-macros / its_digits.C
1 // $Id$
2
3 // Load ITS digits.
4 // Argument mode is a bitwise or determining which layers to import:
5 //    1,  2 : SPD
6 //    4,  8 : SDD
7 //   16, 32 : SSD
8 // By default import all layers.
9
10 void its_digits(Int_t mode=63)
11 {
12   AliRunLoader* rl =  Alieve::Event::AssertRunLoader();
13   rl->LoadDigits("ITS");
14   TTree* dt = rl->GetTreeD("ITS", false);
15
16   Alieve::ITSDigitsInfo* di = new Alieve::ITSDigitsInfo();
17   di->SetTree(dt);
18   di->Dump();
19   AliITSgeom* g = di->fGeom;
20
21   gStyle->SetPalette(1, 0);
22
23   gReve->DisableRedraw();
24
25   TString sSector;
26   TString bsSector="Sector";
27   TString sStave;
28   TString bsStave="Stave";
29   TString sLadder;
30   TString bsLadder="Ladder";
31
32   Int_t i=0;
33   Int_t nsec, nstave, nlad, nMod;
34
35   if (mode & 1) {
36     Reve::RenderElementList* l = new Reve::RenderElementList("SPD0");
37     l->SetTitle("SPDs' first layer");
38     l->SetMainColor((Color_t)2);
39     gReve->AddRenderElement(l);
40     for(nsec=0; nsec<10; nsec++) {
41       sSector=bsSector;
42       sSector+=nsec;
43       Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
44       relSector->SetMainColor((Color_t)2);
45       gReve->AddRenderElement(l, relSector);
46       for(nstave=0; nstave<2; nstave++){
47         sStave=bsStave;
48         sStave += nstave;
49         Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
50         relStave->SetMainColor((Color_t)2);
51         gReve->AddRenderElement(relSector, relStave);
52         for(nMod=0; nMod<4; nMod++) {
53           Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)2);
54           gReve->AddRenderElement(relStave, m);
55         }
56       }
57     }
58   }
59
60   if (mode & 2) {
61     Reve::RenderElementList* l = new Reve::RenderElementList("SPD1");
62     l->SetTitle("SPDs' second layer");
63     l->SetMainColor((Color_t)2);
64     gReve->AddRenderElement(l);
65
66     for(nsec=0; nsec<10; nsec++) {
67       sSector=bsSector;
68       sSector+=nsec;
69       Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
70       relSector->SetMainColor((Color_t)2);
71       gReve->AddRenderElement(l, relSector);
72       for(nstave=0; nstave<4; nstave++){
73         sStave=bsStave;
74         sStave += nstave;
75         Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
76         relStave->SetMainColor((Color_t)2);
77         gReve->AddRenderElement(relSector, relStave);
78         for(nMod=0; nMod<4; nMod++) {
79           Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)2);
80           gReve->AddRenderElement(relStave, m);
81         }
82       }
83     }
84   }
85
86   if (mode & 4) {
87     Reve::RenderElementList* l = new Reve::RenderElementList("SDD2");
88     l->SetTitle("SDDs' first layer");
89     l->SetMainColor((Color_t)3);
90     gReve->AddRenderElement(l);
91
92     for(nlad=0; nlad<14; nlad++) {
93       sLadder=bsLadder;
94       sLadder+=nlad;
95       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
96       relLadder->SetMainColor((Color_t)3);
97       gReve->AddRenderElement(l, relLadder);
98       for(nMod=0; nMod<6; nMod++) {
99         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)3);
100         gReve->AddRenderElement(relLadder, m);
101       }
102     }
103   }
104
105   if (mode & 8) {
106     Reve::RenderElementList* l = new Reve::RenderElementList("SDD3");
107     l->SetTitle("SDDs' second layer");
108     l->SetMainColor((Color_t)3);
109     gReve->AddRenderElement(l);
110     for(nlad=0; nlad<22; nlad++) {
111       sLadder=bsLadder;
112       sLadder+=nlad;
113       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
114       relLadder->SetMainColor((Color_t)3);
115       gReve->AddRenderElement(l, relLadder);
116       for(nMod=0; nMod<8; nMod++) {
117         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)3);
118         gReve->AddRenderElement(relLadder, m);
119       }
120     }
121   }
122
123   if (mode & 16) {
124     Reve::RenderElementList* l = new Reve::RenderElementList("SSD4");
125     l->SetTitle("SSDs' first layer");
126     l->SetMainColor((Color_t)4);
127     gReve->AddRenderElement(l);
128     for(nlad=0; nlad<34; nlad++) {
129       sLadder=bsLadder;
130       sLadder+=nlad;
131       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
132       relLadder->SetMainColor((Color_t)4);
133       gReve->AddRenderElement(l, relLadder);
134       for(nMod=0; nMod<22; nMod++) {
135         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)4);
136         gReve->AddRenderElement(relLadder, m);
137       }
138     }
139   }
140
141   if (mode & 32) {
142     Reve::RenderElementList* l = new Reve::RenderElementList("SSD5");
143     l->SetTitle("SSDs' second layer");
144     l->SetMainColor((Color_t)4);
145     gReve->AddRenderElement(l);
146     for(nlad=0; nlad<38; nlad++) {
147       sLadder=bsLadder;
148       sLadder+=nlad;
149       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
150       relLadder->SetMainColor((Color_t)4);
151       gReve->AddRenderElement(l, relLadder);
152       for(nMod=0; nMod<25; nMod++) {
153         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)4);
154         gReve->AddRenderElement(relLadder, m);
155       }
156     }
157   }
158
159   gReve->EnableRedraw();
160 }