Logo ROOT  
Reference Guide
building.C File Reference

Detailed Description

Drawing a building where Dept. of Physics is, using ROOT geometry class.

Reviewed by Sunman Kim (sunma.nosp@m.n98@.nosp@m.hanma.nosp@m.il.n.nosp@m.et) Supervisor: Prof. Inkyu Park (icpar.nosp@m.k@ph.nosp@m.ysics.nosp@m..uos.nosp@m..ac.k.nosp@m.r)

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

#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(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");
}
Author
Hyung Ju Lee (lacca.nosp@m.lus@.nosp@m.nate..nosp@m.com), Dept. of Physics, Univ. of Seoul

Definition in file building.C.

TGeoManager::MakeTrd1
TGeoVolume * MakeTrd1(const char *name, TGeoMedium *medium, Double_t dx1, Double_t dx2, Double_t dy, Double_t dz)
Make in one step a volume pointing to a TGeoTrd1 shape with given medium.
Definition: TGeoManager.cxx:3052
TGeoCombiTrans
Definition: TGeoMatrix.h:291
TGeoManager::MakeBox
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
Make in one step a volume pointing to a box shape with given medium.
Definition: TGeoManager.cxx:2918
F
#define F(x, y, z)
TGeoManager::CloseGeometry
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
Definition: TGeoManager.cxx:1359
N
#define N
TGeoManager::SetTopVisible
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
Definition: TGeoManager.cxx:2193
TGeoTranslation
Definition: TGeoMatrix.h:121
TGeoMaterial
Definition: TGeoMaterial.h:34
TGeoManager::SetTopVolume
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
Definition: TGeoManager.cxx:3397
TGeoVolume::Draw
virtual void Draw(Option_t *option="")
draw top volume according to option
Definition: TGeoVolume.cxx:1146
TGeoRotation
Definition: TGeoMatrix.h:174
TGeoManager.h
TGeoVolume::AddNodeOverlap
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
Add a TGeoNode to the list of nodes.
Definition: TGeoVolume.cxx:996
TGeoManager::MakeTubs
TGeoVolume * MakeTubs(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Double_t phi2)
Make in one step a volume pointing to a tube segment shape with given medium.
Definition: TGeoManager.cxx:2966
TGeoMedium
Definition: TGeoMedium.h:23
TGeoVolume::SetLineColor
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition: TGeoVolume.cxx:2035
TGeoManager
Definition: TGeoManager.h:44
TGeoVolume::SetVisibility
virtual void SetVisibility(Bool_t vis=kTRUE)
set visibility of this volume
Definition: TGeoVolume.cxx:2197
TGeoVolume
Definition: TGeoVolume.h:44