ROOT logo
#include "TGeoManager.h"
   
void station1() 
{
  // Drawing a space station, using ROOT geometry class.
  // Name: station1.C
  // Author: Chang Yeol Lee, Dept. of Physics, Univ. of Seoul
  // Reviewed by Sunman Kim (sunman98@hanmail.net)
  // Supervisor: Prof. Inkyu Park (icpark@physics.uos.ac.kr)
  // 
  // How to run: .x station1.C in ROOT terminal, then use OpenGL
  //
  // This macro was created for the evaluation of Computational Physics course in 2006.
  // We thank to Prof. Inkyu Park for his special lecture on ROOT and to all of ROOT team
  //

 TGeoManager *geom=new TGeoManager("geom","My first 3D geometry");

 TGeoMaterial *vacuum=new TGeoMaterial("vacuum",0,0,0);
 TGeoMaterial *Fe=new TGeoMaterial("Fe",55.845,26,7.87);
 TGeoMaterial *Cu=new TGeoMaterial("Cu",63.549,29,8.92);

 TGeoMedium *Air=new TGeoMedium("Vacuum",0,vacuum);
 TGeoMedium *Iron=new TGeoMedium("Iron",1,Fe);
 TGeoMedium *Copper=new TGeoMedium("Copper",2,Cu);

 TGeoVolume *top=geom->MakeBox("top",Air,1000,1000,1000);
 geom->SetTopVolume(top);
 geom->SetTopVisible(0);
 // If you want to see the boundary, please input the number, 1 instead of 0.
 // Like this, geom->SetTopVisible(1); 



 TGeoVolume *Cone1=geom->MakeCone("Cone1",Copper,650,0,20,0,20);
 Cone1->SetFillColor(35);
 Cone1->SetLineColor(35);
 top->AddNodeOverlap(Cone1,1,new TGeoTranslation(0,0,0));
 
 TGeoVolume *Cone2=geom->MakeCone("Cone2",Copper,25,0,30,0,30);
 Cone2->SetFillColor(7);
 Cone2->SetLineColor(7);
 top->AddNodeOverlap(Cone2,1,new TGeoTranslation(0,0,630));

 TGeoVolume *Cone21=geom->MakeCone("Cone21",Copper,30,0,30,0,30);
 Cone21->SetFillColor(29);
 Cone21->SetLineColor(29);
 top->AddNodeOverlap(Cone21,1,new TGeoTranslation(0,0,550));

 TGeoVolume *Cone22=geom->MakeCone("Cone22",Copper,5,0,50,0,50);
 Cone22->SetFillColor(2);
 Cone22->SetLineColor(2);
 top->AddNodeOverlap(Cone22,1,new TGeoTranslation(0,0,500));

for(int i=0;i<28;i++){
 TGeoVolume *Cone00=geom->MakeCone("Cone00",Copper,3,0,25,0,25);
 Cone00->SetFillColor(1);
 Cone00->SetLineColor(1);
 top->AddNodeOverlap(Cone00,1,new TGeoTranslation(0,0,-100+20*i));
}

 TGeoVolume *Cone3=geom->MakeCone("Cone3",Copper,60,0,70,0,0);
 Cone3->SetFillColor(13);
 Cone3->SetLineColor(13);
 top->AddNodeOverlap(Cone3,1,new TGeoTranslation(-60,0,-110));
 
 TGeoVolume *Cone31=geom->MakeCone("Cone31",Copper,230,0,70,0,70);
 Cone31->SetFillColor(13);
 Cone31->SetLineColor(13);
 top->AddNodeOverlap(Cone31,1,new TGeoTranslation(-60,0,-400));
 
for(int i=0;i<5;i++){
 Cone31=geom->MakeCone("Cone31",Copper,7,0,73,0,73);
 Cone31->SetFillColor(21);
 Cone31->SetLineColor(21);
 top->AddNodeOverlap(Cone31,1,new TGeoTranslation(-60,0,-170-(500/6*(i+1))));
 top->AddNodeOverlap(Cone31,1,new TGeoTranslation(60,0,-170-(500/6*(i+1))));
 top->AddNodeOverlap(Cone31,1,new TGeoTranslation(0,-60,-170-(500/6*(i+1))));
 top->AddNodeOverlap(Cone31,1,new TGeoTranslation(0,60,-170-(500/6*(i+1))));
}

 TGeoVolume *Cone32=geom->MakeCone("Cone32",Copper,30,60,50,0,70);
 Cone32->SetFillColor(35);
 Cone32->SetLineColor(35);
 top->AddNodeOverlap(Cone32,1,new TGeoTranslation(-60,0,-650));

 TGeoVolume *Cone321=geom->MakeCone("Cone321",Copper,5,60,50,0,50);
 Cone321->SetFillColor(2);
 Cone321->SetLineColor(2);
 top->AddNodeOverlap(Cone321,1,new TGeoTranslation(-60,0,-680));
 
 TGeoVolume *Cone4=geom->MakeCone("Cone4",Copper,60,0,70,0,0);
 Cone4->SetFillColor(13);
 Cone4->SetLineColor(13);
 top->AddNodeOverlap(Cone3,1,new TGeoTranslation(60,0,-110));

for(int i=1;i<=8;i++){
 TGeoVolume *Torus2=geom->MakeTorus("Torus2",Iron,120,20,40,45*i-4,8);
 Torus2->SetFillColor(18);
 Torus2->SetLineColor(18);
 top->AddNodeOverlap(Torus2,1,new TGeoTranslation(0,0,610));

 TGeoVolume *Tubs=geom->MakeTubs("Line",Iron,0,190,5,45*i-1,45*i+1);
 Tubs->SetFillColor(18);
 Tubs->SetLineColor(18);
 top->AddNodeOverlap(Tubs,1,new TGeoTranslation(0,0,610));
}

 TGeoVolume *Cone41=geom->MakeCone("Cone41",Copper,230,0,70,0,70);
 Cone41->SetFillColor(13);
 Cone41->SetLineColor(13);
 top->AddNodeOverlap(Cone41,1,new TGeoTranslation(60,0,-400));
 
 TGeoVolume *Cone42=geom->MakeCone("Cone42",Copper,30,60,50,0,70);
 Cone42->SetFillColor(35);
 Cone42->SetLineColor(35);
 top->AddNodeOverlap(Cone42,1,new TGeoTranslation(60,0,-650));

 TGeoVolume *Cone421=geom->MakeCone("Cone421",Copper,5,60,50,0,50);
 Cone421->SetFillColor(2);
 Cone421->SetLineColor(2);
 top->AddNodeOverlap(Cone421,1,new TGeoTranslation(60,0,-680));
 
 TGeoVolume *Cone5=geom->MakeCone("Cone5",Copper,60,0,70,0,0);
 Cone5->SetFillColor(13);
 Cone5->SetLineColor(13);
 top->AddNodeOverlap(Cone3,1,new TGeoTranslation(0,-60,-110));

 TGeoVolume *Cone51=geom->MakeCone("Cone51",Copper,230,0,70,0,70);
 Cone51->SetFillColor(13);
 Cone51->SetLineColor(13);
 top->AddNodeOverlap(Cone51,1,new TGeoTranslation(0,-60,-400));

 TGeoVolume *Cone52=geom->MakeCone("Cone52",Copper,30,60,50,0,70);
 Cone52->SetFillColor(35);
 Cone52->SetLineColor(35);
 top->AddNodeOverlap(Cone52,1,new TGeoTranslation(0,-60,-650));

 TGeoVolume *Cone521=geom->MakeCone("Cone521",Copper,5,60,50,0,50);
 Cone521->SetFillColor(2);
 Cone521->SetLineColor(2);
 top->AddNodeOverlap(Cone521,1,new TGeoTranslation(0,-60,-680));
 
 TGeoVolume *Cone6=geom->MakeCone("Cone6",Copper,60,0,70,0,0);
 Cone6->SetFillColor(13);
 Cone6->SetLineColor(13);
 top->AddNodeOverlap(Cone3,1,new TGeoTranslation(0,60,-110));
 
 TGeoVolume *Cone61=geom->MakeCone("Cone61",Copper,230,0,70,0,70);
 Cone61->SetFillColor(13);
 Cone61->SetLineColor(13);
 top->AddNodeOverlap(Cone61,1,new TGeoTranslation(0,60,-400));

 TGeoVolume *Cone62=geom->MakeCone("Cone62",Copper,30,60,50,0,70);
 Cone62->SetFillColor(35);
 Cone62->SetLineColor(35);
 top->AddNodeOverlap(Cone62,1,new TGeoTranslation(0,60,-650));

 TGeoVolume *Cone621=geom->MakeCone("Cone621",Copper,5,60,50,0,50);
 Cone621->SetFillColor(2);
 Cone621->SetLineColor(2);
 top->AddNodeOverlap(Cone621,1,new TGeoTranslation(0,60,-680));
 
 TGeoVolume *Cone7=geom->MakeCone("Cone7",Copper,50,0,40,0,5);
 Cone7->SetFillColor(13);
 Cone7->SetLineColor(13);
 top->AddNodeOverlap(Cone7,1,new TGeoCombiTrans(-90,-60,10,new TGeoRotation("Cone7",90,-90,-90)));

 TGeoVolume *Cone71=geom->MakeCone("Cone71",Copper,50,0,60,0,40);
 Cone71->SetFillColor(16);
 Cone71->SetLineColor(16);
 top->AddNodeOverlap(Cone71,1,new TGeoCombiTrans(10,-60,10,new TGeoRotation("Cone7",90,-90,-90)));

 TGeoVolume *Cone711=geom->MakeCone("Cone711",Copper,10,0,10,0,60);
 Cone711->SetFillColor(13);
 Cone711->SetLineColor(13);
 top->AddNodeOverlap(Cone711,1,new TGeoCombiTrans(70,-60,10,new TGeoRotation("Cone7",90,-90,-90))); 

 TGeoVolume *Torus1=geom->MakeTorus("Torus1",Iron,120,30,20);
 Torus1->SetFillColor(33);
 Torus1->SetLineColor(33);
 top->AddNodeOverlap(Torus1,1,new TGeoTranslation(0,0,610)); 

 TGeoVolume *Cone8=geom->MakeCone("Cone8",Copper,50,0,40,0,5);
 Cone8->SetFillColor(13);
 Cone8->SetLineColor(13);
 top->AddNodeOverlap(Cone8,1,new TGeoCombiTrans(100,60,10,new TGeoRotation("Cone8",90,90,0)));
 
 TGeoVolume *Cone81=geom->MakeCone("Cone81",Copper,50,0,60,0,40);
 Cone81->SetFillColor(16);
 Cone81->SetLineColor(16);
 top->AddNodeOverlap(Cone81,1,new TGeoCombiTrans(0,60,10,new TGeoRotation("Cone8",90,90,0)));

 TGeoVolume *Cone811=geom->MakeCone("Cone811",Copper,10,0,10,0,60);
 Cone811->SetFillColor(13);
 Cone811->SetLineColor(13);
 top->AddNodeOverlap(Cone811,1,new TGeoCombiTrans(-60,60,10,new TGeoRotation("Cone8",90,90,0)));

 TGeoVolume *Box1=geom->MakeBox("Box1",Copper,10,10,3);
 Box1->SetFillColor(3);
 Box1->SetLineColor(3);
 top->AddNodeOverlap(Box1,1,new TGeoCombiTrans(-110,-50,645,new TGeoRotation("Box1",0,0,30)));

 TGeoVolume *Box2=geom->MakeBox("Box2",Copper,10,10,3);
 Box2->SetFillColor(3);
 Box2->SetLineColor(3);
 top->AddNodeOverlap(Box2,1,new TGeoCombiTrans(110,45,645,new TGeoRotation("Box2",0,0,30)));

 TGeoVolume *Box3=geom->MakeBox("Box3",Copper,10,10,3);
 Box3->SetFillColor(3);
 Box3->SetLineColor(3);
 top->AddNodeOverlap(Box3,1,new TGeoCombiTrans(-45,-110,645,new TGeoRotation("Box3",0,0,70)));

 TGeoVolume *Box4=geom->MakeBox("Box4",Copper,10,10,3);
 Box4->SetFillColor(3);
 Box4->SetLineColor(3);
 top->AddNodeOverlap(Box4,1,new TGeoCombiTrans(45,110,645,new TGeoRotation("Box4",0,0,70)));

 TGeoVolume *Box5=geom->MakeBox("Box5",Copper,10,10,3);
 Box5->SetFillColor(3);
 Box5->SetLineColor(3);
 top->AddNodeOverlap(Box5,1,new TGeoCombiTrans(45,-110,645,new TGeoRotation("Box5",0,0,30)));

 TGeoVolume *Box6=geom->MakeBox("Box6",Copper,10,10,3);
 Box6->SetFillColor(3);
 Box6->SetLineColor(3);
 top->AddNodeOverlap(Box6,1,new TGeoCombiTrans(-45,110,645,new TGeoRotation("Box6",0,0,25)));

 TGeoVolume *Box7=geom->MakeBox("Box7",Copper,10,10,3);
 Box7->SetFillColor(3);
 Box7->SetLineColor(3);
 top->AddNodeOverlap(Box7,1,new TGeoCombiTrans(110,-50,645,new TGeoRotation("Box7",0,0,60)));

 TGeoVolume *Box8=geom->MakeBox("Box8",Copper,10,10,3);
 Box8->SetFillColor(3);
 Box8->SetLineColor(3);
 top->AddNodeOverlap(Box8,1,new TGeoCombiTrans(-110,45,645,new TGeoRotation("Box8",0,0,60)));

 Torus1=geom->MakeTorus("Torus1",Iron,120,30,20);
 Torus1->SetFillColor(33);
 Torus1->SetLineColor(33);
 top->AddNodeOverlap(Torus1,1,new TGeoTranslation(0,0,610)); 

for(int i=1;i<=8;i++){
 TGeoVolume *Torus2=geom->MakeTorus("Torus2",Iron,120,20,40,45*i-4,8);
 Torus2->SetFillColor(18);
 Torus2->SetLineColor(18);
 top->AddNodeOverlap(Torus2,1,new TGeoTranslation(0,0,610));

 TGeoVolume *Tubs=geom->MakeTubs("Line",Iron,0,190,5,45*i-1,45*i+1);
 Tubs->SetFillColor(18);
 Tubs->SetLineColor(18);
 top->AddNodeOverlap(Tubs,1,new TGeoTranslation(0,0,610));
}

 TGeoVolume *Sphere00=geom->MakeSphere("Sphere00",Iron,0,15,0,45,0);
 Sphere00->SetFillColor(2);
 Sphere00->SetLineColor(2);
 top->AddNodeOverlap(Sphere00,1,new TGeoTranslation(-145,-145,600));

 TGeoVolume *Sphere01=geom->MakeSphere("Sphere01",Iron,0,15,0,45,0);
 Sphere01->SetFillColor(2);
 Sphere01->SetLineColor(2); 
 top->AddNodeOverlap(Sphere01,1,new TGeoTranslation(0,-210,600));

 TGeoVolume *Sphere02=geom->MakeSphere("Sphere02",Iron,0,15,0,45,0);
 Sphere02->SetFillColor(2);
 Sphere02->SetLineColor(2);
 top->AddNodeOverlap(Sphere02,1,new TGeoTranslation(145,145,600));

 TGeoVolume *Sphere03=geom->MakeSphere("Sphere03",Iron,0,15,0,45,0);
 Sphere03->SetFillColor(2);
 Sphere03->SetLineColor(2);
 top->AddNodeOverlap(Sphere03,1,new TGeoTranslation(0,210,600));

 TGeoVolume *Sphere04=geom->MakeSphere("Sphere04",Iron,0,15,0,45,0);
 Sphere04->SetFillColor(2);
 Sphere04->SetLineColor(2);
 top->AddNodeOverlap(Sphere04,1,new TGeoTranslation(145,-145,600));

 TGeoVolume *Sphere05=geom->MakeSphere("Sphere05",Iron,0,15,0,45,0);
 Sphere05->SetFillColor(2);
 Sphere05->SetLineColor(2);
 top->AddNodeOverlap(Sphere05,1,new TGeoTranslation(-210,0,600));

 TGeoVolume *Sphere06=geom->MakeSphere("Sphere06",Iron,0,15,0,45,0);
 Sphere06->SetFillColor(2);
 Sphere06->SetLineColor(2);
 top->AddNodeOverlap(Sphere06,1,new TGeoTranslation(210,0,600));

 TGeoVolume *Sphere07=geom->MakeSphere("Sphere07",Iron,0,15,0,45,0);
 Sphere07->SetFillColor(2);
 Sphere07->SetLineColor(2);
 top->AddNodeOverlap(Sphere07,1,new TGeoTranslation(-145,145,600));

 TGeoVolume *Torus3=geom->MakeTorus("Torus3",Iron,190,0,10);
 Torus3->SetFillColor(18);
 Torus3->SetLineColor(18);
 top->AddNodeOverlap(Torus3,1,new TGeoTranslation(0,0,610));

 TGeoVolume *Sphere1=geom->MakeSphere("Sphere1",Iron,0,20,0,180,0,360);
 Sphere1->SetFillColor(2);
 Sphere1->SetLineColor(2);
 top->AddNodeOverlap(Sphere1,1,new TGeoTranslation(0,0,650));

 TGeoVolume *Tubs=geom->MakeTubs("Tubs",Iron,0,40,50,0,360);
 Tubs->SetFillColor(29);
 Tubs->SetLineColor(29);
 top->AddNodeOverlap(Tubs,1,new TGeoTranslation(0,0,500));

 TGeoVolume *Tubs1=geom->MakeTubs("Tubs1",Iron,50,60,230,40,150);
 Tubs1->SetFillColor(18);
 Tubs1->SetLineColor(18);
 top->AddNodeOverlap(Tubs1,1,new TGeoTranslation(-170,-30,-400));

 TGeoVolume *Tubs11=geom->MakeTubs("Tubs11",Iron,50,60,230,220,330);
 Tubs11->SetFillColor(18);
 Tubs11->SetLineColor(18);
 top->AddNodeOverlap(Tubs11,1,new TGeoTranslation(-260,35,-400));

 TGeoVolume *Sphere111=geom->MakeSphere("Sphere111",Iron,0,10,0,180,0,360);
 Sphere111->SetFillColor(2);
 Sphere111->SetLineColor(2);
 top->AddNodeOverlap(Sphere111,1,new TGeoTranslation(-310,0,-165));

 TGeoVolume *Sphere112=geom->MakeSphere("Sphere112",Iron,0,10,0,180,0,360);
 Sphere112->SetFillColor(2);
 Sphere112->SetLineColor(2);
 top->AddNodeOverlap(Sphere112,1,new TGeoTranslation(-310,0,-400));

 TGeoVolume *Sphere113=geom->MakeSphere("Sphere113",Iron,0,10,0,180,0,360);
 Sphere113->SetFillColor(2);
 Sphere113->SetLineColor(2);
 top->AddNodeOverlap(Sphere113,1,new TGeoTranslation(-310,0,-635));

 TGeoVolume *Tubs2=geom->MakeTubs("Tubs2",Iron,50,60,230,220,330);
 Tubs2->SetFillColor(18);
 Tubs2->SetLineColor(18);
 top->AddNodeOverlap(Tubs2,1,new TGeoTranslation(170,30,-400));

 TGeoVolume *Tubs21=geom->MakeTubs("Tubs21",Iron,50,60,230,400,510);
 Tubs21->SetFillColor(18);
 Tubs21->SetLineColor(18);
 top->AddNodeOverlap(Tubs21,1,new TGeoTranslation(265,-25,-400));

 TGeoVolume *Sphere211=geom->MakeSphere("Sphere211",Iron,0,10,0,180,0,360);
 Sphere211->SetFillColor(2);
 Sphere211->SetLineColor(2);
 top->AddNodeOverlap(Sphere211,1,new TGeoTranslation(310,0,-165));

 TGeoVolume *Sphere212=geom->MakeSphere("Sphere212",Iron,0,10,0,180,0,360);
 Sphere212->SetFillColor(2);
 Sphere212->SetLineColor(2);
 top->AddNodeOverlap(Sphere212,1,new TGeoTranslation(310,0,-400));

 TGeoVolume *Sphere213=geom->MakeSphere("Sphere213",Iron,0,10,0,180,0,360);
 Sphere213->SetFillColor(2);
 Sphere213->SetLineColor(2);
 top->AddNodeOverlap(Sphere213,1,new TGeoTranslation(310,0,-635));

 TGeoVolume *Tubs3=geom->MakeTubs("Tubs3",Iron,50,60,230,130,260);
 Tubs3->SetFillColor(18);
 Tubs3->SetLineColor(18);
 top->AddNodeOverlap(Tubs3,1,new TGeoTranslation(30,-170,-400));
 
 TGeoVolume *Tubs31=geom->MakeTubs("Tubs31",Iron,50,60,230,310,440);
 Tubs31->SetFillColor(18);
 Tubs31->SetLineColor(18);
 top->AddNodeOverlap(Tubs31,1,new TGeoTranslation(0,-275,-400));
 
 TGeoVolume *Sphere311=geom->MakeSphere("Sphere311",Iron,0,10,0,180,0,360);
 Sphere311->SetFillColor(2);
 Sphere311->SetLineColor(2);
 top->AddNodeOverlap(Sphere311,1,new TGeoTranslation(-35,320,-165));

 TGeoVolume *Sphere312=geom->MakeSphere("Sphere312",Iron,0,10,0,180,0,360);
 Sphere312->SetFillColor(2);
 Sphere312->SetLineColor(2);
 top->AddNodeOverlap(Sphere312,1,new TGeoTranslation(-35,320,-400));

 TGeoVolume *Sphere313=geom->MakeSphere("Sphere313",Iron,0,10,0,180,0,360);
 Sphere313->SetFillColor(2);
 Sphere313->SetLineColor(2);
 top->AddNodeOverlap(Sphere313,1,new TGeoTranslation(-35,320,-635));

 TGeoVolume *Tubs4=geom->MakeTubs("Tubs4",Iron,50,60,230,310,440);
 Tubs4->SetFillColor(18);
 Tubs4->SetLineColor(18);
 top->AddNodeOverlap(Tubs4,1,new TGeoTranslation(-30,170,-400));
 
 TGeoVolume *Tubs41=geom->MakeTubs("Tubs41",Iron,50,60,230,490,620);
 Tubs41->SetFillColor(18);
 Tubs41->SetLineColor(18);
 top->AddNodeOverlap(Tubs41,1,new TGeoTranslation(0,275,-400));
 
 TGeoVolume *Sphere411=geom->MakeSphere("Sphere411",Iron,0,10,0,180,0,360);
 Sphere411->SetFillColor(2);
 Sphere411->SetLineColor(2);
 top->AddNodeOverlap(Sphere411,1,new TGeoTranslation(30,-320,-165));

 TGeoVolume *Sphere412=geom->MakeSphere("Sphere412",Iron,0,10,0,180,0,360);
 Sphere412->SetFillColor(2);
 Sphere412->SetLineColor(2);
 top->AddNodeOverlap(Sphere412,1,new TGeoTranslation(30,-320,-400));
 
 TGeoVolume *Sphere413=geom->MakeSphere("Sphere413",Iron,0,10,0,180,0,360);
 Sphere413->SetFillColor(2);
 Sphere413->SetLineColor(2);
 top->AddNodeOverlap(Sphere413,1,new TGeoTranslation(30,-320,-635));

 TGeoVolume *Cone010=geom->MakeCone("Cone010",Iron,30,0,30,0,30);
 Cone010->SetFillColor(2);
 Cone010->SetLineColor(2);
 top->AddNodeOverlap(Cone010,1,new TGeoTranslation(0,0,250));

 TGeoVolume *Torus010=geom->MakeTorus("Torus010",Iron,300,50,40);
 Torus010->SetFillColor(33);
 Torus010->SetLineColor(33);
 top->AddNodeOverlap(Torus010,1,new TGeoTranslation(0,0,250));

 TGeoVolume *Torus011=geom->MakeTorus("Torus011",Iron,400,10,10);
 Torus011->SetFillColor(33);
 Torus011->SetLineColor(33);
 top->AddNodeOverlap(Torus011,1,new TGeoTranslation(0,0,250));

 TGeoVolume *Torus012=geom->MakeTorus("Torus012",Iron,200,10,10);
 Torus012->SetFillColor(33);
 Torus012->SetLineColor(33);
 top->AddNodeOverlap(Torus012,1,new TGeoTranslation(0,0,250));

 TGeoVolume *Sphere010=geom->MakeSphere("Sphere010",Iron,0,10,0,180,0,360);
 Sphere010->SetFillColor(2);
 Sphere010->SetLineColor(2);
 top->AddNodeOverlap(Sphere010,1,new TGeoTranslation(-290,-290,250));

 TGeoVolume *Sphere011=geom->MakeSphere("Sphere011",Iron,0,10,0,180,0,360);
 Sphere011->SetFillColor(2);
 Sphere011->SetLineColor(2);
 top->AddNodeOverlap(Sphere011,1,new TGeoTranslation(290,290,250));

 TGeoVolume *Sphere012=geom->MakeSphere("Sphere012",Iron,0,10,0,180,0,360);
 Sphere012->SetFillColor(2);
 Sphere012->SetLineColor(2);
 top->AddNodeOverlap(Sphere012,1,new TGeoTranslation(0,-410,250));

 TGeoVolume *Sphere013=geom->MakeSphere("Sphere013",Iron,0,10,0,180,0,360);
 Sphere013->SetFillColor(2);
 Sphere013->SetLineColor(2);
 top->AddNodeOverlap(Sphere013,1,new TGeoTranslation(0,410,250));

 TGeoVolume *Sphere014=geom->MakeSphere("Sphere014",Iron,0,10,0,180,0,360);
 Sphere014->SetFillColor(2);
 Sphere014->SetLineColor(2);
 top->AddNodeOverlap(Sphere014,1,new TGeoTranslation(290,-290,250));

 TGeoVolume *Sphere015=geom->MakeSphere("Sphere015",Iron,0,10,0,180,0,360);
 Sphere015->SetFillColor(2);
 Sphere015->SetLineColor(2);
 top->AddNodeOverlap(Sphere015,1,new TGeoTranslation(-290,290,250));

 TGeoVolume *Sphere016=geom->MakeSphere("Sphere016",Iron,0,10,0,180,0,360);
 Sphere016->SetFillColor(2);
 Sphere016->SetLineColor(2);
 top->AddNodeOverlap(Sphere016,1,new TGeoTranslation(410,0,250));

 TGeoVolume *Sphere017=geom->MakeSphere("Sphere017",Iron,0,10,0,180,0,360);
 Sphere017->SetFillColor(2);
 Sphere017->SetLineColor(2);
 top->AddNodeOverlap(Sphere017,1,new TGeoTranslation(-410,0,250));

 TGeoVolume *Box010=geom->MakeBox("Box010",Copper,10,10,3);
 Box010->SetFillColor(3);
 Box010->SetLineColor(3);
 top->AddNodeOverlap(Box1,1,new TGeoCombiTrans(-120,-280,300,new TGeoRotation("Box010",0,0,70)));

 TGeoVolume *Box011=geom->MakeBox("Box011",Copper,10,10,3);
 Box011->SetFillColor(3);
 Box011->SetLineColor(3);
 top->AddNodeOverlap(Box011,1,new TGeoCombiTrans(120,280,300,new TGeoRotation("Box011",0,0,70)));

 TGeoVolume *Box012=geom->MakeBox("Box012",Copper,10,10,3);
 Box012->SetFillColor(3);
 Box012->SetLineColor(3);
 top->AddNodeOverlap(Box012,1,new TGeoCombiTrans(120,-280,300,new TGeoRotation("Box012",0,0,30)));

 TGeoVolume *Box013=geom->MakeBox("Box013",Copper,10,10,3);
 Box013->SetFillColor(3);
 Box013->SetLineColor(3);
 top->AddNodeOverlap(Box013,1,new TGeoCombiTrans(-120,280,300,new TGeoRotation("Box013",0,0,30)));

 TGeoVolume *Box014=geom->MakeBox("Box010",Copper,10,10,3);
 Box014->SetFillColor(3);
 Box014->SetLineColor(3);
 top->AddNodeOverlap(Box014,1,new TGeoCombiTrans(270,-120,300,new TGeoRotation("Box014",0,0,70)));

 TGeoVolume *Box015=geom->MakeBox("Box015",Copper,10,10,3);
 Box015->SetFillColor(3);
 Box015->SetLineColor(3);
 top->AddNodeOverlap(Box015,1,new TGeoCombiTrans(-270,120,300,new TGeoRotation("Box015",0,0,70)));

 TGeoVolume *Box016=geom->MakeBox("Box016",Copper,10,10,3);
 Box016->SetFillColor(3);
 Box016->SetLineColor(3);
 top->AddNodeOverlap(Box016,1,new TGeoCombiTrans(270,100,300,new TGeoRotation("Box016",0,0,30)));

 TGeoVolume *Box017=geom->MakeBox("Box017",Copper,10,10,3);
 Box017->SetFillColor(3);
 Box017->SetLineColor(3);
 top->AddNodeOverlap(Box017,1,new TGeoCombiTrans(-270,-120,300,new TGeoRotation("Box017",0,0,30)));

for(int i=1;i<=8;i++){
 TGeoVolume *Torus0101=geom->MakeTorus("Torus0101",Iron,300,70,40,45*i-4,8);
 Torus0101->SetFillColor(18);
 Torus0101->SetLineColor(18);
 top->AddNodeOverlap(Torus0101,1,new TGeoTranslation(0,0,250));

 TGeoVolume *Tubs0101=geom->MakeTubs("Line",Iron,0,400,5,45*i-1,45*i+1);
 Tubs0101->SetFillColor(18);
 Tubs0101->SetLineColor(18);
 top->AddNodeOverlap(Tubs0101,1,new TGeoTranslation(0,0,250));
}

 Cone31->SetFillColor(38);
 top->SetVisibility(0);
 geom->CloseGeometry();
 
 top->Draw("ogl");

}
 station1.C:1
 station1.C:2
 station1.C:3
 station1.C:4
 station1.C:5
 station1.C:6
 station1.C:7
 station1.C:8
 station1.C:9
 station1.C:10
 station1.C:11
 station1.C:12
 station1.C:13
 station1.C:14
 station1.C:15
 station1.C:16
 station1.C:17
 station1.C:18
 station1.C:19
 station1.C:20
 station1.C:21
 station1.C:22
 station1.C:23
 station1.C:24
 station1.C:25
 station1.C:26
 station1.C:27
 station1.C:28
 station1.C:29
 station1.C:30
 station1.C:31
 station1.C:32
 station1.C:33
 station1.C:34
 station1.C:35
 station1.C:36
 station1.C:37
 station1.C:38
 station1.C:39
 station1.C:40
 station1.C:41
 station1.C:42
 station1.C:43
 station1.C:44
 station1.C:45
 station1.C:46
 station1.C:47
 station1.C:48
 station1.C:49
 station1.C:50
 station1.C:51
 station1.C:52
 station1.C:53
 station1.C:54
 station1.C:55
 station1.C:56
 station1.C:57
 station1.C:58
 station1.C:59
 station1.C:60
 station1.C:61
 station1.C:62
 station1.C:63
 station1.C:64
 station1.C:65
 station1.C:66
 station1.C:67
 station1.C:68
 station1.C:69
 station1.C:70
 station1.C:71
 station1.C:72
 station1.C:73
 station1.C:74
 station1.C:75
 station1.C:76
 station1.C:77
 station1.C:78
 station1.C:79
 station1.C:80
 station1.C:81
 station1.C:82
 station1.C:83
 station1.C:84
 station1.C:85
 station1.C:86
 station1.C:87
 station1.C:88
 station1.C:89
 station1.C:90
 station1.C:91
 station1.C:92
 station1.C:93
 station1.C:94
 station1.C:95
 station1.C:96
 station1.C:97
 station1.C:98
 station1.C:99
 station1.C:100
 station1.C:101
 station1.C:102
 station1.C:103
 station1.C:104
 station1.C:105
 station1.C:106
 station1.C:107
 station1.C:108
 station1.C:109
 station1.C:110
 station1.C:111
 station1.C:112
 station1.C:113
 station1.C:114
 station1.C:115
 station1.C:116
 station1.C:117
 station1.C:118
 station1.C:119
 station1.C:120
 station1.C:121
 station1.C:122
 station1.C:123
 station1.C:124
 station1.C:125
 station1.C:126
 station1.C:127
 station1.C:128
 station1.C:129
 station1.C:130
 station1.C:131
 station1.C:132
 station1.C:133
 station1.C:134
 station1.C:135
 station1.C:136
 station1.C:137
 station1.C:138
 station1.C:139
 station1.C:140
 station1.C:141
 station1.C:142
 station1.C:143
 station1.C:144
 station1.C:145
 station1.C:146
 station1.C:147
 station1.C:148
 station1.C:149
 station1.C:150
 station1.C:151
 station1.C:152
 station1.C:153
 station1.C:154
 station1.C:155
 station1.C:156
 station1.C:157
 station1.C:158
 station1.C:159
 station1.C:160
 station1.C:161
 station1.C:162
 station1.C:163
 station1.C:164
 station1.C:165
 station1.C:166
 station1.C:167
 station1.C:168
 station1.C:169
 station1.C:170
 station1.C:171
 station1.C:172
 station1.C:173
 station1.C:174
 station1.C:175
 station1.C:176
 station1.C:177
 station1.C:178
 station1.C:179
 station1.C:180
 station1.C:181
 station1.C:182
 station1.C:183
 station1.C:184
 station1.C:185
 station1.C:186
 station1.C:187
 station1.C:188
 station1.C:189
 station1.C:190
 station1.C:191
 station1.C:192
 station1.C:193
 station1.C:194
 station1.C:195
 station1.C:196
 station1.C:197
 station1.C:198
 station1.C:199
 station1.C:200
 station1.C:201
 station1.C:202
 station1.C:203
 station1.C:204
 station1.C:205
 station1.C:206
 station1.C:207
 station1.C:208
 station1.C:209
 station1.C:210
 station1.C:211
 station1.C:212
 station1.C:213
 station1.C:214
 station1.C:215
 station1.C:216
 station1.C:217
 station1.C:218
 station1.C:219
 station1.C:220
 station1.C:221
 station1.C:222
 station1.C:223
 station1.C:224
 station1.C:225
 station1.C:226
 station1.C:227
 station1.C:228
 station1.C:229
 station1.C:230
 station1.C:231
 station1.C:232
 station1.C:233
 station1.C:234
 station1.C:235
 station1.C:236
 station1.C:237
 station1.C:238
 station1.C:239
 station1.C:240
 station1.C:241
 station1.C:242
 station1.C:243
 station1.C:244
 station1.C:245
 station1.C:246
 station1.C:247
 station1.C:248
 station1.C:249
 station1.C:250
 station1.C:251
 station1.C:252
 station1.C:253
 station1.C:254
 station1.C:255
 station1.C:256
 station1.C:257
 station1.C:258
 station1.C:259
 station1.C:260
 station1.C:261
 station1.C:262
 station1.C:263
 station1.C:264
 station1.C:265
 station1.C:266
 station1.C:267
 station1.C:268
 station1.C:269
 station1.C:270
 station1.C:271
 station1.C:272
 station1.C:273
 station1.C:274
 station1.C:275
 station1.C:276
 station1.C:277
 station1.C:278
 station1.C:279
 station1.C:280
 station1.C:281
 station1.C:282
 station1.C:283
 station1.C:284
 station1.C:285
 station1.C:286
 station1.C:287
 station1.C:288
 station1.C:289
 station1.C:290
 station1.C:291
 station1.C:292
 station1.C:293
 station1.C:294
 station1.C:295
 station1.C:296
 station1.C:297
 station1.C:298
 station1.C:299
 station1.C:300
 station1.C:301
 station1.C:302
 station1.C:303
 station1.C:304
 station1.C:305
 station1.C:306
 station1.C:307
 station1.C:308
 station1.C:309
 station1.C:310
 station1.C:311
 station1.C:312
 station1.C:313
 station1.C:314
 station1.C:315
 station1.C:316
 station1.C:317
 station1.C:318
 station1.C:319
 station1.C:320
 station1.C:321
 station1.C:322
 station1.C:323
 station1.C:324
 station1.C:325
 station1.C:326
 station1.C:327
 station1.C:328
 station1.C:329
 station1.C:330
 station1.C:331
 station1.C:332
 station1.C:333
 station1.C:334
 station1.C:335
 station1.C:336
 station1.C:337
 station1.C:338
 station1.C:339
 station1.C:340
 station1.C:341
 station1.C:342
 station1.C:343
 station1.C:344
 station1.C:345
 station1.C:346
 station1.C:347
 station1.C:348
 station1.C:349
 station1.C:350
 station1.C:351
 station1.C:352
 station1.C:353
 station1.C:354
 station1.C:355
 station1.C:356
 station1.C:357
 station1.C:358
 station1.C:359
 station1.C:360
 station1.C:361
 station1.C:362
 station1.C:363
 station1.C:364
 station1.C:365
 station1.C:366
 station1.C:367
 station1.C:368
 station1.C:369
 station1.C:370
 station1.C:371
 station1.C:372
 station1.C:373
 station1.C:374
 station1.C:375
 station1.C:376
 station1.C:377
 station1.C:378
 station1.C:379
 station1.C:380
 station1.C:381
 station1.C:382
 station1.C:383
 station1.C:384
 station1.C:385
 station1.C:386
 station1.C:387
 station1.C:388
 station1.C:389
 station1.C:390
 station1.C:391
 station1.C:392
 station1.C:393
 station1.C:394
 station1.C:395
 station1.C:396
 station1.C:397
 station1.C:398
 station1.C:399
 station1.C:400
 station1.C:401
 station1.C:402
 station1.C:403
 station1.C:404
 station1.C:405
 station1.C:406
 station1.C:407
 station1.C:408
 station1.C:409
 station1.C:410
 station1.C:411
 station1.C:412
 station1.C:413
 station1.C:414
 station1.C:415
 station1.C:416
 station1.C:417
 station1.C:418
 station1.C:419
 station1.C:420
 station1.C:421
 station1.C:422
 station1.C:423
 station1.C:424
 station1.C:425
 station1.C:426
 station1.C:427
 station1.C:428
 station1.C:429
 station1.C:430
 station1.C:431
 station1.C:432
 station1.C:433
 station1.C:434
 station1.C:435
 station1.C:436
 station1.C:437
 station1.C:438
 station1.C:439
 station1.C:440
 station1.C:441
 station1.C:442
 station1.C:443
 station1.C:444
 station1.C:445
 station1.C:446
 station1.C:447
 station1.C:448
 station1.C:449
 station1.C:450
 station1.C:451
 station1.C:452
 station1.C:453
 station1.C:454
 station1.C:455
 station1.C:456
 station1.C:457
 station1.C:458
 station1.C:459
 station1.C:460
 station1.C:461
 station1.C:462
 station1.C:463
 station1.C:464
 station1.C:465
 station1.C:466
 station1.C:467
 station1.C:468
 station1.C:469
 station1.C:470
 station1.C:471
 station1.C:472
 station1.C:473
 station1.C:474
 station1.C:475
 station1.C:476
 station1.C:477
 station1.C:478
 station1.C:479
 station1.C:480
 station1.C:481
 station1.C:482
 station1.C:483
 station1.C:484
 station1.C:485
 station1.C:486
 station1.C:487
 station1.C:488
 station1.C:489
 station1.C:490
 station1.C:491
 station1.C:492
 station1.C:493
 station1.C:494
 station1.C:495
 station1.C:496
 station1.C:497
 station1.C:498
 station1.C:499
 station1.C:500
 station1.C:501
 station1.C:502
 station1.C:503
 station1.C:504
 station1.C:505
 station1.C:506
 station1.C:507
 station1.C:508
 station1.C:509
 station1.C:510
 station1.C:511
 station1.C:512
 station1.C:513
 station1.C:514
 station1.C:515
 station1.C:516
 station1.C:517
 station1.C:518
 station1.C:519
 station1.C:520
 station1.C:521
 station1.C:522
 station1.C:523
 station1.C:524
 station1.C:525
 station1.C:526
 station1.C:527
 station1.C:528
 station1.C:529
 station1.C:530
thumb