Logo ROOT  
Reference Guide
building.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_geom
3/// Drawing a building where Dept. of Physics is, using ROOT geometry class.
4///
5/// Reviewed by Sunman Kim (sunman98@hanmail.net)
6/// Supervisor: Prof. Inkyu Park (icpark@physics.uos.ac.kr)
7///
8/// How to run: `.x building.C` in ROOT terminal, then use OpenGL
9///
10/// This macro was created for the evaluation of Computational Physics course in 2006.
11/// We thank to Prof. Inkyu Park for his special lecture on ROOT and to all of ROOT team
12///
13/// \macro_code
14///
15/// \author Hyung Ju Lee (laccalus@nate.com), Dept. of Physics, Univ. of Seoul
16
17#include "TGeoManager.h"
18
19void building()
20{
21 TGeoManager *geom = new TGeoManager("geom","My First 3D Geometry");
22
23// Materials
24 TGeoMaterial *Vacuum = new TGeoMaterial("vacuum",0,0,0);
25 TGeoMaterial *Fe = new TGeoMaterial("Fe",55.845,26,7.87);
26
27// Media
28 TGeoMedium *Air = new TGeoMedium("Air",0,Vacuum);
29 TGeoMedium *Iron = new TGeoMedium("Iron",0,Fe);
30
31// Volume
32 TGeoVolume *Phy_Building = geom->MakeBox("top",Air,150,150,150);
33 geom->SetTopVolume(Phy_Building);
34 geom->SetTopVisible(0);
35 // If you want to see the boundary, please input the number, 1 instead of 0.
36 // Like this, geom->SetTopVisible(1);
37
38
39 TGeoVolume *mBlocks;
40
41
42///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
43//////////////////////////////// Front-Building ///////////////////////////////
44///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
45
46 int i = 0;
47 int F = 0; // Floor
48 int N = 0; // Block_no
49 int nW = 8; // Number of windows
50 int nF = 3; // Number of Floor
51 char no_Block[100]; // Name of Block
52 double sP = 0; // Starting Phi of Tubs
53 double hP = 21; // Height of Tubs from Ground
54
55 while (F<nF){
56 N = 0; i = 0; sP = 0;
57
58/////////////////////////// Front of Building
59 while (i<nW){
60 i++;
61 sprintf(no_Block, "B1_F%d_%d", F, ++N); // Windows (6.25)
62 mBlocks = geom->MakeTubs(no_Block,Iron,21,29,1.8,sP,sP+6.25);
63 mBlocks->SetLineColor(12);
64 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
65
66 if (i < nW) {
67 sprintf(no_Block, "B1_F%d_%d", F, ++N); // Walls (8)
68 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,1.8,sP,sP+2.5);
69 mBlocks->SetLineColor(2);
70 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
71
72 sprintf(no_Block, "B1_F%d_%d", F, ++N);
73 mBlocks = geom->MakeTubs(no_Block,Iron,21,31,1.8,sP,sP+1);
74 mBlocks->SetLineColor(2);
75 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
76
77 sprintf(no_Block, "B1_F%d_%d", F, ++N);
78 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,1.8,sP,sP+1);
79 mBlocks->SetLineColor(2);
80 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
81
82 sprintf(no_Block, "B1_F%d_%d", F, ++N);
83 mBlocks = geom->MakeTubs(no_Block,Iron,21,31,1.8,sP,sP+1);
84 mBlocks->SetLineColor(2);
85 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
86
87 sprintf(no_Block, "B1_F%d_%d", F, ++N);
88 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,1.8,sP,sP+2.5);
89 mBlocks->SetLineColor(2);
90 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
91 }
92
93 if (i>=nW) {
94 sprintf(no_Block, "B1_F%d_%d", F, ++N); // Walls
95 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,1.8,sP,103);
96 mBlocks->SetLineColor(2);
97 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP+(8*F)));
98
99 }
100 }
101
102 sprintf(no_Block, "B1_F%d", ++F); // No Windows Floor
103 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,2.2,0,103);
104 mBlocks->SetLineColor(2);
105 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-12+(8*F)));
106
107///////////////////////////////////////// Back of Building
108 sprintf(no_Block, "B1_F%d_%d", F, ++N);
109 mBlocks = geom->MakeTubs(no_Block,Iron,18.5,21,0.8,92,101);
110 mBlocks->SetLineColor(12);
111 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-9.4+(8*F)));
112
113 if(F<nF){
114 sprintf(no_Block, "B1_F%d_%d", F, ++N);
115 mBlocks = geom->MakeTubs(no_Block,Iron,18.5,21,3.2,92,102);
116 mBlocks->SetLineColor(2);
117 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-5.4+(8*F)));
118
119 }
120 }
121
122 sprintf(no_Block, "B1_F%d_%d", F, ++N); // Walls
123 mBlocks = geom->MakeTubs(no_Block,Iron,18.5,21,2,92,102);
124 mBlocks->SetLineColor(2);
125 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-4));
126 sprintf(no_Block, "B1_F%d_%d", F, ++N);
127 mBlocks = geom->MakeTubs(no_Block,Iron,18.5,21,3.2,92,102);
128 mBlocks->SetLineColor(2);
129 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-5.4+(8*F)));
130
131 sprintf(no_Block, "B1_F%d_%d", F, ++N);
132 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,2,0,103);
133 mBlocks->SetLineColor(2);
134 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-4.2+(8*F)));
135
136 sprintf(no_Block, "B1_F%d_%d", F, ++N);
137 mBlocks = geom->MakeTubs(no_Block,Iron,18,21,2,0,102);
138 mBlocks->SetLineColor(2);
139 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-4.2+(8*F)));
140
141 sprintf(no_Block, "B1_F%d_%d", F, ++N);
142 mBlocks = geom->MakeTubs(no_Block,Iron,18,18.5,14,92,103);
143 mBlocks->SetLineColor(2);
144 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,29));
145
146//////////////////////// Front of Building
147 sprintf(no_Block, "B1_F%d_%d", F, ++N);
148 mBlocks = geom->MakeTubs(no_Block,Iron,21,29,2,0,97);
149 mBlocks->SetLineColor(12);
150 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,13));
151
152 sprintf(no_Block, "B1_F%d_%d", F, ++N);
153 mBlocks = geom->MakeTubs(no_Block,Iron,21,32,2,37,97);
154 mBlocks->SetLineColor(18);
155 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,9));
156
157 sprintf(no_Block, "B1_F%d_%d", F, ++N);
158 mBlocks = geom->MakeTubs(no_Block,Iron,21,29,1.95,0,37);
159 mBlocks->SetLineColor(30);
160 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,9.05));
161 sprintf(no_Block, "B1_F%d_%d", F, ++N);
162 mBlocks = geom->MakeTubs(no_Block,Iron,21,29,0.05,0,37);
163 mBlocks->SetLineColor(18);
164 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,7.05));
165
166
167//////////////////////// Rooftop
168 sprintf(no_Block, "B1_RT%d", N = 0);
169 mBlocks = geom->MakeTubs(no_Block,Iron,21,29.5,0.2,0,102);
170 mBlocks->SetLineColor(18);
171 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-2+(8*F)));
172 sprintf(no_Block, "B1_RT%d", ++N);
173 mBlocks = geom->MakeTubs(no_Block,Iron,18.5,21,0.2,0,101);
174 mBlocks->SetLineColor(18);
175 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-2+(8*F)));
176
177 sprintf(no_Block, "B1_RT%d", ++N);
178 mBlocks = geom->MakeTubs(no_Block,Iron,21,30,0.7,102.9,103);
179 mBlocks->SetLineColor(2);
180 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.8+(8*F)));
181 sprintf(no_Block, "B1_RT%d", ++N);
182 mBlocks = geom->MakeTubs(no_Block,Iron,21.1,29.9,0.7,102,102.9);
183 mBlocks->SetLineColor(18);
184 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.8+(8*F)));
185
186 sprintf(no_Block, "B1_RT%d", ++N);
187 mBlocks = geom->MakeTubs(no_Block,Iron,21.1,21.5,0.5,98,102.9);
188 mBlocks->SetLineColor(18);
189 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.8+(8*F)));
190 sprintf(no_Block, "B1_RT%d", ++N);
191 mBlocks = geom->MakeTubs(no_Block,Iron,21,21.1,0.7,98,103);
192 mBlocks->SetLineColor(2);
193 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.8+(8*F)));
194
195 sprintf(no_Block, "B1_RT%d", ++N);
196 mBlocks = geom->MakeTubs(no_Block,Iron,18.6,21,0.7,101.9,102);
197 mBlocks->SetLineColor(2);
198 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.8+(8*F)));
199 sprintf(no_Block, "B1_RT%d", ++N);
200 mBlocks = geom->MakeTubs(no_Block,Iron,18.6,21,0.7,101,101.9);
201 mBlocks->SetLineColor(18);
202 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.8+(8*F)));
203
204 sprintf(no_Block, "B1_RT%d", ++N);
205 mBlocks = geom->MakeTubs(no_Block,Iron,29.5,29.9,0.5,0,102);
206 mBlocks->SetLineColor(18);
207 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
208 sprintf(no_Block, "B1_RT%d", ++N);
209 mBlocks = geom->MakeTubs(no_Block,Iron,29.9,30,0.5,0,103);
210 mBlocks->SetLineColor(2);
211 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
212
213 sprintf(no_Block, "B1_RT%d", ++N);
214 mBlocks = geom->MakeTubs(no_Block,Iron,18.1,18.5,0.5,-1,101.9);
215 mBlocks->SetLineColor(18);
216 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
217 sprintf(no_Block, "B1_RT%d", ++N);
218 mBlocks = geom->MakeTubs(no_Block,Iron,18,18.1,0.5,-0.5,102);
219 mBlocks->SetLineColor(2);
220 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
221
222 sprintf(no_Block, "B1_RT%d", ++N);
223 mBlocks = geom->MakeTubs(no_Block,Iron,18.1,18.4,0.5,101.9,102.9);
224 mBlocks->SetLineColor(18);
225 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
226 sprintf(no_Block, "B1_RT%d", ++N);
227 mBlocks = geom->MakeTubs(no_Block,Iron,18,18.1,0.5,102,103);
228 mBlocks->SetLineColor(2);
229 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
230 sprintf(no_Block, "B1_RT%d", ++N);
231 mBlocks = geom->MakeTubs(no_Block,Iron,18.4,18.5,0.5,102,103);
232 mBlocks->SetLineColor(2);
233 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
234 sprintf(no_Block, "B1_RT%d", ++N);
235 mBlocks = geom->MakeTubs(no_Block,Iron,18,18.5,0.5,102.9,103);
236 mBlocks->SetLineColor(2);
237 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,hP-1.7+(8*F)));
238
239
240/////////////////////////////// White Wall
241 sprintf(no_Block, "B1_WW%d", N = 0);
242 mBlocks = geom->MakeTubs(no_Block,Iron,20.8,31,19.5,sP,sP+1);
243 mBlocks->SetLineColor(10);
244 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,26));
245
246 sprintf(no_Block, "B1_WW%d", ++N);
247 mBlocks = geom->MakeTubs(no_Block,Iron,26.8,31,5,sP,sP+1);
248 mBlocks->SetLineColor(10);
249 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,2));
250
251 sprintf(no_Block, "B1_WW%d", ++N);
252 mBlocks = geom->MakeTubs(no_Block,Iron,23,24.3,5,sP,sP+1);
253 mBlocks->SetLineColor(10);
254 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,2));
255
256 sprintf(no_Block, "B1_WW%d", ++N);
257 mBlocks = geom->MakeTubs(no_Block,Iron,20.8,21.3,5,sP,sP+1);
258 mBlocks->SetLineColor(10);
259 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,2));
260
261
262
263////////////////////////// Zero Floor1
264 sprintf(no_Block, "B1_ZF%d",N=0);
265 mBlocks = geom->MakeTubs(no_Block,Iron,0,21,9,0,92);
266 mBlocks->SetLineColor(12);
267 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,6));
268
269 sprintf(no_Block, "B1_ZF%d",++N);
270 mBlocks = geom->MakeTubs(no_Block,Iron,18,21,7.5,0,92);
271 mBlocks->SetLineColor(12);
272 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,31.5));
273
274 sprintf(no_Block, "B1_ZF%d",++N);
275 mBlocks = geom->MakeTubs(no_Block,Iron,18,21,4.5,0,92);
276 mBlocks->SetLineColor(2);
277 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,19.5));
278
279 sprintf(no_Block, "B1_ZF%d",++N);
280 mBlocks = geom->MakeTubs(no_Block,Iron,0,18,0.2,0,101);
281 mBlocks->SetLineColor(18);
282 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,18.6));
283 sprintf(no_Block, "B1_ZF%d",++N);
284 mBlocks = geom->MakeTubs(no_Block,Iron,0,18,1.7,0,100);
285 mBlocks->SetLineColor(12);
286 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,16.7));
287 sprintf(no_Block, "B1_ZF%d",++N);
288 mBlocks = geom->MakeTubs(no_Block,Iron,0,18,1.2,101,101.9);
289 mBlocks->SetLineColor(18);
290 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,19.6));
291 sprintf(no_Block, "B1_ZF%d",++N);
292 mBlocks = geom->MakeTubs(no_Block,Iron,0,18,1.2,101.9,102);
293 mBlocks->SetLineColor(2);
294 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,19.6));
295
296
297////////////////////////// Zero Floor2
298 sprintf(no_Block, "B1_ZF%d", ++N);
299 mBlocks = geom->MakeBox(no_Block,Iron,6.5,7,2.5);
300 mBlocks->SetLineColor(18);
301 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7,10.75,13));
302
303 sprintf(no_Block, "B1_ZF%d", ++N);
304 mBlocks = geom->MakeBox(no_Block,Iron,6.5,7,3);
305 mBlocks->SetLineColor(12);
306 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7,10.75,7.5));
307
308 sprintf(no_Block, "B1_ZF%d", ++N);
309 mBlocks = geom->MakeBox(no_Block,Iron,7,0.05,10);
310 mBlocks->SetLineColor(2);
311 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7,17.95,7));
312 sprintf(no_Block, "B1_ZF%d", ++N);
313 mBlocks = geom->MakeBox(no_Block,Iron,6.9,0.20,10);
314 mBlocks->SetLineColor(18);
315 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7,17.70,7));
316 sprintf(no_Block, "B1_ZF%d", ++N);
317 mBlocks = geom->MakeBox(no_Block,Iron,0.1,0.20,10);
318 mBlocks->SetLineColor(2);
319 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-13.9,17.70,7));
320
321 sprintf(no_Block, "B1_ZF%d", ++N);
322 mBlocks = geom->MakeBox(no_Block,Iron,0.05,7,3.5);
323 mBlocks->SetLineColor(2);
324 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-13.95,10.5,13.5));
325 sprintf(no_Block, "B1_ZF%d", ++N);
326 mBlocks = geom->MakeBox(no_Block,Iron,0.20,6.9,3.5);
327 mBlocks->SetLineColor(18);
328 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-13.70,10.5,13.5));
329
330 sprintf(no_Block, "B1_ZF%d", ++N);
331 mBlocks = geom->MakeBox(no_Block,Iron,0.25,7,4);
332 mBlocks->SetLineColor(2);
333 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-13.75,10.5,1));
334
335 sprintf(no_Block, "B1_ZF%d", ++N);
336 mBlocks = geom->MakeBox(no_Block,Iron,7,0.05,10);
337 mBlocks->SetLineColor(2);
338 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7,3.55,7));
339 sprintf(no_Block, "B1_ZF%d", ++N);
340 mBlocks = geom->MakeBox(no_Block,Iron,6.9,0.20,10);
341 mBlocks->SetLineColor(18);
342 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7,3.8,7));
343 sprintf(no_Block, "B1_ZF%d", ++N);
344 mBlocks = geom->MakeBox(no_Block,Iron,0.1,0.20,10);
345 mBlocks->SetLineColor(2);
346 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-13.9,3.8,7));
347
348
349////////////////////////// Zero Floor2
350 sprintf(no_Block, "B1_ZF%d", ++N);
351 mBlocks = geom->MakeBox(no_Block,Iron,5,5,1);
352 mBlocks->SetLineColor(10);
353 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-5,23,-2));
354
355 sprintf(no_Block, "B1_ZF%d", ++N);
356 mBlocks = geom->MakeBox(no_Block,Iron,5,0.25,1.5);
357 mBlocks->SetLineColor(2);
358 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-5,28.25,-1.5));
359
360 sprintf(no_Block, "B1_ZF%d", ++N);
361 mBlocks = geom->MakeBox(no_Block,Iron,0.25,5.5,1.5);
362 mBlocks->SetLineColor(2);
363 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-10.25,23,-1.5));
364
365 sprintf(no_Block, "B1_ZF%d", ++N);
366 mBlocks = geom->MakeBox(no_Block,Iron,5.5,3.5,5);
367 mBlocks->SetLineColor(20);
368 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-12.5,0,-4));
369
370
371////////////////////////// Ground
372 sprintf(no_Block, "B1_GRD%d",N=0);
373 mBlocks = geom->MakeTubs(no_Block,Iron,0,29,1,0,36.75);
374 mBlocks->SetLineColor(10);
375 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,-2));
376
377 sprintf(no_Block, "B1_GRD%d",++N);
378 mBlocks = geom->MakeTubs(no_Block,Iron,0,30.4,0.4,36.75,77.25);
379 mBlocks->SetLineColor(10);
380 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,-2.7));
381
382 sprintf(no_Block, "B1_GRD%d",++N);
383 mBlocks = geom->MakeTubs(no_Block,Iron,0,29.7,0.3,36.75,77.25);
384 mBlocks->SetLineColor(10);
385 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,-2));
386
387 sprintf(no_Block, "B1_GRD%d",++N);
388 mBlocks = geom->MakeTubs(no_Block,Iron,0,29,0.3,36.75,77.25);
389 mBlocks->SetLineColor(10);
390 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,-1.3));
391
392 sprintf(no_Block, "B1_GRD%d",++N);
393 mBlocks = geom->MakeTubs(no_Block,Iron,0,29,1,77.25,97);
394 mBlocks->SetLineColor(10);
395 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,-2));
396
397
398///////////////////////////// Pillars & fences
399 sprintf(no_Block, "B1_PF%d", N = 0);
400 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
401 mBlocks->SetLineColor(2);
402 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(29,4.2,6, new TGeoRotation("r1",8.25,0,0)));
403
404 sprintf(no_Block, "B1_PF%d", ++N);
405 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
406 mBlocks->SetLineColor(2);
407 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(24.2,16.5,6, new TGeoRotation("r1",34.25,0,0)));
408
409 sprintf(no_Block, "B1_PF%d", ++N);
410 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
411 mBlocks->SetLineColor(2);
412 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(14.5,25.4,6, new TGeoRotation("r1",60.25,0,0)));
413
414 sprintf(no_Block, "B1_PF%d", ++N);
415 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
416 mBlocks->SetLineColor(2);
417 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(1.9,29.2,6, new TGeoRotation("r1",86.25,0,0)));
418
419 sprintf(no_Block, "B1_PF%d",++N);
420 mBlocks = geom->MakeTubs(no_Block,Iron,29,30,2,0,36.75);
421 mBlocks->SetLineColor(2);
422 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,0,-1));
423
424 sprintf(no_Block, "B1_PF%d", ++N);
425 mBlocks = geom->MakeBox(no_Block,Iron,3,2,2);
426 mBlocks->SetLineColor(2);
427 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-0.75,29.3,-1));
428
429 sprintf(no_Block, "B1_PF%d", ++N); //장애인용
430 mBlocks = geom->MakeBox(no_Block,Iron,0.25,4.3,1.5);
431 mBlocks->SetLineColor(2);
432 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(6.5,30.6,-1.5));
433
434 sprintf(no_Block, "B1_PF%d", ++N);
435 mBlocks = geom->MakeBox(no_Block,Iron,5.25,4.3,0.4);
436 mBlocks->SetLineColor(10);
437 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(1.125,30.6,-2.7));
438
439 sprintf(no_Block, "B1_PF%d", ++N);
440 mBlocks = geom->MakeBox(no_Block,Iron,5.5,0.25,0.75);
441 mBlocks->SetLineColor(2);
442 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(1.125,34.9,-2.25));
443
444 sprintf(no_Block, "B1_PF%d", ++N);
445 mBlocks = geom->MakeTrd1(no_Block,Iron,1.5,0,0.25,5.5);
446 mBlocks->SetLineColor(2);
447 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(1.125,34.9,-1.5, new TGeoRotation("r1",90,-90,90)));
448
449
450
451
452
453
454
455
456
457///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
458//////////////////////////////// Second Part of Front-Building ///////////////////////////////
459///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
460
461 F=0;
462 while (F<nF){
463 N = 0; i = 0; nW = 7;
464
465 while (i<nW){
466 sprintf(no_Block, "B12_F%d_B%d",F, ++N); // Wall
467 mBlocks = geom->MakeBox(no_Block,Iron,3.8,0.35,1.8);
468 mBlocks->SetLineColor(2);
469 Phy_Building->AddNodeOverlap(mBlocks,1,
470 new TGeoCombiTrans(23.38 + (21.65-6*i)*0.13,-21.2 + (21.65-6*i)*0.99,hP+(8*F),
471 new TGeoRotation("r1",-7.5,0,0)));
472 sprintf(no_Block, "B12_F%d_B%d",F, ++N);
473 mBlocks = geom->MakeBox(no_Block,Iron,4.8,0.3,1.8);
474 mBlocks->SetLineColor(2);
475 Phy_Building->AddNodeOverlap(mBlocks,1,
476 new TGeoCombiTrans(23.38 + (21.0-6*i)*0.13,-21.2 + (21-6*i)*0.99,hP+(8*F),
477 new TGeoRotation("r1",-7.5,0,0)));
478 sprintf(no_Block, "B12_F%d_B%d",F, ++N);
479 mBlocks = geom->MakeBox(no_Block,Iron,3.8,0.3,1.8);
480 mBlocks->SetLineColor(2);
481 Phy_Building->AddNodeOverlap(mBlocks,1,
482 new TGeoCombiTrans(23.38 + (20.4-6*i)*0.13,-21.2 + (20.4-6*i)*0.99,hP+(8*F),
483 new TGeoRotation("r1",-7.5,0,0)));
484 sprintf(no_Block, "B12_F%d_B%d",F, ++N);
485 mBlocks = geom->MakeBox(no_Block,Iron,4.8,0.3,1.8);
486 mBlocks->SetLineColor(2);
487 Phy_Building->AddNodeOverlap(mBlocks,1,
488 new TGeoCombiTrans(23.38 + (19.7-6*i)*0.13,-21.2 + (19.7-6*i)*0.99,hP+(8*F),
489 new TGeoRotation("r1",-7.5,0,0)));
490 sprintf(no_Block, "B12_F%d_B%d",F, ++N);
491 mBlocks = geom->MakeBox(no_Block,Iron,3.8,0.35,1.8);
492 mBlocks->SetLineColor(2);
493 Phy_Building->AddNodeOverlap(mBlocks,1,
494 new TGeoCombiTrans(23.38 + (19.05-6*i)*0.13,-21.2 + (19.05-6*i)*0.99,hP+(8*F),
495 new TGeoRotation("r1",-7.5,0,0)));
496
497
498 sprintf(no_Block, "B12_F%d_B%d",F, ++N); // Windows
499 mBlocks = geom->MakeBox(no_Block,Iron,3,1.4,1.8);
500 mBlocks->SetLineColor(12);
501 Phy_Building->AddNodeOverlap(mBlocks,1,
502 new TGeoCombiTrans(23.38 + (17.4-6*i)*0.13,-21.2 + (17.4-6*i)*0.99,hP+(8*F),
503 new TGeoRotation("r1",-7.5,0,0)));
504 i++;
505 if( i >= nW){
506 sprintf(no_Block, "B12_F%d_B%d",F, ++N); // Wall.
507 mBlocks = geom->MakeBox(no_Block,Iron,5.8,1,1.8);
508 mBlocks->SetLineColor(2);
509 Phy_Building->AddNodeOverlap(mBlocks,1,
510 new TGeoCombiTrans(21.4 + (-21)*0.13,-21 + (-21)*0.99,hP+(8*F),
511 new TGeoRotation("r1",-7.5,0,0)));
512 }
513 }
514
515 sprintf(no_Block, "B12_F%d_B%d",++F, ++N);
516 mBlocks = geom->MakeBox(no_Block,Iron,5.8,22,2.2);
517 mBlocks->SetLineColor(2);
518 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.4,-21,hP-12+(8*F), new TGeoRotation("r1",-7.5,0,0)));
519
520 }
521 sprintf(no_Block, "B12_F%d_%d", F, ++N);
522 mBlocks = geom->MakeBox(no_Block,Iron,5.8,22,2);
523 mBlocks->SetLineColor(2);
524 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.4,-21,hP-4.2+(8*F), new TGeoRotation("r1",-7.5,0,0)));
525
526 sprintf(no_Block, "B12_F%d_%d", F, ++N);
527 mBlocks = geom->MakeBox(no_Block,Iron,2.8,22,14);
528 mBlocks->SetLineColor(2);
529 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(18.43,-20.61,29, new TGeoRotation("r1",-7.5,0,0)));
530
531
532////////////////////// RoofTop
533 sprintf(no_Block, "B12_RT%d_%d", F, N=0);
534 mBlocks = geom->MakeBox(no_Block,Iron,5.5,21.75,0.2);
535 mBlocks->SetLineColor(18);
536 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.43,-20.75,hP-2+(8*F), new TGeoRotation("r1",-7.5,0,0)));
537
538 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
539 mBlocks = geom->MakeBox(no_Block,Iron,0.23,21.95,0.5);
540 mBlocks->SetLineColor(18);
541 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(26.9,-21.72,hP-1.7+(8*F), new TGeoRotation("r1",-7.5,0,0)));
542 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
543 mBlocks = geom->MakeBox(no_Block,Iron,0.1,22,0.5);
544 mBlocks->SetLineColor(2);
545 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(27.1,-21.75,hP-1.7+(8*F), new TGeoRotation("r1",-7.5,0,0)));
546
547
548 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
549 mBlocks = geom->MakeBox(no_Block,Iron,0.23,3.6,0.5);
550 mBlocks->SetLineColor(18);
551 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(13.65,-38.03,hP-1.7+(8*F), new TGeoRotation("r1",-7.5,0,0)));
552
553 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
554 mBlocks = geom->MakeBox(no_Block,Iron,0.02,3.8,0.5);
555 mBlocks->SetLineColor(2);
556 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(13.3,-38.39,hP-1.7+(8*F), new TGeoRotation("r1",-7.5,0,0)));
557
558
559
560 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
561 mBlocks = geom->MakeBox(no_Block,Iron,5.7,0.23,0.5);
562 mBlocks->SetLineColor(18);
563 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(18.57,-42.48,hP-1.7+(8*F), new TGeoRotation("r1",-7.5,0,0)));
564 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
565 mBlocks = geom->MakeBox(no_Block,Iron,5.8,0.1,0.5);
566 mBlocks->SetLineColor(2);
567 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(18.54,-42.71,hP-1.7+(8*F), new TGeoRotation("r1",-7.5,0,0)));
568
569
570//////////////////////// Pillars & fences
571 sprintf(no_Block, "B12_PF%d", N = 0);
572 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
573 mBlocks->SetLineColor(2);
574 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(28.32,-7.44,6, new TGeoRotation("r1",-7.5,0,0)));
575
576 sprintf(no_Block, "B12_PF%d", ++N);
577 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
578 mBlocks->SetLineColor(2);
579 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(26.75,-19.33,6, new TGeoRotation("r1",-7.5,0,0)));
580
581 sprintf(no_Block, "B12_PF%d", ++N);
582 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,9);
583 mBlocks->SetLineColor(2);
584 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(25.19,-31.23,6, new TGeoRotation("r1",-7.5,0,0)));
585
586 sprintf(no_Block, "B12_PF%d", ++N);
587 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,11);
588 mBlocks->SetLineColor(2);
589 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(23.75,-42.14,4, new TGeoRotation("r1",-7.5,0,0)));
590
591 sprintf(no_Block, "B12_PF%d", ++N);
592 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,11);
593 mBlocks->SetLineColor(2);
594 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(13.84,-40.83,4, new TGeoRotation("r1",-7.5,0,0)));
595
596
597
598 sprintf(no_Block, "B12_PF%d", ++N);
599 mBlocks = geom->MakeBox(no_Block,Iron,0.5,15.75,2);
600 mBlocks->SetLineColor(2);
601 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(27.42,-15.48,-1, new TGeoRotation("r1",-7.5,0,0)));
602
603 sprintf(no_Block, "B12_PF%d", ++N);
604 mBlocks = geom->MakeBox(no_Block,Iron,0.5,2,4);
605 mBlocks->SetLineColor(2);
606 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(24.28,-39.27,-3, new TGeoRotation("r1",-7.5,0,0)));
607
608 sprintf(no_Block, "B12_PF%d", ++N);
609 mBlocks = geom->MakeBox(no_Block,Iron,1.5,15.75,2);
610 mBlocks->SetLineColor(2);
611 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(28.91,-15.68,-4, new TGeoRotation("r1",-7.5,0,0)));
612
613 sprintf(no_Block, "B12_RT%d_%d", F, ++N);
614 mBlocks = geom->MakeBox(no_Block,Iron,5.8,0.5,4);
615 mBlocks->SetLineColor(2);
616 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(18.8,-40.73,-3, new TGeoRotation("r1",-7.5,0,0)));
617
618
619/////////////////////// Stair
620 sprintf(no_Block, "B12_PF%d", ++N);
621 mBlocks = geom->MakeBox(no_Block,Iron,3,0.5,3.25);
622 mBlocks->SetLineColor(2);
623 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(28.33,-31.49,-2.75, new TGeoRotation("r1",-7.5,0,0)));
624
625 sprintf(no_Block, "B12_PF%d", ++N);
626 mBlocks = geom->MakeBox(no_Block,Iron,0.5,6.25,1.625);
627 mBlocks->SetLineColor(2);
628 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(30.56,-37.58,-4.375, new TGeoRotation("r1",-7.5,0,0)));
629 sprintf(no_Block, "B1_PF%d", ++N);
630 mBlocks = geom->MakeTrd1(no_Block,Iron,3.25,0,0.5,6.25);
631 mBlocks->SetLineColor(2);
632 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(30.56,-37.58,-2.75, new TGeoRotation("r1",-7.5,90,90)));
633
634
635 sprintf(no_Block, "B12_PF%d", ++N);
636 mBlocks = geom->MakeBox(no_Block,Iron,3,3,0.5);
637 mBlocks->SetLineColor(18);
638 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(27.37,-34.89,-2.5, new TGeoRotation("r1",-7.5,0,0)));
639 sprintf(no_Block, "B12_PF%d", ++N);
640 mBlocks = geom->MakeBox(no_Block,Iron,2.5,3,0.5);
641 mBlocks->SetLineColor(18);
642 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(27.74,-35.95,-3.5, new TGeoRotation("r1",-7.5,0,0)));
643 sprintf(no_Block, "B12_PF%d", ++N);
644 mBlocks = geom->MakeBox(no_Block,Iron,2.5,3,0.5);
645 mBlocks->SetLineColor(18);
646 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(27.61,-36.94,-4.5, new TGeoRotation("r1",-7.5,0,0)));
647 sprintf(no_Block, "B12_PF%d", ++N);
648 mBlocks = geom->MakeBox(no_Block,Iron,2.5,3,0.5);
649 mBlocks->SetLineColor(18);
650 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(27.48,-37.93,-5.5, new TGeoRotation("r1",-7.5,0,0)));
651
652
653
654//////////////////////// Ground
655 sprintf(no_Block, "B12_GR%d", N=0);
656 mBlocks = geom->MakeBox(no_Block,Iron,4.8,21,1);
657 mBlocks->SetLineColor(18);
658 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.53,-20.1,-2, new TGeoRotation("r1",-7.5,0,0)));
659
660 sprintf(no_Block, "B12_GR%d", ++N);
661 mBlocks = geom->MakeBox(no_Block,Iron,5.8,18,9);
662 mBlocks->SetLineColor(12);
663 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(12.86,-16.62,6, new TGeoRotation("r1",-7.5,0,0)));
664
665 sprintf(no_Block, "B12_GR%d", ++N);
666 mBlocks = geom->MakeBox(no_Block,Iron,4.8,22,2);
667 mBlocks->SetLineColor(12);
668 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.4,-21,13, new TGeoRotation("r1",-7.5,0,0)));
669
670 sprintf(no_Block, "B12_GR%d_%d", F, ++N);
671 mBlocks = geom->MakeBox(no_Block,Iron,4.8,22,1.95);
672 mBlocks->SetLineColor(30);
673 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.4,-21,9.05, new TGeoRotation("r1",-7.5,0,0)));
674 sprintf(no_Block, "B12_GR%d_%d", F, ++N);
675 mBlocks = geom->MakeBox(no_Block,Iron,4.8,22,0.05);
676 mBlocks->SetLineColor(18);
677 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoCombiTrans(21.4,-21,7.05, new TGeoRotation("r1",-7.5,0,0)));
678
679
680
681
682
683
684
685///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
686//////////////////////////////// Bridge-Building ///////////////////////////////
687///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
688 F=1; N = 0; nF = 4;
689
690
691 sprintf(no_Block, "B2_F%d", 6);
692 mBlocks = geom->MakeBox(no_Block,Iron,7,17.5,2);
693 mBlocks->SetLineColor(2);
694 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(12,-17.5,41));
695
696 while(F++ <= nF){
697//////////////////////// Front
698 sprintf(no_Block, "B2_F%d_%d",F, ++N);
699 mBlocks = geom->MakeBox(no_Block,Iron,0.8,4,4);
700 mBlocks->SetLineColor(2);
701 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(10,-4,-5 +(F*8)));
702
703 sprintf(no_Block, "B2_F%d_%d",F, ++N);
704 mBlocks = geom->MakeBox(no_Block,Iron,1.1,3.5,1);
705 mBlocks->SetLineColor(12);
706 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(11.9,-4,-2 +(F*8)));
707 sprintf(no_Block, "B2_F%d_%d",F, ++N);
708 mBlocks = geom->MakeBox(no_Block,Iron,1.1,4.5,0.2);
709 mBlocks->SetLineColor(18);
710 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(11.9,-4,-3.2+(F*8)));
711 sprintf(no_Block, "B2_F%d_%d",F, ++N);
712 mBlocks = geom->MakeBox(no_Block,Iron,1.1,4,2.8);
713 mBlocks->SetLineColor(2);
714 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(11.9,-4,-6.2+(F*8)));
715
716 sprintf(no_Block, "B2_F%d_%d",F, ++N);
717 mBlocks = geom->MakeBox(no_Block,Iron,0.7,4,4);
718 mBlocks->SetLineColor(2);
719 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(13.6,-4,-5 +(F*8)));
720
721 sprintf(no_Block, "B2_F%d_%d",F, ++N);
722 mBlocks = geom->MakeBox(no_Block,Iron,1.1,3.5,1);
723 mBlocks->SetLineColor(12);
724 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(15.4,-4,-2 +(F*8)));
725 sprintf(no_Block, "B2_F%d_%d",F, ++N);
726 mBlocks = geom->MakeBox(no_Block,Iron,1.1,4.5,0.2);
727 mBlocks->SetLineColor(18);
728 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(15.4,-4,-3.2+(F*8)));
729 sprintf(no_Block, "B2_F%d_%d",F, ++N);
730 mBlocks = geom->MakeBox(no_Block,Iron,1.1,4,2.8);
731 mBlocks->SetLineColor(2);
732 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(15.4,-4,-6.2+(F*8)));
733
734 sprintf(no_Block, "B2_F%d_%d",F, ++N);
735 mBlocks = geom->MakeBox(no_Block,Iron,0.7,4,4);
736 mBlocks->SetLineColor(2);
737 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(17.1,-4,-5 +(F*8)));
738
739
740//////////////////////////// Back
741 sprintf(no_Block, "B2_F%d_%d",F, ++N);
742 mBlocks = geom->MakeBox(no_Block,Iron,1.3,13.5,1.5);
743 mBlocks->SetLineColor(2);
744 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(6.8,-21.5,-2.5 +(F*8)));
745 sprintf(no_Block, "B2_F%d_%d",F, ++N);
746 mBlocks = geom->MakeBox(no_Block,Iron,1.3,14,0.2);
747 mBlocks->SetLineColor(18);
748 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(6.8,-21.5,-4.2+(F*8)));
749 sprintf(no_Block, "B2_F%d_%d",F, ++N);
750 mBlocks = geom->MakeBox(no_Block,Iron,1.3,13.5,2.3);
751 mBlocks->SetLineColor(2);
752 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(6.8,-21.5,-6.8+(F*8)));
753
754
755
756 sprintf(no_Block, "B2_F%d_%d",F, ++N);
757 mBlocks = geom->MakeBox(no_Block,Iron,3.7,13,1.5);
758 mBlocks->SetLineColor(12);
759 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(11.8,-21.5,-2.5 +(F*8)));
760 sprintf(no_Block, "B2_F%d_%d",F, ++N);
761 mBlocks = geom->MakeBox(no_Block,Iron,3.7,14,0.2);
762 mBlocks->SetLineColor(18);
763 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(11.8,-21.5,-4.2+(F*8)));
764 sprintf(no_Block, "B2_F%d_%d",F, ++N);
765 mBlocks = geom->MakeBox(no_Block,Iron,3.7,13.5,2.3);
766 mBlocks->SetLineColor(2);
767 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(11.8,-21.5,-6.8+(F*8)));
768
769
770 }
771
772
773 sprintf(no_Block, "B2_F%d_%d", 0,1);
774 mBlocks = geom->MakeBox(no_Block,Iron,5,13.5,6);
775 mBlocks->SetLineColor(30);
776// Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(10,-21.5,-15));
777 sprintf(no_Block, "B2_F%d_%d", 0,2);
778 mBlocks = geom->MakeBox(no_Block,Iron,5,13.5,4);
779 mBlocks->SetLineColor(2);
780 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(10,-21.5,-5));
781 sprintf(no_Block, "B2_F%d_%d", 0,3);
782 mBlocks = geom->MakeBox(no_Block,Iron,5,13.5,4);
783 mBlocks->SetLineColor(12);
784 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(10,-21.5,3));
785
786
787
788/////////////////////////// RoofTop
789 sprintf(no_Block, "B2_F%d", ++N);
790 mBlocks = geom->MakeBox(no_Block,Iron,7,17.4,0.1);
791 mBlocks->SetLineColor(18);
792 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(12,-17.5,43.1));
793
794 sprintf(no_Block, "B2_F%d", ++N);
795 mBlocks = geom->MakeBox(no_Block,Iron,4.5,0.2,0.5);
796 mBlocks->SetLineColor(18);
797 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(9.5,-34.7,43.5));
798 sprintf(no_Block, "B2_F%d", ++N);
799 mBlocks = geom->MakeBox(no_Block,Iron,4.5,0.05,0.5);
800 mBlocks->SetLineColor(2);
801 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(9.5,-34.95,43.5));
802
803 sprintf(no_Block, "B2_F%d", ++N);
804 mBlocks = geom->MakeBox(no_Block,Iron,4.75,0.2,0.5);
805 mBlocks->SetLineColor(18);
806 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(13.75,-0.3,43.5));
807 sprintf(no_Block, "B2_F%d", ++N);
808 mBlocks = geom->MakeBox(no_Block,Iron,4.55,0.05,0.5);
809 mBlocks->SetLineColor(2);
810 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(13.55,-0.05,43.5));
811
812
813
814
815
816
817
818
819
820///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
821//////////////////////////////// Building 3 ///////////////////////////////
822///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
823 F=0; N = 0; nF = 4; nW = 6;
824
825
826 sprintf(no_Block, "B3_F0%d", 7);
827 mBlocks = geom->MakeBox(no_Block,Iron,3,36,2);
828 mBlocks->SetLineColor(2);
829 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,49));
830
831 while (F++ < nF){
832 i=0; N=0;
833
834 sprintf(no_Block, "B3_F%d_%d",F, ++N);
835 mBlocks = geom->MakeBox(no_Block,Iron,4,36,0.2);
836 mBlocks->SetLineColor(18);
837 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,14.7 +(F*8)));
838
839 while (i++ <nW){
840 sprintf(no_Block, "B3_F%d_%d",F, ++N);
841 mBlocks = geom->MakeBox(no_Block,Iron,2.5,5,1.8);
842 mBlocks->SetLineColor(12);
843 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-6 -(i*12),12.8 +(F*8)));
844
845 sprintf(no_Block, "B3_F%d_%d",F, ++N);
846 mBlocks = geom->MakeBox(no_Block,Iron,2.8,1,1.8);
847 mBlocks->SetLineColor(18);
848 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-12 -(i*12),12.8 +(F*8)));
849
850 }
851
852 sprintf(no_Block, "B3_F%d_%d",F, ++N);
853 mBlocks = geom->MakeBox(no_Block,Iron,3,36,2);
854 mBlocks->SetLineColor(2);
855 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,9.2 +(F*8)));
856
857 }
858
859 sprintf(no_Block, "B3_F0%d", 1);
860 mBlocks = geom->MakeBox(no_Block,Iron,2.8,36,2);
861 mBlocks->SetLineColor(12);
862 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,13));
863 sprintf(no_Block, "B3_F0%d", 2);
864 mBlocks = geom->MakeBox(no_Block,Iron,2.8,36,2);
865 mBlocks->SetLineColor(30);
866 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,9));
867
868 sprintf(no_Block, "B3_F0%d", 3);
869 mBlocks = geom->MakeBox(no_Block,Iron,2.8,36,4);
870 mBlocks->SetLineColor(12);
871 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,3));
872
873 sprintf(no_Block, "B3_F0%d", 4);
874 mBlocks = geom->MakeBox(no_Block,Iron,2.8,36,4);
875 mBlocks->SetLineColor(2);
876 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,-5));
877
878/* sprintf(no_Block, "B3_F0%d", 5);
879 mBlocks = geom->MakeBox(no_Block,Iron,2.8,36,6);
880 mBlocks->SetLineColor(30);
881 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-48,-15));
882*/
883 sprintf(no_Block, "B3_F0%d", 61);
884 mBlocks = geom->MakeBox(no_Block,Iron,3,8,2);
885 mBlocks->SetLineColor(2);
886 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-88,49));
887
888 sprintf(no_Block, "B3_F0%d", 62);
889 mBlocks = geom->MakeBox(no_Block,Iron,0.5,8,24);
890 mBlocks->SetLineColor(2);
891 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.9,-88,23));
892 sprintf(no_Block, "B3_F0%d", 63);
893 mBlocks = geom->MakeBox(no_Block,Iron,2,7,24);
894 mBlocks->SetLineColor(12);
895 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-88,23));
896 sprintf(no_Block, "B3_F0%d", 64);
897 mBlocks = geom->MakeBox(no_Block,Iron,0.5,8,24);
898 mBlocks->SetLineColor(2);
899 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-0.1,-88,23));
900
901 sprintf(no_Block, "B3_F0%d", 65);
902 mBlocks = geom->MakeBox(no_Block,Iron,3,8,4);
903 mBlocks->SetLineColor(2);
904 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-88,-5));
905
906/////////////////////////////// Left-Side
907 nF = 6;nW = 6;
908
909 sprintf(no_Block, "B3_F2%d",7);
910 mBlocks = geom->MakeBox(no_Block,Iron,7,40.5,2);
911 mBlocks->SetLineColor(2);
912 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-43.5,49));
913
914 for (F=0 ; F<nF ; F++){ N=0;
915 for (i = 0 ; i<nW ; i++){
916 sprintf(no_Block, "B3_F2%d_%d",F,++N);
917 mBlocks = geom->MakeBox(no_Block,Iron,6,2.35,2);
918 mBlocks->SetLineColor(12);
919 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-14.35-(12*i),5 + (8*F)));
920 sprintf(no_Block, "B3_F2%d_%d",F,++N);
921 mBlocks = geom->MakeBox(no_Block,Iron,6.5,0.3,2);
922 mBlocks->SetLineColor(18);
923 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-17-(12*i),5 + (8*F)));
924 sprintf(no_Block, "B3_F2%d_%d",F,++N);
925 mBlocks = geom->MakeBox(no_Block,Iron,6,2.35,2);
926 mBlocks->SetLineColor(12);
927 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-19.65-(12*i),5 + (8*F)));
928
929 sprintf(no_Block, "B3_F2%d_%d",F,++N);
930 mBlocks = geom->MakeBox(no_Block,Iron,7,1,2);
931 mBlocks->SetLineColor(2);
932 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-23-(12*i),5 + (8*F)));
933 }
934
935 sprintf(no_Block, "B3_F2%d_%d",F,++N);
936 mBlocks = geom->MakeBox(no_Block,Iron,6.8,36,0.3);
937 mBlocks->SetLineColor(18);
938 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-48,3.3 + (8*F)));
939
940 sprintf(no_Block, "B3_F2%d_%d",F,++N);
941 mBlocks = geom->MakeBox(no_Block,Iron,7,36,2);
942 mBlocks->SetLineColor(2);
943 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-48,1 + (8*F)));
944
945 for(int i=0;i<4;i++){
946 sprintf(no_Block, "B3_F2%d_%d",F,++N);
947 mBlocks = geom->MakeBox(no_Block,Iron,7,0.5,1.4);
948 mBlocks->SetLineColor(2);
949 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-3.5,5.6 + (8*F)));
950
951 sprintf(no_Block, "B3_F2%d_%d",F,++N);
952 mBlocks = geom->MakeBox(no_Block,Iron,6,0.7,1.4);
953 mBlocks->SetLineColor(12);
954 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-4.7,5.6 + (8*F)));
955
956 sprintf(no_Block, "B3_F2%d_%d",F,++N);
957 mBlocks = geom->MakeBox(no_Block,Iron,7,1.6,1.4);
958 mBlocks->SetLineColor(2);
959 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-7,5.6 + (8*F)));
960
961 sprintf(no_Block, "B3_F2%d_%d",F,++N);
962 mBlocks = geom->MakeBox(no_Block,Iron,6,0.7,1.4);
963 mBlocks->SetLineColor(12);
964 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-9.3,5.6 + (8*F)));
965 }
966
967 sprintf(no_Block, "B3_F2%d_%d",F,++N);
968 mBlocks = geom->MakeBox(no_Block,Iron,7,3.5,2.6);
969 mBlocks->SetLineColor(2);
970 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-6.5,1.6 + (8*F)));
971 }
972
973 sprintf(no_Block, "B3_F2%d",71);
974 mBlocks = geom->MakeBox(no_Block,Iron,7,40.5,4);
975 mBlocks->SetLineColor(2);
976 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-43.5,-5));
977
978 sprintf(no_Block, "B3_F2%d",72);
979 mBlocks = geom->MakeBox(no_Block,Iron,7,2,30);
980 mBlocks->SetLineColor(2);
981 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-86,21));
982
983 sprintf(no_Block, "B3_F2%d",73);
984 mBlocks = geom->MakeBox(no_Block,Iron,7,1,30);
985 mBlocks->SetLineColor(2);
986 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.4,-11,21));
987
988
989
990//////////////////////////////////// Rooftop
991 sprintf(no_Block, "B3_RT%d",N = 0);
992 mBlocks = geom->MakeBox(no_Block,Iron,7,42.25,0.1);
993 mBlocks->SetLineColor(18);
994 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.15,-45.5,51.1));
995 sprintf(no_Block, "B3_RT%d", ++N);
996 mBlocks = geom->MakeBox(no_Block,Iron,2.75,41.75,0.1);
997 mBlocks->SetLineColor(18);
998 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-54,51.1));
999
1000 sprintf(no_Block, "B3_RT%d", ++N);
1001 mBlocks = geom->MakeBox(no_Block,Iron,0.24,41.99,0.5);
1002 mBlocks->SetLineColor(18);
1003 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(5.15,-53.99,51.5));
1004 sprintf(no_Block, "B3_RT%d", ++N);
1005 mBlocks = geom->MakeBox(no_Block,Iron,0.01,42,0.5);
1006 mBlocks->SetLineColor(2);
1007 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(5.4,-54,51.5));
1008
1009 sprintf(no_Block, "B3_RT%d", ++N);
1010 mBlocks = geom->MakeBox(no_Block,Iron,0.24,3.99,0.5);
1011 mBlocks->SetLineColor(18);
1012 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-0.35,-92,51.5));
1013 sprintf(no_Block, "B3_RT%d", ++N);
1014 mBlocks = geom->MakeBox(no_Block,Iron,0.01,4,0.5);
1015 mBlocks->SetLineColor(2);
1016 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-0.6,-92,51.5));
1017
1018 sprintf(no_Block, "B3_RT%d", ++N);
1019 mBlocks = geom->MakeBox(no_Block,Iron,2.99,0.24,0.5);
1020 mBlocks->SetLineColor(18);
1021 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-95.79,51.5));
1022 sprintf(no_Block, "B3_RT%d", ++N);
1023 mBlocks = geom->MakeBox(no_Block,Iron,3,0.01,0.5);
1024 mBlocks->SetLineColor(2);
1025 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(2.4,-96.04,51.5));
1026
1027 sprintf(no_Block, "B3_RT%d",++N);
1028 mBlocks = geom->MakeBox(no_Block,Iron,0.24,42.49,0.5);
1029 mBlocks->SetLineColor(18);
1030 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-14.14,-45.5,51.5));
1031 sprintf(no_Block, "B3_RT%d",++N);
1032 mBlocks = geom->MakeBox(no_Block,Iron,0.01,42.5,0.5);
1033 mBlocks->SetLineColor(2);
1034 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-14.39,-45.5,51.5));
1035
1036
1037/////////////////////// Stair
1038 sprintf(no_Block, "B3_RT%d",++N);
1039 mBlocks = geom->MakeBox(no_Block,Iron,6.99,0.24,0.5);
1040 mBlocks->SetLineColor(18);
1041 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.15,-3.25,51.5));
1042 sprintf(no_Block, "B3_RT%d",++N);
1043 mBlocks = geom->MakeBox(no_Block,Iron,7,0.01,0.5);
1044 mBlocks->SetLineColor(2);
1045 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.15,-3,51.5));
1046
1047 sprintf(no_Block, "B3_RT%d",++N);
1048 mBlocks = geom->MakeBox(no_Block,Iron,7,0.25,0.5);
1049 mBlocks->SetLineColor(18);
1050 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.15,-87.74,51.5));
1051 sprintf(no_Block, "B3_RT%d",++N);
1052 mBlocks = geom->MakeBox(no_Block,Iron,7,0.01,0.5);
1053 mBlocks->SetLineColor(2);
1054 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-7.15,-87.99,51.5));
1055
1056
1057
1058/////////////////////////////// Pillars
1059 N=0;
1060 for (i=0 ; i<6; i++) {
1061 sprintf(no_Block, "B3_PF%d", ++N);
1062 mBlocks = geom->MakeBox(no_Block,Iron,1.2,1.5,12);
1063 mBlocks->SetLineColor(2);
1064 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.6,-12-(12*i),3));
1065 }
1066 sprintf(no_Block, "B3_PF%d", ++N);
1067 mBlocks = geom->MakeBox(no_Block,Iron,1.5,40,2);
1068 mBlocks->SetLineColor(2);
1069 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(7,-56,-5));
1070
1071
1072////////////////////////////// Stair
1073 sprintf(no_Block, "B3_ST%d",N=0);
1074 mBlocks = geom->MakeBox(no_Block,Iron,0.5,7,5);
1075 mBlocks->SetLineColor(18);
1076 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-6.5,-88,-2));
1077
1078 for(int i=0;i<5;i++){
1079 sprintf(no_Block, "B3_ST%d",++N);
1080 mBlocks = geom->MakeBox(no_Block,Iron,3,5,0.5);
1081 mBlocks->SetLineColor(18);
1082 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3,-86-(0.7*i),-2-(1*i)));
1083 }
1084
1085
1086///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1087//////////////////////////////// Mid-Building ///////////////////////////////
1088///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1089
1090////////////////////////////////////// Left-Side
1091
1092 for(int F=0;F<5;F++){ N=0;
1093 sprintf(no_Block, "B4_LF%d_%d",F,++N);
1094 mBlocks = geom->MakeBox(no_Block,Iron,5.5,12.5,2.3);
1095 mBlocks->SetLineColor(2);
1096 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,-7.5,9.6+(8*F)));
1097
1098 sprintf(no_Block, "B4_LF%d_%d",F,++N);
1099 mBlocks = geom->MakeBox(no_Block,Iron,5.5,2,1.7);
1100 mBlocks->SetLineColor(2);
1101 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,3,13.6+(8*F)));
1102
1103 sprintf(no_Block, "B4_LF%d_%d",F,++N);
1104 mBlocks = geom->MakeBox(no_Block,Iron,5,10.5,1.7);
1105 mBlocks->SetLineColor(12);
1106 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,-9.5,13.6+(8*F)));
1107 }
1108
1109 sprintf(no_Block, "B4_LF%d_%d",9,N=0);
1110 mBlocks = geom->MakeBox(no_Block,Iron,5.5,12.5,6);
1111 mBlocks->SetLineColor(2);
1112 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,-7.5,53));
1113
1114 sprintf(no_Block, "B4_LF%d_%d",9,++N);
1115 mBlocks = geom->MakeBox(no_Block,Iron,5.5,2,4.5);
1116 mBlocks->SetLineColor(2);
1117 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,3,3));
1118 sprintf(no_Block, "B4_LF%d_%d",9,++N);
1119 mBlocks = geom->MakeBox(no_Block,Iron,5,10.5,4.5);
1120 mBlocks->SetLineColor(12);
1121 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,-9.5,3));
1122
1123 sprintf(no_Block, "B4_LF%d_%d",9,++N);
1124 mBlocks = geom->MakeBox(no_Block,Iron,5.5,12.5,5);
1125 mBlocks->SetLineColor(2);
1126 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,-7.5,-3));
1127
1128
1129
1130
1131///////////////////////////////////// Right-Side
1132 sprintf(no_Block, "B4_RS%d",++N);
1133 mBlocks = geom->MakeBox(no_Block,Iron,4.25,11,24);
1134 mBlocks->SetLineColor(12);
1135 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.25,-9,19));
1136 sprintf(no_Block, "B4_RS%d",++N);
1137 mBlocks = geom->MakeBox(no_Block,Iron,0.25,4,32);
1138 mBlocks->SetLineColor(2);
1139 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(8.75,2,27));
1140
1141
1142 sprintf(no_Block, "B4_RS%d",++N);
1143 mBlocks = geom->MakeBox(no_Block,Iron,4.5,2,1.8);
1144 mBlocks->SetLineColor(2);
1145 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,0,44.8));
1146 sprintf(no_Block, "B4_RS%d",++N);
1147 mBlocks = geom->MakeBox(no_Block,Iron,5.5,3.5,5);
1148 mBlocks->SetLineColor(20);
1149 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-12.5,0,-4));
1150 sprintf(no_Block, "B4_RS%d",++N);
1151 mBlocks = geom->MakeBox(no_Block,Iron,6,2,0.3);
1152 mBlocks->SetLineColor(18);
1153 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-4,46.3));
1154 sprintf(no_Block, "B4_RS%d",++N);
1155 mBlocks = geom->MakeBox(no_Block,Iron,4,2,1.5);
1156 mBlocks->SetLineColor(12);
1157 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-4,44.5));
1158 sprintf(no_Block, "B4_RS%d",++N);
1159 mBlocks = geom->MakeBox(no_Block,Iron,4.5,7,1.8);
1160 mBlocks->SetLineColor(2);
1161 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-13,44.8));
1162
1163 sprintf(no_Block, "B4_RS%d",++N);
1164 mBlocks = geom->MakeBox(no_Block,Iron,4.5,11,1.8);
1165 mBlocks->SetLineColor(2);
1166 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-9,48.4));
1167
1168 sprintf(no_Block, "B4_RS%d",++N);
1169 mBlocks = geom->MakeBox(no_Block,Iron,4.25,1.5,2);
1170 mBlocks->SetLineColor(12);
1171 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-0,52.2));
1172 sprintf(no_Block, "B4_RS%d",++N);
1173 mBlocks = geom->MakeBox(no_Block,Iron,4,2,2);
1174 mBlocks->SetLineColor(12);
1175 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-4,52.2));
1176 sprintf(no_Block, "B4_RS%d",++N);
1177 mBlocks = geom->MakeBox(no_Block,Iron,4.5,7,2);
1178 mBlocks->SetLineColor(2);
1179 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-13,52.2));
1180
1181
1182 sprintf(no_Block, "B4_RS%d",++N);
1183 mBlocks = geom->MakeBox(no_Block,Iron,4.5,11,2.4);
1184 mBlocks->SetLineColor(2);
1185 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-9,56.6));
1186
1187///////////////////////////////// RoofTop
1188 sprintf(no_Block, "B4_RT%d",N=0);
1189 mBlocks = geom->MakeBox(no_Block,Iron,4.25,10.9,0.2);
1190 mBlocks->SetLineColor(18);
1191 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(4.5,-9,59));
1192 sprintf(no_Block, "B4_RT%d",++N);
1193 mBlocks = geom->MakeBox(no_Block,Iron,5.25,12.4,0.2);
1194 mBlocks->SetLineColor(18);
1195 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,-7.5,59));
1196
1197 sprintf(no_Block, "B4_RT%d",++N);
1198 mBlocks = geom->MakeBox(no_Block,Iron,0.24,12.4,0.5);
1199 mBlocks->SetLineColor(18);
1200 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-8.79,-7.5,59.3));
1201 sprintf(no_Block, "B4_RT%d",++N);
1202 mBlocks = geom->MakeBox(no_Block,Iron,0.01,12.4,0.5);
1203 mBlocks->SetLineColor(2);
1204 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-9.06,-7.5,59.3));
1205
1206 sprintf(no_Block, "B4_RT%d",++N);
1207 mBlocks = geom->MakeBox(no_Block,Iron,0.24,13,0.5);
1208 mBlocks->SetLineColor(18);
1209 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(8.75,-7,59.3));
1210 sprintf(no_Block, "B4_RT%d",++N);
1211 mBlocks = geom->MakeBox(no_Block,Iron,0.01,13,0.5);
1212 mBlocks->SetLineColor(2);
1213 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(9,-7,59.3));
1214
1215 sprintf(no_Block, "B4_RT%d",++N);
1216 mBlocks = geom->MakeBox(no_Block,Iron,8.75,0.24,0.5);
1217 mBlocks->SetLineColor(18);
1218 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,-19.75,59.3));
1219 sprintf(no_Block, "B4_RT%d",++N);
1220 mBlocks = geom->MakeBox(no_Block,Iron,8.75,0.01,0.5);
1221 mBlocks->SetLineColor(2);
1222 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(0,-20.01,59.3));
1223
1224 sprintf(no_Block, "B4_RT%d",++N);
1225 mBlocks = geom->MakeBox(no_Block,Iron,5.25,0.24,0.5);
1226 mBlocks->SetLineColor(18);
1227 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.5,4.55,59.3));
1228 sprintf(no_Block, "B4_RT%d",++N);
1229 mBlocks = geom->MakeBox(no_Block,Iron,5.5,0.01,0.5);
1230 mBlocks->SetLineColor(2);
1231 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(-3.75,5.1,59.3));
1232
1233 sprintf(no_Block, "B4_RT%d",++N);
1234 mBlocks = geom->MakeBox(no_Block,Iron,3.5,0.24,0.5);
1235 mBlocks->SetLineColor(18);
1236 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(5,1.55,59.3));
1237 sprintf(no_Block, "B4_RT%d",++N);
1238 mBlocks = geom->MakeBox(no_Block,Iron,3.5,0.01,0.5);
1239 mBlocks->SetLineColor(2);
1240 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(5,2.1,59.3));
1241
1242///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1243//////////////////////////////// GROUND ///////////////////////////////
1244///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1245
1246 sprintf(no_Block, "GRD%d",++N);
1247 mBlocks = geom->MakeBox(no_Block,Iron,40,90,2);
1248 mBlocks->SetLineColor(30);
1249 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(5,-20,-9));
1250
1251 sprintf(no_Block, "GRD%d",++N);
1252 mBlocks = geom->MakeBox(no_Block,Iron,30,30,2);
1253 mBlocks->SetLineColor(41);
1254 Phy_Building->AddNodeOverlap(mBlocks,1,new TGeoTranslation(5,30,-5));
1255 geom->CloseGeometry();
1256
1257
1258
1259
1260////////////////////////// Draw
1261 Phy_Building->SetVisibility(0);
1262 Phy_Building->Draw("ogl");
1263
1264
1265}
#define N
Class describing rotation + translation.
Definition: TGeoMatrix.h:292
The manager class for any TGeo geometry.
Definition: TGeoManager.h:43
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
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.
TGeoVolume * MakeTrd1(const char *name, TGeoMedium *medium, Double_t dx1, Double_t dx2, Double_t dy, Double_t dz)
Make in one step a volume pointing to a TGeoTrd1 shape with given medium.
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
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.
Base class describing materials.
Definition: TGeoMaterial.h:31
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition: TGeoMedium.h:24
Class describing rotations.
Definition: TGeoMatrix.h:175
Class describing translations.
Definition: TGeoMatrix.h:122
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:47
virtual void SetVisibility(Bool_t vis=kTRUE)
set visibility of this volume
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
Add a TGeoNode to the list of nodes.
Definition: TGeoVolume.cxx:995
virtual void Draw(Option_t *option="")
draw top volume according to option
virtual void SetLineColor(Color_t lcolor)
Set the line color.
#define F(x, y, z)