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
 
 
{
 
 
 
   
 
 
   
 
   geom->SetTopVisible(
false);
 
   
   
 
   
 
   int i = 1;
 
      while (i < 14) {
            i = i + 3;
         }
 
            } 
else if (i > 5 && 
f < 8) {
            }
         } else {
         }
         i++;
         if (i >= 14 && 
f >= 8 && 
f % 2 == 1) {
 
            i++;
         }
         }
      }
 
 
 
      i = 1;
   }
 
   
 
      i = 0;
      while (i < 65) {
         i++;
      }
   }
 
      i = 0;
      while (i < 65) {
         i++;
      }
   }
 
      i = 0;
      while (i < 22) {
         i++;
      }
   }
 
      i = 0;
      while (i < 22) {
         i++;
      }
   }
 
   
 
   int k;
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 10) {
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 52) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 52) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 20) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 20) {
         k++;
      }
      i++;
      k = 0;
   }
 
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 7) {
 
         if (k <= 2) {
 
         } else if (k >= 4) {
         }
 
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 7) {
 
         if (k <= 2) {
 
         } else if (k >= 4) {
         }
 
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
 
 
   
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
   
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
 
 
 
 
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 7) {
 
         if (k <= 2) {
 
         } else if (k >= 4) {
         }
 
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 7) {
 
         if (k <= 2) {
 
         } else if (k >= 4) {
         }
 
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
 
 
 
 
   
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
   
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 25) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 25) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 7) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 7) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 19) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 5) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 50) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 17) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
   
   
 
 
 
 
   
 
 
 
 
   
 
   
 
   k = 0;
   i = 0;
   while (i < 7) {
      while (k < 44) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 7) {
      while (k < 44) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
   while (i < 11) {
      while (k < 43) {
 
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 11) {
      while (k < 43) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 6) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 7) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 8) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 9) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 10) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 6) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 7) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 8) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 9) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 10) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
 
   k = 0;
   i = 0;
 
   while (i < 6) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 7) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 8) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 9) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 10) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
   k = 0;
   i = 0;
 
   while (i < 6) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 7) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 8) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 9) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 10) {
      while (k < 11) {
         k++;
      }
      i++;
      k = 0;
   }
 
   
 
 
 
 
 
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
   k = 0;
   i = 0;
 
   while (i < 5) {
      while (k < 6) {
         {
         }
         k++;
      }
      i++;
      k = 0;
   }
 
 
 
   
 
 
   
 
 
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Class describing rotation + translation.
The manager class for any TGeo geometry.
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.
void SetVisibility(Bool_t vis=kTRUE) override
set visibility of this volume
void Draw(Option_t *option="") override
draw top volume according to option
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.