tank.C

Go to the documentation of this file.
00001 #include "TGeoManager.h"
00002    
00003 void tank() 
00004 {
00005   // Drawing a fine tank, using ROOT geometry class.
00006   // Author: Dong Gyu Lee (ravirus@hanmail.net), Dept. of Physics, Univ. of Seoul
00007   // Reviewed by Sunman Kim (sunman98@hanmail.net)
00008   // Supervisor: Prof. Inkyu Park (icpark@physics.uos.ac.kr)
00009   // 
00010   // How to run: .x tank.C in ROOT terminal, then use OpenGL
00011   //
00012   // This macro was created for the evaluation of Computational Physics course in 2006.
00013   // We thank to Prof. Inkyu Park for his special lecture on ROOT and to all of ROOT team
00014   //
00015 
00016 
00017    TGeoManager *geom = new TGeoManager("geom","My 3D Project");
00018 
00019 //------------------Creat materials-----------------------------
00020    TGeoMaterial *vacuum = new TGeoMaterial("vacuum",0,0,0);
00021    TGeoMaterial *Fe = new TGeoMaterial("Fe",55.84,26.7,7.87);
00022    TGeoMaterial *Cu = new TGeoMaterial("Cu",63.549,29,8.92);
00023 
00024 //------------------Creat media----------------------------------
00025    TGeoMedium *Air = new TGeoMedium("Air",0,vacuum);
00026    TGeoMedium *Iron = new TGeoMedium("Iron",1,Fe);
00027 
00028 //------------------Create TOP volume----------------------------
00029    TGeoVolume *top = geom->MakeBox("top",Air,100,100,100);
00030    geom->SetTopVolume(top);
00031    geom->SetTopVisible(0);
00032    // If you want to see the boundary, please input the number, 1 instead of 0.
00033    // Like this, geom->SetTopVisible(1); 
00034 
00035 
00036 //-----------------Create Object volume--------------------------
00037 
00038 
00039 //Now, we start real shape
00040 
00041 //UpperBody
00042    TGeoVolume *pl=geom->MakeBox("pl",Iron,210,93,20);
00043    pl->SetLineColor(42);
00044    TGeoVolume *pl1=geom->MakeBox("pl1",Iron,217,50,5);
00045    pl1->SetLineColor(42);
00046    TGeoVolume *pl2=geom->MakeTrd2("pl2",Iron,219,150,50,40,10);
00047    pl2->SetLineColor(42);
00048    TGeoVolume *plu=geom->MakeTrd2("plu",Iron,210,70,100,100,5);
00049    plu->SetLineColor(42);
00050    top->AddNodeOverlap(plu,1,new TGeoTranslation(0,0,-105));
00051    TGeoVolume *sp=geom->MakeTubs("sp",Iron,30,40,50,10,60);//Small Plate front
00052    sp->SetLineColor(42);
00053 
00054 //Top which will have the gun
00055    TGeoVolume *tp=geom->MakeSphere("tp",Iron,0,100,67,90,0,360);//tp is Top with gun
00056    tp->SetLineColor(12);
00057    TGeoVolume *tp1=geom->MakeSphere("tp1",Iron,90,190,0,29,0,360);//tp1 is Top with roof
00058    tp1->SetLineColor(12);
00059    TGeoVolume *mgg=geom->MakeTubs("mgg",Iron,0,25,30,42,136);//Main Gun Guard
00060    mgg->SetLineColor(12);
00061    TGeoVolume *mgg1=geom->MakeTrd2("mgg1",Iron,30.5,45,19,30,35);
00062    mgg1->SetLineColor(12);
00063 
00064    top->AddNodeOverlap(mgg1,1,new TGeoCombiTrans(-57,0,-63,new TGeoRotation("mgg",90,90,0)));
00065    top->AddNodeOverlap(mgg,1,new TGeoCombiTrans(-75,0,-63,new TGeoRotation("mgg",0,90,90)));
00066 
00067 //Small Top infront Top
00068    TGeoVolume *stp=geom->MakeSphere("stp",Iron,0,30,67,90,0,360);//Top for driver
00069    stp->SetLineColor(12);
00070    TGeoVolume *stp1=geom->MakeSphere("stp1",Iron,115,120,0,12,0,360);//Top with roof 
00071    stp1->SetLineColor(12);
00072    TGeoVolume *stpo1=geom->MakeBox("stpo1",Iron,3,1,5);
00073    stpo1->SetLineColor(42);//Small T P Option 1
00074 
00075    top->AddNodeOverlap(stpo1,1,new TGeoTranslation(-93,-32,-95));
00076    top->AddNodeOverlap(stpo1,1,new TGeoTranslation(-93,-38,-95));
00077    top->AddNodeOverlap(stp,1,new TGeoTranslation(-120,-35,-108));
00078    top->AddNodeOverlap(stp1,1,new TGeoCombiTrans(-185,-35,-168,new TGeoRotation("stp1",90,40,0)));
00079 
00080 
00081 
00082 
00083 
00084 //The Main Gun1 with AddNodeOverlap
00085    TGeoVolume *mg1=geom->MakeCone("mg1",Iron,160,4,5,4,7);
00086    mg1->SetLineColor(12);
00087    top->AddNodeOverlap(mg1,1,new TGeoCombiTrans(-220,0,-53,new TGeoRotation("bs",90,94,0)));
00088    TGeoVolume *mg1o1=geom->MakeCone("mg1o1",Iron,40,4.1,8,4.1,8);
00089    mg1o1->SetLineColor(12);//
00090    top->AddNodeOverlap(mg1o1,1,new TGeoCombiTrans(-220,0,-53,new TGeoRotation("bs",90,94,0)));
00091 
00092 
00093 //Underbody
00094    TGeoVolume *underbody=geom->MakeTrd2("underbody",Iron,160,210,93,93,30);
00095    underbody->SetLineColor(28);
00096    TGeoVolume *bs=geom->MakeTubs("bs",Iron,0,20,93,10,270);
00097    bs->SetLineColor(42);
00098    TGeoVolume *bsp=geom->MakeTubs("bsp",Iron,0,20,30,10,270);
00099    bsp->SetLineColor(42);
00100 
00101    TGeoVolume *Tip=geom->MakeCone("Tip",Iron,21,0,24,0,24); //Tip is wheel
00102    Tip->SetLineColor(12);
00103    TGeoVolume *Tip1=geom->MakeCone("Tip1",Iron,10,23,30,25,30);
00104    Tip1->SetLineColor(14);
00105    TGeoVolume *Tip2=geom->MakeCone("Tip2",Iron,30,0,7,0,7);
00106    Tip2->SetLineColor(42);
00107 
00108    TGeoVolume *wheel=geom->MakeCone("wheel",Iron,30,0,7,0,7);
00109    wheel->SetLineColor(42);
00110    TGeoVolume *wheel1=geom->MakeCone("wheel1",Iron,21,0,16,0,16); //innner wheel
00111    wheel1->SetLineColor(14);
00112    TGeoVolume *wheel2=geom->MakeCone("wheel2",Iron,10,15,22,15,22); //outter wheel
00113    wheel2->SetLineColor(12);
00114 
00115    TGeoVolume *Tip0=geom->MakeCone("Tip0",Iron,30,0,7,0,7);
00116    Tip0->SetLineColor(12);
00117    TGeoVolume *Tip01=geom->MakeCone("Tip01",Iron,10,7,10.5,7,10.5);
00118    Tip0->SetLineColor(14);
00119 
00120 //cycle of chain with AddNodeOverlap
00121    char name[50];
00122    TGeoVolume *WH;//piece of chain
00123    TGeoVolume *whp;
00124    TGeoVolume *who;
00125 
00126    //consist upper chain
00127    for(int i=0;i<26;i++){   
00128       sprintf(name,"wh%d",i);
00129       WH = geom->MakeBox(name,Iron,5.5,22,2);
00130       whp = geom->MakeBox(name,Iron,5,2.1,4);
00131       who = geom->MakeBox(name,Iron,2,6,1);
00132       WH->SetLineColor(12);
00133       whp->SetLineColor(14);
00134       who->SetLineColor(42);
00135       top->AddNodeOverlap(WH,1,new TGeoTranslation(-195+(15*i),-120,-125));
00136       top->AddNodeOverlap(WH,1,new TGeoTranslation(-195+(15*i),120,-125));
00137 
00138       top->AddNodeOverlap(whp,1,new TGeoTranslation(-195+(15*i),-120,-127));
00139       top->AddNodeOverlap(whp,1,new TGeoTranslation(-195+(15*i),120,-127));
00140 
00141       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195+(15*i),-127,-123, new TGeoRotation("who",-15,0,0)));
00142       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195+(15*i),-113,-123, new TGeoRotation("who",15,0,0)));
00143       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195+(15*i),127,-123, new TGeoRotation("who",15,0,0)));
00144       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195+(15*i),113,-123, new TGeoRotation("who",-15,0,0)));
00145 
00146    }
00147    //chain connetor
00148    TGeoVolume *WHl = geom->MakeBox(name,Iron,187.5,5,1);
00149    WHl->SetLineColor(12);
00150    top->AddNodeOverlap(WHl,1,new TGeoTranslation(-7.5,-129,-125));
00151    top->AddNodeOverlap(WHl,1,new TGeoTranslation(-7.5,-111,-125));
00152    top->AddNodeOverlap(WHl,1,new TGeoTranslation(-7.5,111,-125));
00153    top->AddNodeOverlap(WHl,1,new TGeoTranslation(-7.5,129,-125));
00154 
00155 //just one side
00156 
00157 
00158    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(34*(3.14/180))),-120,-150+(25*cos(34*(3.14/180))), new TGeoRotation("who",90,34,-90)));
00159    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(68*(3.14/180))),-120,-150+(25*cos(68*(3.14/180))), new TGeoRotation("who",90,68,-90)));
00160    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(102*(3.14/180))),-120,-150+(25*cos(102*(3.14/180))), new TGeoRotation("who",90,102,-90)));
00161    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180))),-120,-150+(25*cos(136*(3.14/180))), new TGeoRotation("who",90,136,-90)));
00162 
00163    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-12,-120,-150+(25*cos(136*(3.14/180)))-10, new TGeoRotation("who",90,140,-90)));
00164    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-24,-120,-150+(25*cos(136*(3.14/180)))-20, new TGeoRotation("who",90,142,-90)));
00165    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-37,-120,-150+(25*cos(136*(3.14/180)))-30, new TGeoRotation("who",90,145,-90)));
00166    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-50,-120,-150+(25*cos(136*(3.14/180)))-40, new TGeoRotation("who",90,149,-90)));
00167 
00168    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(34*(3.14/180))),-120,-150+(22.8*cos(34*(3.14/180))), new TGeoRotation("whp",90,34,-90)));
00169    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(68*(3.14/180))),-120,-150+(22.8*cos(68*(3.14/180))), new TGeoRotation("whp",90,68,-90)));
00170    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(102*(3.14/180))),-120,-150+(22.8*cos(102*(3.14/180))), new TGeoRotation("whp",90,102,-90)));
00171    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180))),-120,-150+(22.8*cos(136*(3.14/180))), new TGeoRotation("whp",90,136,-90)));
00172 
00173    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-12,-120,-150+(22.8*cos(136*(3.14/180)))-10, new TGeoRotation("whp",90,140,-90)));
00174    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-24,-120,-150+(22.8*cos(136*(3.14/180)))-20, new TGeoRotation("whp",90,142,-90)));
00175    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-37,-120,-150+(22.8*cos(136*(3.14/180)))-30, new TGeoRotation("whp",90,145,-90)));
00176    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-50,-120,-150+(22.8*cos(136*(3.14/180)))-40, new TGeoRotation("whp",90,149,-90)));
00177 
00178    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(34*(3.14/180))),-127,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",97.5,34,-97.5)));
00179    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(68*(3.14/180))),-127,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",97.5,68,-97.5)));
00180    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(102*(3.14/180))),-127,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",97.5,102,-97.5)));
00181    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180))),-127,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",97.5,136,-97.5)));
00182 
00183    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-12,-127,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",97.5,140,-97.5)));
00184    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-24,-127,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",97.5,142,-97.5)));
00185    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-37,-127,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",97.5,145,-97.5)));
00186    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-50,-127,-150+(27*cos(136*(3.14/180)))-40, new TGeoRotation("who",97.5,149,-97.5)));
00187 //--------------------------
00188    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(34*(3.14/180))),-113,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",82.5,34,-82.5)));
00189    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(68*(3.14/180))),-113,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",82.5,68,-82.5)));
00190    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(102*(3.14/180))),-113,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",82.5,102,-82.5)));
00191    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180))),-113,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",82.5,136,-82.5)));
00192 
00193    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-12,-113,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",82.5,140,-82.5)));
00194    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-24,-113,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",82.5,142,-82.5)));
00195    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-37,-113,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",82.5,145,-82.5)));
00196    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-50,-113,-150+(27*cos(136*(3.14/180)))-40, new TGeoRotation("who",82.5,149,-82.5)));
00197 
00198 
00199    TGeoVolume *chc0=geom->MakeTubs("chc0",Iron,24.5,26.5,5,-34,0);//Small Plate front
00200    chc0->SetLineColor(12);
00201    TGeoVolume *chc1=geom->MakeTubs("chc1",Iron,24.5,26.5,5,-68,-34);//Small Plate front
00202    chc1->SetLineColor(12);
00203    TGeoVolume *chc2=geom->MakeTubs("chc2",Iron,24.5,26.5,5,-102,-68);//Small Plate front
00204    chc2->SetLineColor(12);
00205    TGeoVolume *chc3=geom->MakeTubs("chc3",Iron,24.5,26.5,5,-136,-102);//Small Plate front
00206    chc3->SetLineColor(12);
00207 
00208    top->AddNodeOverlap(chc0,1,new TGeoCombiTrans(180,-129,-150,new TGeoRotation("chc0",0,90,90)));
00209    top->AddNodeOverlap(chc1,1,new TGeoCombiTrans(180,-129,-150,new TGeoRotation("chc1",0,90,90)));
00210    top->AddNodeOverlap(chc2,1,new TGeoCombiTrans(180,-129,-150,new TGeoRotation("chc2",0,90,90)));
00211    top->AddNodeOverlap(chc3,1,new TGeoCombiTrans(180,-129,-150,new TGeoRotation("chc3",0,90,90)));
00212 
00213    top->AddNodeOverlap(chc0,1,new TGeoCombiTrans(180,-111,-150,new TGeoRotation("chc0",0,90,90)));
00214    top->AddNodeOverlap(chc1,1,new TGeoCombiTrans(180,-111,-150,new TGeoRotation("chc1",0,90,90)));
00215    top->AddNodeOverlap(chc2,1,new TGeoCombiTrans(180,-111,-150,new TGeoRotation("chc2",0,90,90)));
00216    top->AddNodeOverlap(chc3,1,new TGeoCombiTrans(180,-111,-150,new TGeoRotation("chc3",0,90,90)));
00217 
00218    TGeoVolume *chcl=geom->MakeBox("chcl",Iron,5,5,1);
00219    chcl->SetLineColor(12);
00220    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-6,-111,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,140,-90)));
00221    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-18,-111,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,142,-90)));
00222    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-30,-111,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,145,-90)));
00223    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-43,-111,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,149,-90)));
00224 
00225    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-6,-129,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,140,-90)));
00226    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-18,-129,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,142,-90)));
00227    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-30,-129,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,145,-90)));
00228    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-43,-129,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,149,-90)));
00229 
00230    TGeoVolume *chc4=geom->MakeTubs("chc4",Iron,31.5,34.5,5,-175,-145);//Small Plate front
00231    chc4->SetLineColor(12);
00232    top->AddNodeOverlap(chc4,1,new TGeoCombiTrans(130,-111,-180,new TGeoRotation("chc3",0,90,90)));
00233    top->AddNodeOverlap(chc4,1,new TGeoCombiTrans(130,-129,-180,new TGeoRotation("chc3",0,90,90)));
00234 
00235    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(34*(3.14/180))),-120,-150+(25*cos(34*(3.14/180))), new TGeoRotation("who",90,-34,-90)));
00236    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(68*(3.14/180))),-120,-150+(25*cos(68*(3.14/180))), new TGeoRotation("who",90,-68,-90)));
00237    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(102*(3.14/180))),-120,-150+(25*cos(102*(3.14/180))), new TGeoRotation("who",90,-102,-90)));
00238    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180))),-120,-150+(25*cos(136*(3.14/180))), new TGeoRotation("who",90,-136,-90)));
00239 
00240    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+12,-120,-150+(25*cos(136*(3.14/180)))-10, new TGeoRotation("who",90,-140,-90)));
00241    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+24,-120,-150+(25*cos(136*(3.14/180)))-20, new TGeoRotation("who",90,-142,-90)));
00242    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+35,-120,-150+(25*cos(136*(3.14/180)))-30, new TGeoRotation("who",90,-139,-90)));
00243    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+48,-120,-150+(25*cos(136*(3.14/180)))-41, new TGeoRotation("who",90,-153,-90)));
00244 
00245 
00246    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(34*(3.14/180))),-120,-150+(22.8*cos(34*(3.14/180))), new TGeoRotation("whp",90,-34,-90)));
00247    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(68*(3.14/180))),-120,-150+(22.8*cos(68*(3.14/180))), new TGeoRotation("whp",90,-68,-90)));
00248    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(102*(3.14/180))),-120,-150+(22.8*cos(102*(3.14/180))), new TGeoRotation("whp",90,-102,-90)));
00249    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180))),-120,-150+(22.8*cos(136*(3.14/180))), new TGeoRotation("whp",90,-136,-90)));
00250 
00251    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+12,-120,-150+(22.8*cos(136*(3.14/180)))-10, new TGeoRotation("whp",90,-140,-90)));
00252    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+24,-120,-150+(22.8*cos(136*(3.14/180)))-20, new TGeoRotation("whp",90,-142,-90)));
00253    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+35,-120,-150+(22.8*cos(136*(3.14/180)))-30, new TGeoRotation("whp",90,-139,-90)));
00254    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+48,-120,-150+(22.8*cos(136*(3.14/180)))-41, new TGeoRotation("whp",90,-153,-90)));
00255 
00256 
00257    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(34*(3.14/180))),-127,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",97.5,-34,-97.5)));
00258    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(68*(3.14/180))),-127,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",97.5,-68,-97.5)));
00259    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(102*(3.14/180))),-127,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",97.5,-102,-97.5)));
00260    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180))),-127,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",97.5,-136,-97.5)));
00261 
00262    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+12,-127,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",97.5,-140,-97.5)));
00263    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+24,-127,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",97.5,-142,-97.5)));
00264    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+35,-127,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",97.5,-139,-97.5)));
00265    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+48,-127,-150+(27*cos(136*(3.14/180)))-41, new TGeoRotation("who",97.5,-153,-97.5)));
00266 //-------------------------
00267    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(34*(3.14/180))),-113,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",82.5,-34,-82.5)));
00268    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(68*(3.14/180))),-113,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",82.5,-68,-82.5)));
00269    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(102*(3.14/180))),-113,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",82.5,-102,-82.5)));
00270    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180))),-113,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",82.5,-136,-82.5)));
00271 
00272    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+12,-113,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",82.5,-140,-82.5)));
00273    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+24,-113,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",82.5,-142,-82.5)));
00274    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+35,-113,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",82.5,-139,-82.5)));
00275    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+48,-113,-150+(27*cos(136*(3.14/180)))-41, new TGeoRotation("who",82.5,-153,-82.5)));
00276 
00277 
00278    TGeoVolume *chc0i=geom->MakeTubs("chc0i",Iron,24.5,26.5,5,0,34);//Small Plate front
00279    chc0i->SetLineColor(12);
00280    TGeoVolume *chc1i=geom->MakeTubs("chc1i",Iron,24.5,26.5,5,34,68);//Small Plate front
00281    chc1i->SetLineColor(12);
00282    TGeoVolume *chc2i=geom->MakeTubs("chc2i",Iron,24.5,26.5,5,68,102);//Small Plate front
00283    chc2i->SetLineColor(12);
00284    TGeoVolume *chc3i=geom->MakeTubs("chc3i",Iron,24.5,26.5,5,102,136);//Small Plate front
00285    chc3i->SetLineColor(12);
00286 
00287    top->AddNodeOverlap(chc0i,1,new TGeoCombiTrans(-195,-129,-150,new TGeoRotation("chc0",0,90,90)));
00288    top->AddNodeOverlap(chc1i,1,new TGeoCombiTrans(-195,-129,-150,new TGeoRotation("chc1",0,90,90)));
00289    top->AddNodeOverlap(chc2i,1,new TGeoCombiTrans(-195,-129,-150,new TGeoRotation("chc2",0,90,90)));
00290    top->AddNodeOverlap(chc3i,1,new TGeoCombiTrans(-195,-129,-150,new TGeoRotation("chc3",0,90,90)));
00291 
00292    top->AddNodeOverlap(chc0i,1,new TGeoCombiTrans(-195,-111,-150,new TGeoRotation("chc0",0,90,90)));
00293    top->AddNodeOverlap(chc1i,1,new TGeoCombiTrans(-195,-111,-150,new TGeoRotation("chc1",0,90,90)));
00294    top->AddNodeOverlap(chc2i,1,new TGeoCombiTrans(-195,-111,-150,new TGeoRotation("chc2",0,90,90)));
00295    top->AddNodeOverlap(chc3i,1,new TGeoCombiTrans(-195,-111,-150,new TGeoRotation("chc3",0,90,90)));
00296 
00297    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+06,-129,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,-140,-90)));
00298    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+18,-129,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,-142,-90)));
00299    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+29,-129,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,-139,-90)));
00300    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+41,-129,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,-138,-90)));
00301 
00302    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+06,-111,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,-140,-90)));
00303    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+18,-111,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,-142,-90)));
00304    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+29,-111,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,-139,-90)));
00305    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+41,-111,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,-138,-90)));
00306 
00307    TGeoVolume *chc4i=geom->MakeTubs("chc4i",Iron,31.5,33,5,145,175);//Small Plate front
00308    chc4i->SetLineColor(12);
00309    top->AddNodeOverlap(chc4i,1,new TGeoCombiTrans(-150,-111,-180,new TGeoRotation("chc3",0,90,90)));
00310    top->AddNodeOverlap(chc4i,1,new TGeoCombiTrans(-150,-129,-180,new TGeoRotation("chc3",0,90,90)));
00311 
00312 
00313 //just other side
00314 
00315 
00316    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(34*(3.14/180))),120,-150+(25*cos(34*(3.14/180))), new TGeoRotation("who",90,34,-90)));
00317    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(68*(3.14/180))),120,-150+(25*cos(68*(3.14/180))), new TGeoRotation("who",90,68,-90)));
00318    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(102*(3.14/180))),120,-150+(25*cos(102*(3.14/180))), new TGeoRotation("who",90,102,-90)));
00319    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180))),120,-150+(25*cos(136*(3.14/180))), new TGeoRotation("who",90,136,-90)));
00320 
00321    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-12,120,-150+(25*cos(136*(3.14/180)))-10, new TGeoRotation("who",90,140,-90)));
00322    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-24,120,-150+(25*cos(136*(3.14/180)))-20, new TGeoRotation("who",90,142,-90)));
00323    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-37,120,-150+(25*cos(136*(3.14/180)))-30, new TGeoRotation("who",90,145,-90)));
00324    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-50,120,-150+(25*cos(136*(3.14/180)))-40, new TGeoRotation("who",90,149,-90)));
00325 
00326    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(34*(3.14/180))),120,-150+(22.8*cos(34*(3.14/180))), new TGeoRotation("whp",90,34,-90)));
00327    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(68*(3.14/180))),120,-150+(22.8*cos(68*(3.14/180))), new TGeoRotation("whp",90,68,-90)));
00328    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(102*(3.14/180))),120,-150+(22.8*cos(102*(3.14/180))), new TGeoRotation("whp",90,102,-90)));
00329    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180))),120,-150+(22.8*cos(136*(3.14/180))), new TGeoRotation("whp",90,136,-90)));
00330 
00331    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-12,120,-150+(22.8*cos(136*(3.14/180)))-10, new TGeoRotation("whp",90,140,-90)));
00332    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-24,120,-150+(22.8*cos(136*(3.14/180)))-20, new TGeoRotation("whp",90,142,-90)));
00333    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-37,120,-150+(22.8*cos(136*(3.14/180)))-30, new TGeoRotation("whp",90,145,-90)));
00334    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(180+(22.8*sin(136*(3.14/180)))-50,120,-150+(22.8*cos(136*(3.14/180)))-40, new TGeoRotation("whp",90,149,-90)));
00335 
00336    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(34*(3.14/180))),113,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",97.5,34,-97.5)));
00337    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(68*(3.14/180))),113,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",97.5,68,-97.5)));
00338    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(102*(3.14/180))),113,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",97.5,102,-97.5)));
00339    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180))),113,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",97.5,136,-97.5)));
00340 
00341    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-12,113,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",97.5,140,-97.5)));
00342    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-24,113,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",97.5,142,-97.5)));
00343    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-37,113,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",97.5,145,-97.5)));
00344    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-50,113,-150+(27*cos(136*(3.14/180)))-40, new TGeoRotation("who",97.5,149,-97.5)));
00345 //--------------------------
00346    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(34*(3.14/180))),127,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",82.5,34,-82.5)));
00347    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(68*(3.14/180))),127,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",82.5,68,-82.5)));
00348    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(102*(3.14/180))),127,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",82.5,102,-82.5)));
00349    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180))),127,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",82.5,136,-82.5)));
00350 
00351    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-12,127,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",82.5,140,-82.5)));
00352    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-24,127,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",82.5,142,-82.5)));
00353    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-37,127,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",82.5,145,-82.5)));
00354    top->AddNodeOverlap(who,1,new TGeoCombiTrans(180+(27*sin(136*(3.14/180)))-50,127,-150+(27*cos(136*(3.14/180)))-40, new TGeoRotation("who",82.5,149,-82.5)));
00355 
00356 
00357    top->AddNodeOverlap(chc0,1,new TGeoCombiTrans(180,129,-150,new TGeoRotation("chc0",0,90,90)));
00358    top->AddNodeOverlap(chc1,1,new TGeoCombiTrans(180,129,-150,new TGeoRotation("chc1",0,90,90)));
00359    top->AddNodeOverlap(chc2,1,new TGeoCombiTrans(180,129,-150,new TGeoRotation("chc2",0,90,90)));
00360    top->AddNodeOverlap(chc3,1,new TGeoCombiTrans(180,129,-150,new TGeoRotation("chc3",0,90,90)));
00361 
00362    top->AddNodeOverlap(chc0,1,new TGeoCombiTrans(180,111,-150,new TGeoRotation("chc0",0,90,90)));
00363    top->AddNodeOverlap(chc1,1,new TGeoCombiTrans(180,111,-150,new TGeoRotation("chc1",0,90,90)));
00364    top->AddNodeOverlap(chc2,1,new TGeoCombiTrans(180,111,-150,new TGeoRotation("chc2",0,90,90)));
00365    top->AddNodeOverlap(chc3,1,new TGeoCombiTrans(180,111,-150,new TGeoRotation("chc3",0,90,90)));
00366 
00367    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-6,111,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,140,-90)));
00368    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-18,111,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,142,-90)));
00369    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-30,111,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,145,-90)));
00370    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-43,111,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,149,-90)));
00371 
00372    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-6,129,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,140,-90)));
00373    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-18,129,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,142,-90)));
00374    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-30,129,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,145,-90)));
00375    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(180+(25*sin(136*(3.14/180)))-43,129,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,149,-90)));
00376 
00377 
00378    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(34*(3.14/180))),120,-150+(25*cos(34*(3.14/180))), new TGeoRotation("who",90,-34,-90)));
00379    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(68*(3.14/180))),120,-150+(25*cos(68*(3.14/180))), new TGeoRotation("who",90,-68,-90)));
00380    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(102*(3.14/180))),120,-150+(25*cos(102*(3.14/180))), new TGeoRotation("who",90,-102,-90)));
00381    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180))),120,-150+(25*cos(136*(3.14/180))), new TGeoRotation("who",90,-136,-90)));
00382 
00383    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+12,120,-150+(25*cos(136*(3.14/180)))-10, new TGeoRotation("who",90,-140,-90)));
00384    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+24,120,-150+(25*cos(136*(3.14/180)))-20, new TGeoRotation("who",90,-142,-90)));
00385    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+35,120,-150+(25*cos(136*(3.14/180)))-30, new TGeoRotation("who",90,-139,-90)));
00386    top->AddNodeOverlap(WH,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+48,120,-150+(25*cos(136*(3.14/180)))-41, new TGeoRotation("who",90,-153,-90)));
00387 
00388    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(34*(3.14/180))),120,-150+(22.8*cos(34*(3.14/180))), new TGeoRotation("whp",90,-34,-90)));
00389    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(68*(3.14/180))),120,-150+(22.8*cos(68*(3.14/180))), new TGeoRotation("whp",90,-68,-90)));
00390    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(102*(3.14/180))),120,-150+(22.8*cos(102*(3.14/180))), new TGeoRotation("whp",90,-102,-90)));
00391    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180))),120,-150+(22.8*cos(136*(3.14/180))), new TGeoRotation("whp",90,-136,-90)));
00392 
00393    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+12,120,-150+(22.8*cos(136*(3.14/180)))-10, new TGeoRotation("whp",90,-140,-90)));
00394    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+24,120,-150+(22.8*cos(136*(3.14/180)))-20, new TGeoRotation("whp",90,-142,-90)));
00395    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+35,120,-150+(22.8*cos(136*(3.14/180)))-30, new TGeoRotation("whp",90,-139,-90)));
00396    top->AddNodeOverlap(whp,1,new TGeoCombiTrans(-195-(22.8*sin(136*(3.14/180)))+48,120,-150+(22.8*cos(136*(3.14/180)))-41, new TGeoRotation("whp",90,-153,-90)));
00397 
00398 
00399    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(34*(3.14/180))),113,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",97.5,-34,-97.5)));
00400    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(68*(3.14/180))),113,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",97.5,-68,-97.5)));
00401    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(102*(3.14/180))),113,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",97.5,-102,-97.5)));
00402    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180))),113,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",97.5,-136,-97.5)));
00403 
00404    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+12,113,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",97.5,-140,-97.5)));
00405    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+24,113,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",97.5,-142,-97.5)));
00406    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+35,113,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",97.5,-139,-97.5)));
00407    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+48,113,-150+(27*cos(136*(3.14/180)))-41, new TGeoRotation("who",97.5,-153,-97.5)));
00408 //-------------------------
00409    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(34*(3.14/180))),127,-150+(27*cos(34*(3.14/180))), new TGeoRotation("who",82.5,-34,-82.5)));
00410    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(68*(3.14/180))),127,-150+(27*cos(68*(3.14/180))), new TGeoRotation("who",82.5,-68,-82.5)));
00411    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(102*(3.14/180))),127,-150+(27*cos(102*(3.14/180))), new TGeoRotation("who",82.5,-102,-82.5)));
00412    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180))),127,-150+(27*cos(136*(3.14/180))), new TGeoRotation("who",82.5,-136,-82.5)));
00413 
00414    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+12,127,-150+(27*cos(136*(3.14/180)))-10, new TGeoRotation("who",82.5,-140,-82.5)));
00415    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+24,127,-150+(27*cos(136*(3.14/180)))-20, new TGeoRotation("who",82.5,-142,-82.5)));
00416    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+35,127,-150+(27*cos(136*(3.14/180)))-30, new TGeoRotation("who",82.5,-139,-82.5)));
00417    top->AddNodeOverlap(who,1,new TGeoCombiTrans(-195-(27*sin(136*(3.14/180)))+48,127,-150+(27*cos(136*(3.14/180)))-41, new TGeoRotation("who",82.5,-153,-82.5)));
00418 
00419 
00420    top->AddNodeOverlap(chc0i,1,new TGeoCombiTrans(-195,129,-150,new TGeoRotation("chc0",0,90,90)));
00421    top->AddNodeOverlap(chc1i,1,new TGeoCombiTrans(-195,129,-150,new TGeoRotation("chc1",0,90,90)));
00422    top->AddNodeOverlap(chc2i,1,new TGeoCombiTrans(-195,129,-150,new TGeoRotation("chc2",0,90,90)));
00423    top->AddNodeOverlap(chc3i,1,new TGeoCombiTrans(-195,129,-150,new TGeoRotation("chc3",0,90,90)));
00424 
00425    top->AddNodeOverlap(chc0i,1,new TGeoCombiTrans(-195,111,-150,new TGeoRotation("chc0",0,90,90)));
00426    top->AddNodeOverlap(chc1i,1,new TGeoCombiTrans(-195,111,-150,new TGeoRotation("chc1",0,90,90)));
00427    top->AddNodeOverlap(chc2i,1,new TGeoCombiTrans(-195,111,-150,new TGeoRotation("chc2",0,90,90)));
00428    top->AddNodeOverlap(chc3i,1,new TGeoCombiTrans(-195,111,-150,new TGeoRotation("chc3",0,90,90)));
00429 
00430    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+06,129,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,-140,-90)));
00431    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+18,129,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,-142,-90)));
00432    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+29,129,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,-139,-90)));
00433    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+41,129,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,-138,-90)));
00434 
00435    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+06,111,-150+(25*cos(136*(3.14/180)))-5, new TGeoRotation("chcl",90,-140,-90)));
00436    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+18,111,-150+(25*cos(136*(3.14/180)))-15, new TGeoRotation("chcl",90,-142,-90)));
00437    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+29,111,-150+(25*cos(136*(3.14/180)))-25, new TGeoRotation("chcl",90,-139,-90)));
00438    top->AddNodeOverlap(chcl,1,new TGeoCombiTrans(-195-(25*sin(136*(3.14/180)))+41,111,-150+(25*cos(136*(3.14/180)))-35, new TGeoRotation("chcl",90,-138,-90)));
00439    
00440    //consist under chain
00441    for(int i=0;i<20;i++){   
00442       sprintf(name,"wh%d",i);
00443       top->AddNodeOverlap(WH,1,new TGeoTranslation(-150+(15*i),-120,-212));
00444       top->AddNodeOverlap(WH,1,new TGeoTranslation(-150+(15*i),120,-212));
00445 
00446       top->AddNodeOverlap(whp,1,new TGeoTranslation(-150+(15*i),-120,-210));
00447       top->AddNodeOverlap(whp,1,new TGeoTranslation(-150+(15*i),120,-210));
00448 
00449       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-150+(15*i),-127,-214, new TGeoRotation("who",15,0,0)));
00450       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-150+(15*i),-113,-214, new TGeoRotation("who",-15,0,0)));
00451       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-150+(15*i),127,-214, new TGeoRotation("who",-15,0,0)));
00452       top->AddNodeOverlap(who,1,new TGeoCombiTrans(-150+(15*i),113,-214, new TGeoRotation("who",15,0,0)));
00453    }
00454    TGeoVolume *WHlu = geom->MakeBox(name,Iron,140,5,1);//chain connetor in under
00455    WHlu->SetLineColor(12);
00456    top->AddNodeOverlap(WHlu,1,new TGeoTranslation(-7.5,-129,-212));
00457    top->AddNodeOverlap(WHlu,1,new TGeoTranslation(-7.5,-111,-212));
00458    top->AddNodeOverlap(WHlu,1,new TGeoTranslation(-7.5,129,-212));
00459    top->AddNodeOverlap(WHlu,1,new TGeoTranslation(-7.5,111,-212));
00460 
00461 
00462 
00463 
00464 //Now, we put real shape
00465 
00466    top->AddNodeOverlap(underbody,1,new TGeoTranslation(0,0,-160));
00467    top->AddNodeOverlap(pl,1,new TGeoTranslation(0,0,-130));
00468    top->AddNodeOverlap(tp,1,new TGeoTranslation(30,0,-83));
00469    top->AddNodeOverlap(tp1,1,new TGeoTranslation(30,0,-208));
00470    top->AddNodeOverlap(pl2,1,new TGeoTranslation(0,-120,-100));
00471    top->AddNodeOverlap(pl2,1,new TGeoTranslation(0,120,-100));
00472    top->AddNodeOverlap(pl1,1,new TGeoTranslation(0,-120,-115));
00473    top->AddNodeOverlap(pl1,1,new TGeoTranslation(0,120,-115));
00474    top->AddNodeOverlap(bs,1,new TGeoCombiTrans(180,0,-150,new TGeoRotation("bs",180,90,90)));
00475    top->AddNodeOverlap(bsp,1,new TGeoCombiTrans(-195,61.5,-150,new TGeoRotation("bsp",0,90,90)));
00476    top->AddNodeOverlap(bsp,1,new TGeoCombiTrans(-195,-61.5,-150,new TGeoRotation("bsp",0,90,90)));
00477 
00478 
00479    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-115,-132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00480    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-45,-132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00481    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(35,-132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00482    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(95,-132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00483 
00484    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-115,-107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00485    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-45,-107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00486    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(35,-107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00487    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(95,-107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00488 
00489    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(-115,-110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00490    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(-45,-110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00491    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(35,-110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00492    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(95,-110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00493 
00494    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(-150,-120,-180,new TGeoRotation("Tip",0,90,90)));
00495    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(-80,-120,-180,new TGeoRotation("Tip",0,90,90)));
00496    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(-10,-120,-180,new TGeoRotation("Tip",0,90,90)));
00497    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(60,-120,-180,new TGeoRotation("Tip",0,90,90)));
00498    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(130,-120,-180,new TGeoRotation("Tip",0,90,90)));
00499 
00500    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-150,-107.5,-180,new TGeoRotation("Tip",0,90,90)));
00501    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-150,-132.5,-180,new TGeoRotation("Tip",0,90,90)));
00502    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-80,-107.5,-180,new TGeoRotation("Tip",0,90,90)));
00503    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-80,-132.5,-180,new TGeoRotation("Tip",0,90,90)));
00504    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-10,-107.5,-180,new TGeoRotation("Tip",0,90,90)));
00505    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-10,-132.5,-180,new TGeoRotation("Tip",0,90,90)));
00506    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(60,-107.5,-180,new TGeoRotation("Tip",0,90,90)));
00507    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(60,-132.5,-180,new TGeoRotation("Tip",0,90,90)));
00508    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(130,-107.5,-180,new TGeoRotation("Tip",0,90,90)));
00509    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(130,-132.5,-180,new TGeoRotation("Tip",0,90,90)));
00510 
00511    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(-150,-112.5,-180,new TGeoRotation("Tip",0,90,90)));
00512    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(-80,-112.5,-180,new TGeoRotation("Tip",0,90,90)));
00513    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(-10,-112.5,-180,new TGeoRotation("Tip",0,90,90)));
00514    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(60,-112.5,-180,new TGeoRotation("Tip",0,90,90)));
00515    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(130,-112.5,-180,new TGeoRotation("Tip",0,90,90)));
00516 
00517    top->AddNodeOverlap(wheel1,1,new TGeoCombiTrans(180,-120,-150,new TGeoRotation("wheel1",0,90,90)));
00518    top->AddNodeOverlap(wheel1,1,new TGeoCombiTrans(-195,-120,-150,new TGeoRotation("wheel1",0,90,90)));
00519    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(180,-107.5,-150,new TGeoRotation("wheel2",0,90,90)));
00520    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(180,-132.5,-150,new TGeoRotation("wheel2",0,90,90)));
00521    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(-195,-107.5,-150,new TGeoRotation("wheel2",0,90,90)));
00522    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(-195,-132.5,-150,new TGeoRotation("wheel2",0,90,90)));
00523    top->AddNodeOverlap(wheel,1,new TGeoCombiTrans(180,-112.5,-150,new TGeoRotation("wheel",0,90,90)));
00524    top->AddNodeOverlap(wheel,1,new TGeoCombiTrans(-195,-112.5,-150,new TGeoRotation("wheel2",0,90,90)));
00525 
00526    top->AddNodeOverlap(sp,1,new TGeoCombiTrans(-209,-120,-149,new TGeoRotation("sp",0,90,90)));//sp!
00527    top->AddNodeOverlap(sp,1,new TGeoCombiTrans(209,-120,-149,new TGeoRotation("sp1",180,90,90)));//sp!
00528 
00529    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-115,132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00530    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-45,132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00531    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(35,132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00532    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(95,132.5,-140,new TGeoRotation("Tip01",0,90,90)));
00533 
00534    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-115,107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00535    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(-45,107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00536    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(35,107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00537    top->AddNodeOverlap(Tip01,1,new TGeoCombiTrans(95,107.5,-140,new TGeoRotation("Tip01",0,90,90)));
00538 
00539    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(-115,110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00540    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(-45,110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00541    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(35,110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00542    top->AddNodeOverlap(Tip0,1,new TGeoCombiTrans(95,110.5,-140,new TGeoRotation("Tip0",0,90,90)));
00543 
00544    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(-150,120,-180,new TGeoRotation("Tip",0,90,90)));
00545    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(-80,120,-180,new TGeoRotation("Tip",0,90,90)));
00546    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(-10,120,-180,new TGeoRotation("Tip",0,90,90)));
00547    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(60,120,-180,new TGeoRotation("Tip",0,90,90)));
00548    top->AddNodeOverlap(Tip,1,new TGeoCombiTrans(130,120,-180,new TGeoRotation("Tip",0,90,90)));
00549 
00550    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-150,107.5,-180,new TGeoRotation("Tip",0,90,90)));
00551    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-150,132.5,-180,new TGeoRotation("Tip",0,90,90)));
00552    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-80,107.5,-180,new TGeoRotation("Tip",0,90,90)));
00553    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-80,132.5,-180,new TGeoRotation("Tip",0,90,90)));
00554    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-10,107.5,-180,new TGeoRotation("Tip",0,90,90)));
00555    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(-10,132.5,-180,new TGeoRotation("Tip",0,90,90)));
00556    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(60,107.5,-180,new TGeoRotation("Tip",0,90,90)));
00557    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(60,132.5,-180,new TGeoRotation("Tip",0,90,90)));
00558    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(130,107.5,-180,new TGeoRotation("Tip",0,90,90)));
00559    top->AddNodeOverlap(Tip1,1,new TGeoCombiTrans(130,132.5,-180,new TGeoRotation("Tip",0,90,90)));
00560 
00561    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(-150,112.5,-180,new TGeoRotation("Tip",0,90,90)));
00562    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(-80,112.5,-180,new TGeoRotation("Tip",0,90,90)));
00563    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(-10,112.5,-180,new TGeoRotation("Tip",0,90,90)));
00564    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(60,112.5,-180,new TGeoRotation("Tip",0,90,90)));
00565    top->AddNodeOverlap(Tip2,1,new TGeoCombiTrans(130,112.5,-180,new TGeoRotation("Tip",0,90,90)));
00566 
00567    top->AddNodeOverlap(wheel,1,new TGeoCombiTrans(-195,112.5,-150,new TGeoRotation("wheel1",0,90,90)));
00568    top->AddNodeOverlap(wheel,1,new TGeoCombiTrans(180,112.5,-150,new TGeoRotation("wheel",0,90,90)));
00569    top->AddNodeOverlap(wheel1,1,new TGeoCombiTrans(180,120,-150,new TGeoRotation("wheel1",0,90,90)));
00570    top->AddNodeOverlap(wheel1,1,new TGeoCombiTrans(-195,120,-150,new TGeoRotation("wheel1",0,90,90)));
00571    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(180,107.5,-150,new TGeoRotation("wheel2",0,90,90)));
00572    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(180,132.5,-150,new TGeoRotation("wheel2",0,90,90)));
00573    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(-195,107.5,-150,new TGeoRotation("wheel2",0,90,90)));
00574    top->AddNodeOverlap(wheel2,1,new TGeoCombiTrans(-195,132.5,-150,new TGeoRotation("wheel2",0,90,90)));
00575 
00576    top->AddNodeOverlap(sp,1,new TGeoCombiTrans(-209,120,-149,new TGeoRotation("sp",0,90,90)));//sp!
00577    top->AddNodeOverlap(sp,1,new TGeoCombiTrans(209,120,-149,new TGeoRotation("sp1",180,90,90)));//sp!
00578    top->SetVisibility(0);
00579    geom->CloseGeometry();
00580 
00581 
00582 //------------------draw on GL viewer-------------------------------
00583    top->Draw("ogl");
00584 
00585 }

Generated on Tue Jul 5 15:44:17 2011 for ROOT_528-00b_version by  doxygen 1.5.1