#include "TGeoManager.h" void building() { 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(false); // 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(false); Phy_Building->Draw("ogl"); }