ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
station1.C
Go to the documentation of this file.
1 #include "TGeoManager.h"
2 
3 void station1()
4 {
5  // Drawing a space station, using ROOT geometry class.
6  // Name: station1.C
7  // Author: Chang Yeol Lee, Dept. of Physics, Univ. of Seoul
8  // Reviewed by Sunman Kim (sunman98@hanmail.net)
9  // Supervisor: Prof. Inkyu Park (icpark@physics.uos.ac.kr)
10  //
11  // How to run: .x station1.C in ROOT terminal, then use OpenGL
12  //
13  // This macro was created for the evaluation of Computational Physics course in 2006.
14  // We thank to Prof. Inkyu Park for his special lecture on ROOT and to all of ROOT team
15  //
16 
17  TGeoManager *geom=new TGeoManager("geom","My first 3D geometry");
18 
19  TGeoMaterial *vacuum=new TGeoMaterial("vacuum",0,0,0);
20  TGeoMaterial *Fe=new TGeoMaterial("Fe",55.845,26,7.87);
21  TGeoMaterial *Cu=new TGeoMaterial("Cu",63.549,29,8.92);
22 
23  TGeoMedium *Air=new TGeoMedium("Vacuum",0,vacuum);
24  TGeoMedium *Iron=new TGeoMedium("Iron",1,Fe);
25  TGeoMedium *Copper=new TGeoMedium("Copper",2,Cu);
26 
27  TGeoVolume *top=geom->MakeBox("top",Air,1000,1000,1000);
28  geom->SetTopVolume(top);
29  geom->SetTopVisible(0);
30  // If you want to see the boundary, please input the number, 1 instead of 0.
31  // Like this, geom->SetTopVisible(1);
32 
33 
34 
35  TGeoVolume *Cone1=geom->MakeCone("Cone1",Copper,650,0,20,0,20);
36  Cone1->SetFillColor(35);
37  Cone1->SetLineColor(35);
38  top->AddNodeOverlap(Cone1,1,new TGeoTranslation(0,0,0));
39 
40  TGeoVolume *Cone2=geom->MakeCone("Cone2",Copper,25,0,30,0,30);
41  Cone2->SetFillColor(7);
42  Cone2->SetLineColor(7);
43  top->AddNodeOverlap(Cone2,1,new TGeoTranslation(0,0,630));
44 
45  TGeoVolume *Cone21=geom->MakeCone("Cone21",Copper,30,0,30,0,30);
46  Cone21->SetFillColor(29);
47  Cone21->SetLineColor(29);
48  top->AddNodeOverlap(Cone21,1,new TGeoTranslation(0,0,550));
49 
50  TGeoVolume *Cone22=geom->MakeCone("Cone22",Copper,5,0,50,0,50);
51  Cone22->SetFillColor(2);
52  Cone22->SetLineColor(2);
53  top->AddNodeOverlap(Cone22,1,new TGeoTranslation(0,0,500));
54 
55 for(int i=0;i<28;i++){
56  TGeoVolume *Cone00=geom->MakeCone("Cone00",Copper,3,0,25,0,25);
57  Cone00->SetFillColor(1);
58  Cone00->SetLineColor(1);
59  top->AddNodeOverlap(Cone00,1,new TGeoTranslation(0,0,-100+20*i));
60 }
61 
62  TGeoVolume *Cone3=geom->MakeCone("Cone3",Copper,60,0,70,0,0);
63  Cone3->SetFillColor(13);
64  Cone3->SetLineColor(13);
65  top->AddNodeOverlap(Cone3,1,new TGeoTranslation(-60,0,-110));
66 
67  TGeoVolume *Cone31=geom->MakeCone("Cone31",Copper,230,0,70,0,70);
68  Cone31->SetFillColor(13);
69  Cone31->SetLineColor(13);
70  top->AddNodeOverlap(Cone31,1,new TGeoTranslation(-60,0,-400));
71 
72 for(int i=0;i<5;i++){
73  Cone31=geom->MakeCone("Cone31",Copper,7,0,73,0,73);
74  Cone31->SetFillColor(21);
75  Cone31->SetLineColor(21);
76  top->AddNodeOverlap(Cone31,1,new TGeoTranslation(-60,0,-170-(500/6*(i+1))));
77  top->AddNodeOverlap(Cone31,1,new TGeoTranslation(60,0,-170-(500/6*(i+1))));
78  top->AddNodeOverlap(Cone31,1,new TGeoTranslation(0,-60,-170-(500/6*(i+1))));
79  top->AddNodeOverlap(Cone31,1,new TGeoTranslation(0,60,-170-(500/6*(i+1))));
80 }
81 
82  TGeoVolume *Cone32=geom->MakeCone("Cone32",Copper,30,60,50,0,70);
83  Cone32->SetFillColor(35);
84  Cone32->SetLineColor(35);
85  top->AddNodeOverlap(Cone32,1,new TGeoTranslation(-60,0,-650));
86 
87  TGeoVolume *Cone321=geom->MakeCone("Cone321",Copper,5,60,50,0,50);
88  Cone321->SetFillColor(2);
89  Cone321->SetLineColor(2);
90  top->AddNodeOverlap(Cone321,1,new TGeoTranslation(-60,0,-680));
91 
92  TGeoVolume *Cone4=geom->MakeCone("Cone4",Copper,60,0,70,0,0);
93  Cone4->SetFillColor(13);
94  Cone4->SetLineColor(13);
95  top->AddNodeOverlap(Cone3,1,new TGeoTranslation(60,0,-110));
96 
97 for(int i=1;i<=8;i++){
98  TGeoVolume *Torus2=geom->MakeTorus("Torus2",Iron,120,20,40,45*i-4,8);
99  Torus2->SetFillColor(18);
100  Torus2->SetLineColor(18);
101  top->AddNodeOverlap(Torus2,1,new TGeoTranslation(0,0,610));
102 
103  TGeoVolume *Tubs=geom->MakeTubs("Line",Iron,0,190,5,45*i-1,45*i+1);
104  Tubs->SetFillColor(18);
105  Tubs->SetLineColor(18);
106  top->AddNodeOverlap(Tubs,1,new TGeoTranslation(0,0,610));
107 }
108 
109  TGeoVolume *Cone41=geom->MakeCone("Cone41",Copper,230,0,70,0,70);
110  Cone41->SetFillColor(13);
111  Cone41->SetLineColor(13);
112  top->AddNodeOverlap(Cone41,1,new TGeoTranslation(60,0,-400));
113 
114  TGeoVolume *Cone42=geom->MakeCone("Cone42",Copper,30,60,50,0,70);
115  Cone42->SetFillColor(35);
116  Cone42->SetLineColor(35);
117  top->AddNodeOverlap(Cone42,1,new TGeoTranslation(60,0,-650));
118 
119  TGeoVolume *Cone421=geom->MakeCone("Cone421",Copper,5,60,50,0,50);
120  Cone421->SetFillColor(2);
121  Cone421->SetLineColor(2);
122  top->AddNodeOverlap(Cone421,1,new TGeoTranslation(60,0,-680));
123 
124  TGeoVolume *Cone5=geom->MakeCone("Cone5",Copper,60,0,70,0,0);
125  Cone5->SetFillColor(13);
126  Cone5->SetLineColor(13);
127  top->AddNodeOverlap(Cone3,1,new TGeoTranslation(0,-60,-110));
128 
129  TGeoVolume *Cone51=geom->MakeCone("Cone51",Copper,230,0,70,0,70);
130  Cone51->SetFillColor(13);
131  Cone51->SetLineColor(13);
132  top->AddNodeOverlap(Cone51,1,new TGeoTranslation(0,-60,-400));
133 
134  TGeoVolume *Cone52=geom->MakeCone("Cone52",Copper,30,60,50,0,70);
135  Cone52->SetFillColor(35);
136  Cone52->SetLineColor(35);
137  top->AddNodeOverlap(Cone52,1,new TGeoTranslation(0,-60,-650));
138 
139  TGeoVolume *Cone521=geom->MakeCone("Cone521",Copper,5,60,50,0,50);
140  Cone521->SetFillColor(2);
141  Cone521->SetLineColor(2);
142  top->AddNodeOverlap(Cone521,1,new TGeoTranslation(0,-60,-680));
143 
144  TGeoVolume *Cone6=geom->MakeCone("Cone6",Copper,60,0,70,0,0);
145  Cone6->SetFillColor(13);
146  Cone6->SetLineColor(13);
147  top->AddNodeOverlap(Cone3,1,new TGeoTranslation(0,60,-110));
148 
149  TGeoVolume *Cone61=geom->MakeCone("Cone61",Copper,230,0,70,0,70);
150  Cone61->SetFillColor(13);
151  Cone61->SetLineColor(13);
152  top->AddNodeOverlap(Cone61,1,new TGeoTranslation(0,60,-400));
153 
154  TGeoVolume *Cone62=geom->MakeCone("Cone62",Copper,30,60,50,0,70);
155  Cone62->SetFillColor(35);
156  Cone62->SetLineColor(35);
157  top->AddNodeOverlap(Cone62,1,new TGeoTranslation(0,60,-650));
158 
159  TGeoVolume *Cone621=geom->MakeCone("Cone621",Copper,5,60,50,0,50);
160  Cone621->SetFillColor(2);
161  Cone621->SetLineColor(2);
162  top->AddNodeOverlap(Cone621,1,new TGeoTranslation(0,60,-680));
163 
164  TGeoVolume *Cone7=geom->MakeCone("Cone7",Copper,50,0,40,0,5);
165  Cone7->SetFillColor(13);
166  Cone7->SetLineColor(13);
167  top->AddNodeOverlap(Cone7,1,new TGeoCombiTrans(-90,-60,10,new TGeoRotation("Cone7",90,-90,-90)));
168 
169  TGeoVolume *Cone71=geom->MakeCone("Cone71",Copper,50,0,60,0,40);
170  Cone71->SetFillColor(16);
171  Cone71->SetLineColor(16);
172  top->AddNodeOverlap(Cone71,1,new TGeoCombiTrans(10,-60,10,new TGeoRotation("Cone7",90,-90,-90)));
173 
174  TGeoVolume *Cone711=geom->MakeCone("Cone711",Copper,10,0,10,0,60);
175  Cone711->SetFillColor(13);
176  Cone711->SetLineColor(13);
177  top->AddNodeOverlap(Cone711,1,new TGeoCombiTrans(70,-60,10,new TGeoRotation("Cone7",90,-90,-90)));
178 
179  TGeoVolume *Torus1=geom->MakeTorus("Torus1",Iron,120,30,20);
180  Torus1->SetFillColor(33);
181  Torus1->SetLineColor(33);
182  top->AddNodeOverlap(Torus1,1,new TGeoTranslation(0,0,610));
183 
184  TGeoVolume *Cone8=geom->MakeCone("Cone8",Copper,50,0,40,0,5);
185  Cone8->SetFillColor(13);
186  Cone8->SetLineColor(13);
187  top->AddNodeOverlap(Cone8,1,new TGeoCombiTrans(100,60,10,new TGeoRotation("Cone8",90,90,0)));
188 
189  TGeoVolume *Cone81=geom->MakeCone("Cone81",Copper,50,0,60,0,40);
190  Cone81->SetFillColor(16);
191  Cone81->SetLineColor(16);
192  top->AddNodeOverlap(Cone81,1,new TGeoCombiTrans(0,60,10,new TGeoRotation("Cone8",90,90,0)));
193 
194  TGeoVolume *Cone811=geom->MakeCone("Cone811",Copper,10,0,10,0,60);
195  Cone811->SetFillColor(13);
196  Cone811->SetLineColor(13);
197  top->AddNodeOverlap(Cone811,1,new TGeoCombiTrans(-60,60,10,new TGeoRotation("Cone8",90,90,0)));
198 
199  TGeoVolume *Box1=geom->MakeBox("Box1",Copper,10,10,3);
200  Box1->SetFillColor(3);
201  Box1->SetLineColor(3);
202  top->AddNodeOverlap(Box1,1,new TGeoCombiTrans(-110,-50,645,new TGeoRotation("Box1",0,0,30)));
203 
204  TGeoVolume *Box2=geom->MakeBox("Box2",Copper,10,10,3);
205  Box2->SetFillColor(3);
206  Box2->SetLineColor(3);
207  top->AddNodeOverlap(Box2,1,new TGeoCombiTrans(110,45,645,new TGeoRotation("Box2",0,0,30)));
208 
209  TGeoVolume *Box3=geom->MakeBox("Box3",Copper,10,10,3);
210  Box3->SetFillColor(3);
211  Box3->SetLineColor(3);
212  top->AddNodeOverlap(Box3,1,new TGeoCombiTrans(-45,-110,645,new TGeoRotation("Box3",0,0,70)));
213 
214  TGeoVolume *Box4=geom->MakeBox("Box4",Copper,10,10,3);
215  Box4->SetFillColor(3);
216  Box4->SetLineColor(3);
217  top->AddNodeOverlap(Box4,1,new TGeoCombiTrans(45,110,645,new TGeoRotation("Box4",0,0,70)));
218 
219  TGeoVolume *Box5=geom->MakeBox("Box5",Copper,10,10,3);
220  Box5->SetFillColor(3);
221  Box5->SetLineColor(3);
222  top->AddNodeOverlap(Box5,1,new TGeoCombiTrans(45,-110,645,new TGeoRotation("Box5",0,0,30)));
223 
224  TGeoVolume *Box6=geom->MakeBox("Box6",Copper,10,10,3);
225  Box6->SetFillColor(3);
226  Box6->SetLineColor(3);
227  top->AddNodeOverlap(Box6,1,new TGeoCombiTrans(-45,110,645,new TGeoRotation("Box6",0,0,25)));
228 
229  TGeoVolume *Box7=geom->MakeBox("Box7",Copper,10,10,3);
230  Box7->SetFillColor(3);
231  Box7->SetLineColor(3);
232  top->AddNodeOverlap(Box7,1,new TGeoCombiTrans(110,-50,645,new TGeoRotation("Box7",0,0,60)));
233 
234  TGeoVolume *Box8=geom->MakeBox("Box8",Copper,10,10,3);
235  Box8->SetFillColor(3);
236  Box8->SetLineColor(3);
237  top->AddNodeOverlap(Box8,1,new TGeoCombiTrans(-110,45,645,new TGeoRotation("Box8",0,0,60)));
238 
239  Torus1=geom->MakeTorus("Torus1",Iron,120,30,20);
240  Torus1->SetFillColor(33);
241  Torus1->SetLineColor(33);
242  top->AddNodeOverlap(Torus1,1,new TGeoTranslation(0,0,610));
243 
244 for(int i=1;i<=8;i++){
245  TGeoVolume *Torus2=geom->MakeTorus("Torus2",Iron,120,20,40,45*i-4,8);
246  Torus2->SetFillColor(18);
247  Torus2->SetLineColor(18);
248  top->AddNodeOverlap(Torus2,1,new TGeoTranslation(0,0,610));
249 
250  TGeoVolume *Tubs=geom->MakeTubs("Line",Iron,0,190,5,45*i-1,45*i+1);
251  Tubs->SetFillColor(18);
252  Tubs->SetLineColor(18);
253  top->AddNodeOverlap(Tubs,1,new TGeoTranslation(0,0,610));
254 }
255 
256  TGeoVolume *Sphere00=geom->MakeSphere("Sphere00",Iron,0,15,0,45,0);
257  Sphere00->SetFillColor(2);
258  Sphere00->SetLineColor(2);
259  top->AddNodeOverlap(Sphere00,1,new TGeoTranslation(-145,-145,600));
260 
261  TGeoVolume *Sphere01=geom->MakeSphere("Sphere01",Iron,0,15,0,45,0);
262  Sphere01->SetFillColor(2);
263  Sphere01->SetLineColor(2);
264  top->AddNodeOverlap(Sphere01,1,new TGeoTranslation(0,-210,600));
265 
266  TGeoVolume *Sphere02=geom->MakeSphere("Sphere02",Iron,0,15,0,45,0);
267  Sphere02->SetFillColor(2);
268  Sphere02->SetLineColor(2);
269  top->AddNodeOverlap(Sphere02,1,new TGeoTranslation(145,145,600));
270 
271  TGeoVolume *Sphere03=geom->MakeSphere("Sphere03",Iron,0,15,0,45,0);
272  Sphere03->SetFillColor(2);
273  Sphere03->SetLineColor(2);
274  top->AddNodeOverlap(Sphere03,1,new TGeoTranslation(0,210,600));
275 
276  TGeoVolume *Sphere04=geom->MakeSphere("Sphere04",Iron,0,15,0,45,0);
277  Sphere04->SetFillColor(2);
278  Sphere04->SetLineColor(2);
279  top->AddNodeOverlap(Sphere04,1,new TGeoTranslation(145,-145,600));
280 
281  TGeoVolume *Sphere05=geom->MakeSphere("Sphere05",Iron,0,15,0,45,0);
282  Sphere05->SetFillColor(2);
283  Sphere05->SetLineColor(2);
284  top->AddNodeOverlap(Sphere05,1,new TGeoTranslation(-210,0,600));
285 
286  TGeoVolume *Sphere06=geom->MakeSphere("Sphere06",Iron,0,15,0,45,0);
287  Sphere06->SetFillColor(2);
288  Sphere06->SetLineColor(2);
289  top->AddNodeOverlap(Sphere06,1,new TGeoTranslation(210,0,600));
290 
291  TGeoVolume *Sphere07=geom->MakeSphere("Sphere07",Iron,0,15,0,45,0);
292  Sphere07->SetFillColor(2);
293  Sphere07->SetLineColor(2);
294  top->AddNodeOverlap(Sphere07,1,new TGeoTranslation(-145,145,600));
295 
296  TGeoVolume *Torus3=geom->MakeTorus("Torus3",Iron,190,0,10);
297  Torus3->SetFillColor(18);
298  Torus3->SetLineColor(18);
299  top->AddNodeOverlap(Torus3,1,new TGeoTranslation(0,0,610));
300 
301  TGeoVolume *Sphere1=geom->MakeSphere("Sphere1",Iron,0,20,0,180,0,360);
302  Sphere1->SetFillColor(2);
303  Sphere1->SetLineColor(2);
304  top->AddNodeOverlap(Sphere1,1,new TGeoTranslation(0,0,650));
305 
306  TGeoVolume *Tubs=geom->MakeTubs("Tubs",Iron,0,40,50,0,360);
307  Tubs->SetFillColor(29);
308  Tubs->SetLineColor(29);
309  top->AddNodeOverlap(Tubs,1,new TGeoTranslation(0,0,500));
310 
311  TGeoVolume *Tubs1=geom->MakeTubs("Tubs1",Iron,50,60,230,40,150);
312  Tubs1->SetFillColor(18);
313  Tubs1->SetLineColor(18);
314  top->AddNodeOverlap(Tubs1,1,new TGeoTranslation(-170,-30,-400));
315 
316  TGeoVolume *Tubs11=geom->MakeTubs("Tubs11",Iron,50,60,230,220,330);
317  Tubs11->SetFillColor(18);
318  Tubs11->SetLineColor(18);
319  top->AddNodeOverlap(Tubs11,1,new TGeoTranslation(-260,35,-400));
320 
321  TGeoVolume *Sphere111=geom->MakeSphere("Sphere111",Iron,0,10,0,180,0,360);
322  Sphere111->SetFillColor(2);
323  Sphere111->SetLineColor(2);
324  top->AddNodeOverlap(Sphere111,1,new TGeoTranslation(-310,0,-165));
325 
326  TGeoVolume *Sphere112=geom->MakeSphere("Sphere112",Iron,0,10,0,180,0,360);
327  Sphere112->SetFillColor(2);
328  Sphere112->SetLineColor(2);
329  top->AddNodeOverlap(Sphere112,1,new TGeoTranslation(-310,0,-400));
330 
331  TGeoVolume *Sphere113=geom->MakeSphere("Sphere113",Iron,0,10,0,180,0,360);
332  Sphere113->SetFillColor(2);
333  Sphere113->SetLineColor(2);
334  top->AddNodeOverlap(Sphere113,1,new TGeoTranslation(-310,0,-635));
335 
336  TGeoVolume *Tubs2=geom->MakeTubs("Tubs2",Iron,50,60,230,220,330);
337  Tubs2->SetFillColor(18);
338  Tubs2->SetLineColor(18);
339  top->AddNodeOverlap(Tubs2,1,new TGeoTranslation(170,30,-400));
340 
341  TGeoVolume *Tubs21=geom->MakeTubs("Tubs21",Iron,50,60,230,400,510);
342  Tubs21->SetFillColor(18);
343  Tubs21->SetLineColor(18);
344  top->AddNodeOverlap(Tubs21,1,new TGeoTranslation(265,-25,-400));
345 
346  TGeoVolume *Sphere211=geom->MakeSphere("Sphere211",Iron,0,10,0,180,0,360);
347  Sphere211->SetFillColor(2);
348  Sphere211->SetLineColor(2);
349  top->AddNodeOverlap(Sphere211,1,new TGeoTranslation(310,0,-165));
350 
351  TGeoVolume *Sphere212=geom->MakeSphere("Sphere212",Iron,0,10,0,180,0,360);
352  Sphere212->SetFillColor(2);
353  Sphere212->SetLineColor(2);
354  top->AddNodeOverlap(Sphere212,1,new TGeoTranslation(310,0,-400));
355 
356  TGeoVolume *Sphere213=geom->MakeSphere("Sphere213",Iron,0,10,0,180,0,360);
357  Sphere213->SetFillColor(2);
358  Sphere213->SetLineColor(2);
359  top->AddNodeOverlap(Sphere213,1,new TGeoTranslation(310,0,-635));
360 
361  TGeoVolume *Tubs3=geom->MakeTubs("Tubs3",Iron,50,60,230,130,260);
362  Tubs3->SetFillColor(18);
363  Tubs3->SetLineColor(18);
364  top->AddNodeOverlap(Tubs3,1,new TGeoTranslation(30,-170,-400));
365 
366  TGeoVolume *Tubs31=geom->MakeTubs("Tubs31",Iron,50,60,230,310,440);
367  Tubs31->SetFillColor(18);
368  Tubs31->SetLineColor(18);
369  top->AddNodeOverlap(Tubs31,1,new TGeoTranslation(0,-275,-400));
370 
371  TGeoVolume *Sphere311=geom->MakeSphere("Sphere311",Iron,0,10,0,180,0,360);
372  Sphere311->SetFillColor(2);
373  Sphere311->SetLineColor(2);
374  top->AddNodeOverlap(Sphere311,1,new TGeoTranslation(-35,320,-165));
375 
376  TGeoVolume *Sphere312=geom->MakeSphere("Sphere312",Iron,0,10,0,180,0,360);
377  Sphere312->SetFillColor(2);
378  Sphere312->SetLineColor(2);
379  top->AddNodeOverlap(Sphere312,1,new TGeoTranslation(-35,320,-400));
380 
381  TGeoVolume *Sphere313=geom->MakeSphere("Sphere313",Iron,0,10,0,180,0,360);
382  Sphere313->SetFillColor(2);
383  Sphere313->SetLineColor(2);
384  top->AddNodeOverlap(Sphere313,1,new TGeoTranslation(-35,320,-635));
385 
386  TGeoVolume *Tubs4=geom->MakeTubs("Tubs4",Iron,50,60,230,310,440);
387  Tubs4->SetFillColor(18);
388  Tubs4->SetLineColor(18);
389  top->AddNodeOverlap(Tubs4,1,new TGeoTranslation(-30,170,-400));
390 
391  TGeoVolume *Tubs41=geom->MakeTubs("Tubs41",Iron,50,60,230,490,620);
392  Tubs41->SetFillColor(18);
393  Tubs41->SetLineColor(18);
394  top->AddNodeOverlap(Tubs41,1,new TGeoTranslation(0,275,-400));
395 
396  TGeoVolume *Sphere411=geom->MakeSphere("Sphere411",Iron,0,10,0,180,0,360);
397  Sphere411->SetFillColor(2);
398  Sphere411->SetLineColor(2);
399  top->AddNodeOverlap(Sphere411,1,new TGeoTranslation(30,-320,-165));
400 
401  TGeoVolume *Sphere412=geom->MakeSphere("Sphere412",Iron,0,10,0,180,0,360);
402  Sphere412->SetFillColor(2);
403  Sphere412->SetLineColor(2);
404  top->AddNodeOverlap(Sphere412,1,new TGeoTranslation(30,-320,-400));
405 
406  TGeoVolume *Sphere413=geom->MakeSphere("Sphere413",Iron,0,10,0,180,0,360);
407  Sphere413->SetFillColor(2);
408  Sphere413->SetLineColor(2);
409  top->AddNodeOverlap(Sphere413,1,new TGeoTranslation(30,-320,-635));
410 
411  TGeoVolume *Cone010=geom->MakeCone("Cone010",Iron,30,0,30,0,30);
412  Cone010->SetFillColor(2);
413  Cone010->SetLineColor(2);
414  top->AddNodeOverlap(Cone010,1,new TGeoTranslation(0,0,250));
415 
416  TGeoVolume *Torus010=geom->MakeTorus("Torus010",Iron,300,50,40);
417  Torus010->SetFillColor(33);
418  Torus010->SetLineColor(33);
419  top->AddNodeOverlap(Torus010,1,new TGeoTranslation(0,0,250));
420 
421  TGeoVolume *Torus011=geom->MakeTorus("Torus011",Iron,400,10,10);
422  Torus011->SetFillColor(33);
423  Torus011->SetLineColor(33);
424  top->AddNodeOverlap(Torus011,1,new TGeoTranslation(0,0,250));
425 
426  TGeoVolume *Torus012=geom->MakeTorus("Torus012",Iron,200,10,10);
427  Torus012->SetFillColor(33);
428  Torus012->SetLineColor(33);
429  top->AddNodeOverlap(Torus012,1,new TGeoTranslation(0,0,250));
430 
431  TGeoVolume *Sphere010=geom->MakeSphere("Sphere010",Iron,0,10,0,180,0,360);
432  Sphere010->SetFillColor(2);
433  Sphere010->SetLineColor(2);
434  top->AddNodeOverlap(Sphere010,1,new TGeoTranslation(-290,-290,250));
435 
436  TGeoVolume *Sphere011=geom->MakeSphere("Sphere011",Iron,0,10,0,180,0,360);
437  Sphere011->SetFillColor(2);
438  Sphere011->SetLineColor(2);
439  top->AddNodeOverlap(Sphere011,1,new TGeoTranslation(290,290,250));
440 
441  TGeoVolume *Sphere012=geom->MakeSphere("Sphere012",Iron,0,10,0,180,0,360);
442  Sphere012->SetFillColor(2);
443  Sphere012->SetLineColor(2);
444  top->AddNodeOverlap(Sphere012,1,new TGeoTranslation(0,-410,250));
445 
446  TGeoVolume *Sphere013=geom->MakeSphere("Sphere013",Iron,0,10,0,180,0,360);
447  Sphere013->SetFillColor(2);
448  Sphere013->SetLineColor(2);
449  top->AddNodeOverlap(Sphere013,1,new TGeoTranslation(0,410,250));
450 
451  TGeoVolume *Sphere014=geom->MakeSphere("Sphere014",Iron,0,10,0,180,0,360);
452  Sphere014->SetFillColor(2);
453  Sphere014->SetLineColor(2);
454  top->AddNodeOverlap(Sphere014,1,new TGeoTranslation(290,-290,250));
455 
456  TGeoVolume *Sphere015=geom->MakeSphere("Sphere015",Iron,0,10,0,180,0,360);
457  Sphere015->SetFillColor(2);
458  Sphere015->SetLineColor(2);
459  top->AddNodeOverlap(Sphere015,1,new TGeoTranslation(-290,290,250));
460 
461  TGeoVolume *Sphere016=geom->MakeSphere("Sphere016",Iron,0,10,0,180,0,360);
462  Sphere016->SetFillColor(2);
463  Sphere016->SetLineColor(2);
464  top->AddNodeOverlap(Sphere016,1,new TGeoTranslation(410,0,250));
465 
466  TGeoVolume *Sphere017=geom->MakeSphere("Sphere017",Iron,0,10,0,180,0,360);
467  Sphere017->SetFillColor(2);
468  Sphere017->SetLineColor(2);
469  top->AddNodeOverlap(Sphere017,1,new TGeoTranslation(-410,0,250));
470 
471  TGeoVolume *Box010=geom->MakeBox("Box010",Copper,10,10,3);
472  Box010->SetFillColor(3);
473  Box010->SetLineColor(3);
474  top->AddNodeOverlap(Box1,1,new TGeoCombiTrans(-120,-280,300,new TGeoRotation("Box010",0,0,70)));
475 
476  TGeoVolume *Box011=geom->MakeBox("Box011",Copper,10,10,3);
477  Box011->SetFillColor(3);
478  Box011->SetLineColor(3);
479  top->AddNodeOverlap(Box011,1,new TGeoCombiTrans(120,280,300,new TGeoRotation("Box011",0,0,70)));
480 
481  TGeoVolume *Box012=geom->MakeBox("Box012",Copper,10,10,3);
482  Box012->SetFillColor(3);
483  Box012->SetLineColor(3);
484  top->AddNodeOverlap(Box012,1,new TGeoCombiTrans(120,-280,300,new TGeoRotation("Box012",0,0,30)));
485 
486  TGeoVolume *Box013=geom->MakeBox("Box013",Copper,10,10,3);
487  Box013->SetFillColor(3);
488  Box013->SetLineColor(3);
489  top->AddNodeOverlap(Box013,1,new TGeoCombiTrans(-120,280,300,new TGeoRotation("Box013",0,0,30)));
490 
491  TGeoVolume *Box014=geom->MakeBox("Box010",Copper,10,10,3);
492  Box014->SetFillColor(3);
493  Box014->SetLineColor(3);
494  top->AddNodeOverlap(Box014,1,new TGeoCombiTrans(270,-120,300,new TGeoRotation("Box014",0,0,70)));
495 
496  TGeoVolume *Box015=geom->MakeBox("Box015",Copper,10,10,3);
497  Box015->SetFillColor(3);
498  Box015->SetLineColor(3);
499  top->AddNodeOverlap(Box015,1,new TGeoCombiTrans(-270,120,300,new TGeoRotation("Box015",0,0,70)));
500 
501  TGeoVolume *Box016=geom->MakeBox("Box016",Copper,10,10,3);
502  Box016->SetFillColor(3);
503  Box016->SetLineColor(3);
504  top->AddNodeOverlap(Box016,1,new TGeoCombiTrans(270,100,300,new TGeoRotation("Box016",0,0,30)));
505 
506  TGeoVolume *Box017=geom->MakeBox("Box017",Copper,10,10,3);
507  Box017->SetFillColor(3);
508  Box017->SetLineColor(3);
509  top->AddNodeOverlap(Box017,1,new TGeoCombiTrans(-270,-120,300,new TGeoRotation("Box017",0,0,30)));
510 
511 for(int i=1;i<=8;i++){
512  TGeoVolume *Torus0101=geom->MakeTorus("Torus0101",Iron,300,70,40,45*i-4,8);
513  Torus0101->SetFillColor(18);
514  Torus0101->SetLineColor(18);
515  top->AddNodeOverlap(Torus0101,1,new TGeoTranslation(0,0,250));
516 
517  TGeoVolume *Tubs0101=geom->MakeTubs("Line",Iron,0,400,5,45*i-1,45*i+1);
518  Tubs0101->SetFillColor(18);
519  Tubs0101->SetLineColor(18);
520  top->AddNodeOverlap(Tubs0101,1,new TGeoTranslation(0,0,250));
521 }
522 
523  Cone31->SetFillColor(38);
524  top->SetVisibility(0);
525  geom->CloseGeometry();
526 
527  top->Draw("ogl");
528 
529 }
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
TGeoVolume * MakeCone(const char *name, TGeoMedium *medium, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2)
Make in one step a volume pointing to a cone shape with given medium.
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
Add a TGeoNode to the list of nodes.
virtual void Draw(Option_t *option="")
draw top volume according to option
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
TGeoVolume * MakeTorus(const char *name, TGeoMedium *medium, Double_t r, Double_t rmin, Double_t rmax, Double_t phi1=0, Double_t dphi=360)
Make in one step a volume pointing to a torus shape with given medium.
void station1()
Definition: station1.C:3
TGeoVolume * MakeSphere(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t themin=0, Double_t themax=180, Double_t phimin=0, Double_t phimax=360)
Make in one step a volume pointing to a sphere shape with given medium.
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
Make in one step a volume pointing to a box shape with given medium.
virtual void SetFillColor(Color_t fcolor)
Definition: TAttFill.h:50
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
TGeoVolume * MakeTubs(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Double_t phi2)
Make in one step a volume pointing to a tube segment shape with given medium.
virtual void SetVisibility(Bool_t vis=kTRUE)
set visibility of this volume
virtual void SetLineColor(Color_t lcolor)
Set the line color.