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