Logo ROOT   6.14/05
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 
19 void 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 }
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
The manager class for any TGeo geometry.
Definition: TGeoManager.h:38
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:48
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
Class describing translations.
Definition: TGeoMatrix.h:121
#define N
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
Base class describing materials.
Definition: TGeoMaterial.h:29
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.
#define F(x, y, z)
Class describing rotation + translation.
Definition: TGeoMatrix.h:291
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
Class describing rotations.
Definition: TGeoMatrix.h:174
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
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition: TGeoMedium.h:23
virtual void SetLineColor(Color_t lcolor)
Set the line color.