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