Drawing a famous Korean gate, the South gate, called Namdeamoon in Korean, using ROOT geometry class. 
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
 
 
void south_gate()
{
 
 
 
 
 
  
 
 
  
 
  
  
 
 
 
char nBlocks[100];
int i=1;
int di[2]; di[0] = 0; di[1] = 30;
 
while (i<14){
      i = i+3;
   }
 
   sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 29,149,9);
 
   }
   } else {
   }
   i++;
   if (i>=14 && 
f>=8 && 
f%2 == 1){
 
      sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 29,149,9);
 
   i++;
   }
      sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 14.5,149,9);
 
      sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 14.5,149,9);
 
      sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 14.5,149,9);
 
      sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 14.5,149,9);
 
 
   }
}
      sprintf(nBlocks,
"f%d_bg%d",8,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 40,149,9);
 
      sprintf(nBlocks,
"f%d_bg%d",8,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 40,149,9);
 
 
      sprintf(nBlocks,
"f%d_bg%d",7,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 15,149,9);
 
      sprintf(nBlocks,
"f%d_bg%d",7,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 15,149,9);
 
 
      sprintf(nBlocks,
"f%d_bg%d",6,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 24,149,9);
 
      sprintf(nBlocks,
"f%d_bg%d",6,
N++);
 
      mBlock = geom->
MakeBox(nBlocks, Iron, 24,149,9);
 
 
 
 
 
}
 
 
 
 
 
i=0;
while (i<65){
   sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 5.8,3,3.8);
 
i++;
 
}
}
 
 
 
i=0;
while (i<65){
   sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 5.8,3,3.8);
 
i++;
 
}
}
 
 
 
 
 
i=0;
while (i<22){
   sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 3,5.8,3.8);
 
i++;
 
}
}
 
 
 
i=0;
while (i<22){
   sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 3,5.8,3.8);
 
i++;
 
}
}
 
 
 
 
int k;
k=0; i=0;
 
while (i<5){
while(k<10){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 70,89,14, (i*36)+0.5, (i+1)*36-0.5);
 
   k++;
}
   i++; k=0;
}
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 9,149,17);
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 9,149,18);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 9,149,17);
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 9,149,18);
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<52){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 1,3,7, 0, 180);
 
   k++;
}
   i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<52){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 2.5,3,7, 0, 180);
 
   k++;
}
   i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
while(k<20){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 2.5,3,6, 0, 180);
 
   k++;
}
   i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<20){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 2.5,3,7, 0, 180);
 
   k++;
}
   i++; k=0;
}
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<7){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 0,5,56, 0, 360);
 
 
   if (k<=2){
 
   }else if (k>=4){
   }
 
 
k++;
}
   i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
while(k<7){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeTubs(nBlocks,Iron, 0,5,56, 0, 360);
 
 
   if (k<=2){
 
   }else if (k>=4){
   }
 
 
k++;
}
   i++; k=0;
}
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 298,78,8);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 298,78,5);
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<6){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron,18,10,8);
 
   {
 
   }
   k++;
}
   i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<6){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron,18,10,8);
 
   {
 
   }
   k++;
}
   i++; k=0;
}
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,8);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,8);
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<6){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron,18,10,5);
 
   {
 
   }
   k++;
}
   i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,5);
 
      {
 
      }
      k++;
   }
      i++; k=0;
}
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,5);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,5);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
   i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
   i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
   i++; k=0;
}
 
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 330,10,2);
 
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 330,10,2);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 110,10,2);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 110,10,2);
 
 
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,2);
 
      {
 
      }
      k++;
   }
   i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,2);
 
      {
 
      }
      k++;
   }
   i++; k=0;
}
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,2);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,2);
 
 
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<7){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 0,5,30, 0, 360);
 
 
      if (k<=2){
 
      }else if (k>=4){
      }
 
 
   k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<7){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 0,5,30, 0, 360);
 
 
      if (k<=2){
 
      }else if (k>=4){
      }
 
 
   k++;
   }
   i++; k=0;
}
 
 
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 302,80,8);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 302,80,5);
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 305,80,2.5);
 
 
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,8);
 
      {
 
      }
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,8);
 
      {
 
      }
      k++;
   }
      i++; k=0;
}
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,8);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,8);
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,5);
 
      {
 
      }
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<6){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron,18,10,5);
 
      {
 
      }
      k++;
   }
      i++; k=0;
}
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,5);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,5);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<25){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 1.5,5,15);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<25){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 1.5,5,15);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<7){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,1.5,15);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while (k<7){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,1.5,15);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<19){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
   k++;
}
   i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<19){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<5){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 5,5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<50){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
 
while (i<5){
   while(k<17){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeBox(nBlocks,Iron, 2.5,2.5,20);
 
      k++;
   }
      i++; k=0;
}
 
 
   
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 270,15,20);
 
   
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 75,15,20);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 75,15,20);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 75,15,20);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 75,15,20);
 
 
 
 
 
   
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 50,15,20);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 50,15,20);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 50,15,20);
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron, 50,15,20);
 
 
 
 
 
 
 
k=0; i=0;
while (i<7){
   while(k<44){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
      i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<7){
   while(k<44){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
      i++; k=0;
}
 
 
 
 
 
k=0; i=0;
while (i<11){
   while(k<43){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
 
      k++;
   }
   i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<11){
   while(k<43){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<6){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<7){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<8){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<9){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<10){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
 
k=0; i=0;
 
while (i<6){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<7){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<8){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<9){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<10){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
 
 
 
 
k=0; i=0;
 
while (i<6){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<7){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<8){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<9){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<10){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<6){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<7){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<8){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
k=0; i=0;
 
while (i<9){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
k=0; i=0;
 
while (i<10){
   while(k<11){
      sprintf(nBlocks,
"ab%d",
N++);
 
      mBlock = geom->
MakeTubs(nBlocks,Iron, 3,6,6,10,170);
 
      k++;
   }
   i++; k=0;
}
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 330,10,2);
 
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 330,10,2);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 110,10,2);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 110,10,2);
 
 
 
 
 
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<6){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron,18,10,2);
 
   {
 
   }
   k++;
}
   i++; k=0;
}
 
 
 
 
k=0; i=0;
 
while (i<5){
while(k<6){
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks,Iron,18,10,2);
 
   {
 
   }
   k++;
}
   i++; k=0;
}
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,2);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 18,10,2);
 
 
 
 
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 300,75,40);
 
 
 
 
   sprintf(nBlocks,
"ab%d",
N++);
 
   mBlock = geom->
MakeBox(nBlocks, Iron, 305,80,2.5);
 
 
 
 
 
 
}
Class describing rotation + translation.
 
The manager class for any TGeo geometry.
 
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
 
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
Make in one step a volume pointing to a box shape with given medium.
 
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
 
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
 
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.
 
Base class describing materials.
 
Media are used to store properties related to tracking and which are useful only when using geometry ...
 
Class describing rotations.
 
Class describing translations.
 
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
 
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.
 
virtual void SetVisibility(Bool_t vis=kTRUE)
set visibility of this volume
 
virtual void Draw(Option_t *option="")
draw top volume according to option
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.