1 #if !defined(__CINT__) || defined(__MAKECINT__)
4 #include <TEveManager.h>
5 #include <TEveElement.h>
6 #include <TEveGeoShape.h>
7 #include <TEveGeoShapeExtract.h>
9 #include <EVE/EveBase/AliEveEventManager.h>
10 #include <EVE/EveBase/AliEveMultiView.h>
13 void geom_gentle_projector(Bool_t register_as_global=kTRUE)
20 TFile f("$ALICE_ROOT/EVE/alice-data/gentle_geo.root");
21 TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
22 gsre1 = TEveGeoShape::ImportShapeExtract(gse);
25 if (register_as_global)
27 gEve->AddGlobalElement(gsre1);
30 // Fix visibility, color and transparency
32 gsre1->SetRnrSelf(kFALSE);
33 TEveElement::List_i i = gsre1->BeginChildren();
37 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
38 lvl1->SetRnrSelf(kFALSE);
39 TEveElement::List_i j = lvl1->BeginChildren();
41 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
42 lvl2->SetRnrSelf(kFALSE);
43 TEveElement::List_i k = lvl2->BeginChildren();
45 TEveGeoShape* its1 = (TEveGeoShape*) *k;
46 its1->SetRnrSelf(kTRUE);
47 its1->SetMainColor(kBlue-6);
48 its1->SetMainTransparency(50);
51 TEveGeoShape* its2 = (TEveGeoShape*) *k;
52 its2->SetRnrSelf(kTRUE);
53 its2->SetMainTransparency(50);
56 TEveGeoShape* its3 = (TEveGeoShape*) *k;
57 its3->SetRnrSelf(kTRUE);
58 its1->SetMainColor(kGreen-10);
59 its3->SetMainTransparency(50);
65 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
66 lvl1->SetRnrSelf(kFALSE);
67 TEveElement::List_i j = lvl1->BeginChildren();
69 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
70 lvl2->SetRnrSelf(kFALSE);
71 TEveElement::List_i k = lvl2->BeginChildren();
73 TEveGeoShape* lvl3 = (TEveGeoShape*) *k;
74 lvl3->SetRnrSelf(kTRUE);
75 lvl3->SetMainTransparency(50);
76 TEveElement::List_i l = lvl3->BeginChildren();
78 TEveGeoShape* lvl4 = (TEveGeoShape*) *l;
79 lvl4->SetRnrSelf(kFALSE);
80 TEveElement::List_i m = lvl4->BeginChildren();
82 TEveGeoShape* tpc1 = (TEveGeoShape*) *m;
83 tpc1->SetRnrSelf(kTRUE);
84 tpc1->SetMainTransparency(50);
87 TEveGeoShape* tpc2 = (TEveGeoShape*) *m;
88 tpc2->SetMainColor(kGray);
89 tpc2->SetMainTransparency(50);
92 TEveGeoShape* tpc3 = (TEveGeoShape*) *m;
93 tpc3->SetRnrSelf(kTRUE);
94 tpc3->SetMainTransparency(50);
101 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
102 lvl1->SetRnrSelf(kFALSE);
103 TEveElement::List_i j = lvl1->BeginChildren();
105 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
106 lvl2->SetRnrSelf(kTRUE);
107 lvl2->SetMainTransparency(50);
110 TEveGeoShape* lvl3 = (TEveGeoShape*) *j;
111 lvl3->SetRnrSelf(kTRUE);
112 lvl3->SetMainTransparency(50);
119 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
120 lvl1->SetRnrSelf(kFALSE);
122 for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
124 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
125 lvl2->SetRnrSelf(kTRUE);
126 lvl2->SetMainTransparency(50);
133 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
134 lvl1->SetRnrSelf(kFALSE);
136 for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
138 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
139 lvl2->SetRnrSelf(kTRUE);
140 lvl2->SetMainTransparency(50);
146 TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rphi_geo.root");
147 TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
148 gsre2 = TEveGeoShape::ImportShapeExtract(gse);
151 // Fix visibility, color and transparency
153 gsre2->SetRnrSelf(kFALSE);
154 TEveElement::List_i i = gsre2->BeginChildren();
158 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
159 lvl1->SetRnrSelf(kFALSE);
160 TEveElement::List_i j = lvl1->BeginChildren();
162 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
163 lvl2->SetRnrSelf(kFALSE);
164 TEveElement::List_i k = lvl2->BeginChildren();
166 TEveGeoShape* its1 = (TEveGeoShape*) *k;
167 its1->SetRnrSelf(kTRUE);
168 its1->SetMainColor(kGreen-10);
169 its1->SetMainTransparency(70);
172 TEveGeoShape* its2 = (TEveGeoShape*) *k;
173 its2->SetRnrSelf(kTRUE);
174 its2->SetMainTransparency(70);
177 TEveGeoShape* its3 = (TEveGeoShape*) *k;
178 its3->SetRnrSelf(kTRUE);
179 its3->SetMainColor(kBlue-6);
180 its3->SetMainTransparency(70);
185 TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rhoz_geo.root");
186 TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
187 gsre3 = TEveGeoShape::ImportShapeExtract(gse);
190 gsre3->SetRnrSelf(kFALSE);
191 TEveElement::List_i i = gsre3->BeginChildren();
195 TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
196 lvl1->SetRnrSelf(kFALSE);
197 TEveElement::List_i j = lvl1->BeginChildren();
199 TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
200 lvl2->SetRnrSelf(kFALSE);
201 TEveElement::List_i k = lvl2->BeginChildren();
203 TEveGeoShape* its1 = (TEveGeoShape*) *k;
204 its1->SetRnrSelf(kTRUE);
205 its1->SetMainTransparency(70);
206 its1->SetMainColor(kGreen-10);
209 TEveGeoShape* its2 = (TEveGeoShape*) *k;
210 its2->SetRnrSelf(kTRUE);
211 its2->SetMainTransparency(70);
212 // its2->SetMainColor(kRed+2);
215 TEveGeoShape* its3 = (TEveGeoShape*) *k;
216 its3->SetRnrSelf(kTRUE);
217 its3->SetMainColor(kBlue-6);
218 its3->SetMainTransparency(70);
223 TEveElement* top = gEve->GetCurrentEvent();
225 AliEveMultiView *mv = AliEveMultiView::Instance();
227 mv->InitGeomGentle(gsre1, gsre2, gsre3, 0);
229 gEve->FullRedraw3D(kTRUE, kTRUE);