Modified macros to be compilable by ACLiC
[u/mrichter/AliRoot.git] / EVE / alice-macros / geom_gentle_transparentlight.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include <TFile.h>
3 #include <TGLViewer.h>
4 #include <TEveManager.h>
5 #include <TEveElement.h>
6 #include <TEveGeoShape.h>
7 #include <TEveGeoShapeExtract.h>
8
9 #include <EVE/EveBase/AliEveEventManager.h>
10 #include <EVE/EveBase/AliEveMultiView.h>
11 #endif
12
13
14 void geom_gentle_transparentlight(Bool_t register_as_global=kTRUE)
15 {
16   TEveGeoShape* gsre1;
17   TEveGeoShape* gsre2;
18   TEveGeoShape* gsre3;
19   
20 {
21   TFile f("$ALICE_ROOT/EVE/alice-data/gentle_geo.root");
22   TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
23   gsre1 = TEveGeoShape::ImportShapeExtract(gse);
24   f.Close();
25
26   if (register_as_global)
27   {
28     gEve->AddGlobalElement(gsre1);
29   }
30
31   // Fix visibility, color and transparency
32
33   gsre1->SetRnrSelf(kFALSE);
34   TEveElement::List_i i = gsre1->BeginChildren();
35
36 //ITS
37   {
38     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
39     lvl1->SetRnrSelf(kFALSE);
40     TEveElement::List_i j = lvl1->BeginChildren();
41
42     TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
43     lvl2->SetRnrSelf(kFALSE);
44     TEveElement::List_i k = lvl2->BeginChildren();
45
46     TEveGeoShape* its1 = (TEveGeoShape*) *k;
47     its1->SetRnrSelf(kTRUE);
48     its1->SetMainColor(1);
49     its1->SetMainTransparency(80);
50     k++;
51
52     TEveGeoShape* its2 = (TEveGeoShape*) *k;
53     its2->SetRnrSelf(kTRUE);
54     its2->SetMainColor(1);
55     its2->SetMainTransparency(80);
56     k++;
57
58     TEveGeoShape* its3 = (TEveGeoShape*) *k;
59     its3->SetRnrSelf(kTRUE);
60     its3->SetMainColor(1);
61     its3->SetMainTransparency(80);
62   }
63 //TPC
64
65   i++;
66   {
67     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
68     lvl1->SetRnrSelf(kFALSE);
69     TEveElement::List_i j = lvl1->BeginChildren();
70
71     TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
72     lvl2->SetRnrSelf(kFALSE);
73     TEveElement::List_i k = lvl2->BeginChildren();
74
75     TEveGeoShape* lvl3 = (TEveGeoShape*) *k;
76     lvl3->SetRnrSelf(kFALSE);
77     lvl3->SetMainColor(1);
78     lvl3->SetMainTransparency(80);
79     TEveElement::List_i l = lvl3->BeginChildren();
80
81     TEveGeoShape* lvl4 = (TEveGeoShape*) *l;
82     lvl4->SetRnrSelf(kFALSE);
83     TEveElement::List_i m = lvl4->BeginChildren();
84
85     TEveGeoShape* tpc1 = (TEveGeoShape*) *m;
86     tpc1->SetRnrSelf(kTRUE);
87     tpc1->SetMainColor(1);
88     tpc1->SetMainTransparency(80);
89     m++;
90
91     TEveGeoShape* tpc2 = (TEveGeoShape*) *m;
92     tpc2->SetRnrSelf(kTRUE);
93     tpc2->SetMainColor(1);
94     tpc2->SetMainTransparency(80);
95     m++;
96
97     TEveGeoShape* tpc3 = (TEveGeoShape*) *m;
98     tpc3->SetRnrSelf(kTRUE);
99     tpc3->SetMainColor(1);
100     tpc3->SetMainTransparency(80);
101     m++;
102   }
103 //TRD+TOF
104
105   i++;
106   {
107     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
108     lvl1->SetRnrSelf(kFALSE);
109     TEveElement::List_i j = lvl1->BeginChildren();
110
111     TEveGeoShape* trd1 = (TEveGeoShape*) *j;
112     trd1->SetRnrSelf(kTRUE);
113     trd1->SetMainColor(1);
114     trd1->SetMainTransparency(80);
115     j++;
116
117     TEveGeoShape* tof1 = (TEveGeoShape*) *j;
118     tof1->SetRnrSelf(kTRUE);
119     tof1->SetMainColor(1);
120     tof1->SetMainTransparency(80);
121   }
122 //PHOS
123
124   i++;
125   {
126     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
127     lvl1->SetRnrSelf(kFALSE);
128
129     for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); ++j)
130       {
131         TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
132         lvl2->SetRnrSelf(kTRUE);
133         lvl2->SetMainColor(1);
134         lvl2->SetMainTransparency(80);
135       }
136   }
137 //HMPID
138
139   i++;
140   {
141     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
142     lvl1->SetRnrSelf(kFALSE);
143
144     for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); ++j)
145       {
146         TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
147         lvl2->SetRnrSelf(kTRUE);
148         lvl2->SetMainColor(1);
149         lvl2->SetMainTransparency(80);
150       }
151   }
152     
153 }
154
155 {
156   TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rphi_geo.root");
157   TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
158   gsre2 = TEveGeoShape::ImportShapeExtract(gse);
159   f.Close();
160
161   // Fix visibility, color and transparency
162
163   gsre2->SetRnrSelf(kFALSE);
164   TEveElement::List_i i = gsre2->BeginChildren();
165
166 //ITS
167   {
168     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
169     lvl1->SetRnrSelf(kFALSE);
170     TEveElement::List_i j = lvl1->BeginChildren();
171
172     TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
173     lvl2->SetRnrSelf(kFALSE);
174     TEveElement::List_i k = lvl2->BeginChildren();
175
176     TEveGeoShape* its1 = (TEveGeoShape*) *k;
177     its1->SetRnrSelf(kTRUE);
178     its1->SetMainColor(1);
179     its1->SetMainTransparency(80);
180
181     k++;
182
183     TEveGeoShape* its2 = (TEveGeoShape*) *k;
184     its2->SetRnrSelf(kTRUE);
185     its2->SetMainColor(1);
186     its2->SetMainTransparency(80);
187     k++;
188
189     TEveGeoShape* its3 = (TEveGeoShape*) *k;
190     its3->SetRnrSelf(kTRUE);
191     its3->SetMainColor(1);
192     its3->SetMainTransparency(80);
193   }
194 //TPC
195
196   i++;
197   {
198   TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
199   lvl1->SetRnrSelf(kFALSE);
200
201   for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
202     {
203       TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
204       lvl2->SetRnrSelf(kTRUE);
205       lvl2->SetMainColor(1);
206       lvl2->SetMainTransparency(80);
207     }
208   }
209
210 //PHOS
211
212   i++;
213   i++;
214   {
215   TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
216   lvl1->SetRnrSelf(kFALSE);
217
218   for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
219     {
220       TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
221       lvl2->SetRnrSelf(kTRUE);
222       lvl2->SetMainColor(1);
223       lvl2->SetMainTransparency(80);
224
225     }
226   }
227
228 //HMPID
229
230   i++;
231   {
232   TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
233   lvl1->SetRnrSelf(kFALSE);
234
235   for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
236     {
237       TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
238       lvl2->SetRnrSelf(kTRUE);
239       lvl2->SetMainColor(1);
240       lvl2->SetMainTransparency(80);
241     }
242   }
243     
244 }
245
246 {
247   TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rhoz_geo.root");
248   TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
249   gsre3 = TEveGeoShape::ImportShapeExtract(gse);
250   f.Close();
251
252   // Fix visibility, color and transparency
253
254   gsre3->SetRnrSelf(kFALSE);
255   TEveElement::List_i i = gsre3->BeginChildren();
256
257 //ITS
258   {
259     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
260     lvl1->SetRnrSelf(kFALSE);
261     TEveElement::List_i j = lvl1->BeginChildren();
262
263     TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
264     lvl2->SetRnrSelf(kFALSE);
265     TEveElement::List_i k = lvl2->BeginChildren();
266
267     TEveGeoShape* its1 = (TEveGeoShape*) *k;
268     its1->SetRnrSelf(kTRUE);
269     its1->SetMainColor(1);
270     k++;
271
272     TEveGeoShape* its2 = (TEveGeoShape*) *k;
273     its2->SetRnrSelf(kTRUE);
274     its2->SetMainColor(1);
275     k++;
276
277     TEveGeoShape* its3 = (TEveGeoShape*) *k;
278     its3->SetRnrSelf(kTRUE);
279     its3->SetMainColor(1);
280   }
281 //TPC
282
283   i++;
284
285   {
286     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
287     lvl1->SetRnrSelf(kFALSE);
288
289     for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
290       {
291         TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
292         lvl2->SetRnrSelf(kTRUE);
293         lvl2->SetMainColor(1);
294         lvl2->SetMainTransparency(80);
295
296       }
297   }
298 //PHOS
299
300   i++;
301   i++;
302   {
303     TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
304     lvl1->SetRnrSelf(kFALSE);
305
306     for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
307       {
308         TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
309         lvl2->SetRnrSelf(kTRUE);
310         lvl2->SetMainColor(1);
311         lvl2->SetMainTransparency(80);
312       }
313   }
314
315 //HMPID
316
317   i++;
318   {
319   TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
320   lvl1->SetRnrSelf(kFALSE);
321
322   for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
323     {
324       TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
325       lvl2->SetRnrSelf(kTRUE);
326       lvl2->SetMainColor(1);
327       lvl2->SetMainTransparency(80);
328     }
329   }
330 }
331
332 //fix all the viewers
333
334   TEveElement* top = gEve->GetCurrentEvent();
335
336   AliEveMultiView *mv = AliEveMultiView::Instance();
337
338   mv->InitGeomGentle(gsre1, gsre2, gsre3, 0);
339
340   gEve->FullRedraw3D(kTRUE, kTRUE);
341
342 }