00001 #include "TGeoManager.h"
00002
00003 void south_gate()
00004 {
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 TGeoManager *geom=new TGeoManager("geom","My first 3D geometry");
00018
00019
00020 TGeoMaterial *vacuum=new TGeoMaterial("vacuum",0,0,0);
00021 TGeoMaterial *Fe=new TGeoMaterial("Fe",55.845,26,7.87);
00022
00023
00024
00025 TGeoMedium *Air = new TGeoMedium("Vacuum",0,vacuum);
00026 TGeoMedium *Iron = new TGeoMedium("Iron",1,Fe);
00027
00028
00029
00030 TGeoVolume *top = geom->MakeBox("top",Air,1000,1000,1000);
00031 geom->SetTopVolume(top);
00032 geom->SetTopVisible(0);
00033
00034
00035
00036
00037
00038
00039 char nBlocks[100];
00040 int i=1;
00041 int N = 0;
00042 int f=0;
00043 int di[2]; di[0] = 0; di[1] = 30;
00044 TGeoVolume *mBlock;
00045
00046 while (f<11){
00047 while (i<14){
00048 if (i==6 && f<8){
00049 i = i+3;
00050 }
00051
00052 sprintf(nBlocks,"f%d_bg%d",f,N++);
00053 mBlock = geom->MakeBox(nBlocks, Iron, 29,149,9);
00054 mBlock->SetLineColor(20);
00055 if (f<8){
00056 if (i<=5 && f<8){
00057 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-120-((i-1)*60)-di[f%2],5,5+(20*f)));
00058 } else if (i>5 && f<8){
00059 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(120+((i-9)*60) +di[f%2],5,5+(20*f)));
00060 }
00061 } else {
00062 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-420+(i*60)-di[f%2],5,5+(20*f)));
00063 }
00064 i++;
00065 if (i>=14 && f>=8 && f%2 == 1){
00066 sprintf(nBlocks,"f%d_bg%d",f,N++);
00067 mBlock = geom->MakeBox(nBlocks, Iron, 29,149,9);
00068 mBlock->SetLineColor(20);
00069 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-420+(i*60)-di[f%2],5,5+(20*f)));
00070 i++;
00071 }
00072 if (f%2 ==0){
00073 sprintf(nBlocks,"f%d_bg%d",f,N++);
00074 mBlock = geom->MakeBox(nBlocks, Iron, 14.5,149,9);
00075 mBlock->SetLineColor(20);
00076 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-405,5,5+(20*f)));
00077 sprintf(nBlocks,"f%d_bg%d",f,N++);
00078 mBlock = geom->MakeBox(nBlocks, Iron, 14.5,149,9);
00079 mBlock->SetLineColor(20);
00080 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(405,5,5+(20*f)));
00081 } else if (f<5){
00082 sprintf(nBlocks,"f%d_bg%d",f,N++);
00083 mBlock = geom->MakeBox(nBlocks, Iron, 14.5,149,9);
00084 mBlock->SetLineColor(20);
00085 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-105,5,5+(20*f)));
00086 sprintf(nBlocks,"f%d_bg%d",f,N++);
00087 mBlock = geom->MakeBox(nBlocks, Iron, 14.5,149,9);
00088 mBlock->SetLineColor(20);
00089 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(105,5,5+(20*f)));
00090
00091 }
00092 }
00093 sprintf(nBlocks,"f%d_bg%d",8,N++);
00094 mBlock = geom->MakeBox(nBlocks, Iron, 40,149,9);
00095 mBlock->SetLineColor(20);
00096 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-80,5,145));
00097 sprintf(nBlocks,"f%d_bg%d",8,N++);
00098 mBlock = geom->MakeBox(nBlocks, Iron, 40,149,9);
00099 mBlock->SetLineColor(20);
00100 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(80,5,145));
00101
00102 sprintf(nBlocks,"f%d_bg%d",7,N++);
00103 mBlock = geom->MakeBox(nBlocks, Iron, 15,149,9);
00104 mBlock->SetLineColor(20);
00105 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-75,5,125));
00106 sprintf(nBlocks,"f%d_bg%d",7,N++);
00107 mBlock = geom->MakeBox(nBlocks, Iron, 15,149,9);
00108 mBlock->SetLineColor(20);
00109 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(75,5,125));
00110
00111 sprintf(nBlocks,"f%d_bg%d",6,N++);
00112 mBlock = geom->MakeBox(nBlocks, Iron, 24,149,9);
00113 mBlock->SetLineColor(20);
00114 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-95,5,105));
00115 sprintf(nBlocks,"f%d_bg%d",6,N++);
00116 mBlock = geom->MakeBox(nBlocks, Iron, 24,149,9);
00117 mBlock->SetLineColor(20);
00118 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(95,5,105));
00119
00120
00121
00122 i=1;f++;
00123
00124 }
00125
00126
00127
00128
00129
00130
00131 f=0;
00132 while (f<5){
00133 i=0;
00134 while (i<65){
00135 sprintf(nBlocks,"f%d_bg%d",f,N++);
00136 mBlock = geom->MakeBox(nBlocks, Iron, 5.8,3,3.8);
00137 mBlock->SetLineColor(25);
00138 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-384+(i*12),137,218+(f*8)));
00139 i++;
00140
00141 }
00142 f++;
00143 }
00144
00145
00146
00147 f=0;
00148 while (f<5){
00149 i=0;
00150 while (i<65){
00151 sprintf(nBlocks,"f%d_bg%d",f,N++);
00152 mBlock = geom->MakeBox(nBlocks, Iron, 5.8,3,3.8);
00153 mBlock->SetLineColor(25);
00154 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-384+(i*12),-137,218+(f*8)));
00155 i++;
00156
00157 }
00158 f++;
00159 }
00160
00161
00162
00163
00164
00165 f=0;
00166 while (f<7){
00167 i=0;
00168 while (i<22){
00169 sprintf(nBlocks,"f%d_bg%d",f,N++);
00170 mBlock = geom->MakeBox(nBlocks, Iron, 3,5.8,3.8);
00171 mBlock->SetLineColor(25);
00172 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-384,-126+(i*12),218+(f*8)));
00173 i++;
00174
00175 }
00176 f++;
00177 }
00178
00179
00180
00181 f=0;
00182 while (f<7){
00183 i=0;
00184 while (i<22){
00185 sprintf(nBlocks,"f%d_bg%d",f,N++);
00186 mBlock = geom->MakeBox(nBlocks, Iron, 3,5.8,3.8);
00187 mBlock->SetLineColor(25);
00188 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(384,-126+(i*12),218+(f*8)));
00189 i++;
00190
00191 }
00192 f++;
00193 }
00194
00195
00196
00197
00198
00199 int k;
00200 k=0; i=0;
00201
00202 while (i<5){
00203 while(k<10){
00204 sprintf(nBlocks,"ab%d",N++);
00205 mBlock = geom->MakeTubs(nBlocks,Iron, 70,89,14, (i*36)+0.5, (i+1)*36-0.5);
00206 mBlock->SetLineColor(20);
00207 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,-130+(k*30),70, new TGeoRotation("r1",0,90,0)));
00208 k++;
00209 }
00210 i++; k=0;
00211 }
00212
00213 sprintf(nBlocks,"ab%d",N++);
00214 mBlock = geom->MakeBox(nBlocks, Iron, 9,149,17);
00215 mBlock->SetLineColor(20);
00216 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(80,5,14));
00217 sprintf(nBlocks,"ab%d",N++);
00218 mBlock = geom->MakeBox(nBlocks, Iron, 9,149,18);
00219 mBlock->SetLineColor(20);
00220 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(80,5,51));
00221
00222 sprintf(nBlocks,"ab%d",N++);
00223 mBlock = geom->MakeBox(nBlocks, Iron, 9,149,17);
00224 mBlock->SetLineColor(20);
00225 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-80,5,14));
00226 sprintf(nBlocks,"ab%d",N++);
00227 mBlock = geom->MakeBox(nBlocks, Iron, 9,149,18);
00228 mBlock->SetLineColor(20);
00229 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(-80,5,51));
00230
00231
00232
00233
00234
00235
00236
00237 k=0; i=0;
00238
00239 while (i<5){
00240 while(k<52){
00241 sprintf(nBlocks,"ab%d",N++);
00242 mBlock = geom->MakeTubs(nBlocks,Iron, 1,3,7, 0, 180);
00243 mBlock->SetLineColor(12);
00244 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-382+(k*15),137,255, new TGeoRotation("r1",90,90,0)));
00245 k++;
00246 }
00247 i++; k=0;
00248 }
00249
00250
00251
00252
00253
00254 k=0; i=0;
00255
00256 while (i<5){
00257 while(k<52){
00258 sprintf(nBlocks,"ab%d",N++);
00259 mBlock = geom->MakeTubs(nBlocks,Iron, 2.5,3,7, 0, 180);
00260 mBlock->SetLineColor(12);
00261 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-382+(k*15),-137,255, new TGeoRotation("r1",90,90,0)));
00262 k++;
00263 }
00264 i++; k=0;
00265 }
00266
00267
00268
00269 k=0; i=0;
00270
00271 while (i<5){
00272 while(k<20){
00273 sprintf(nBlocks,"ab%d",N++);
00274 mBlock = geom->MakeTubs(nBlocks,Iron, 2.5,3,6, 0, 180);
00275 mBlock->SetLineColor(12);
00276 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-382,-123+(k*13),271, new TGeoRotation("r1",0,90,0)));
00277 k++;
00278 }
00279 i++; k=0;
00280 }
00281
00282
00283
00284
00285 k=0; i=0;
00286
00287 while (i<5){
00288 while(k<20){
00289 sprintf(nBlocks,"ab%d",N++);
00290 mBlock = geom->MakeTubs(nBlocks,Iron, 2.5,3,7, 0, 180);
00291 mBlock->SetLineColor(12);
00292 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(382,-123+(k*13),271, new TGeoRotation("r1",0,90,0)));
00293 k++;
00294 }
00295 i++; k=0;
00296 }
00297
00298
00299
00300
00301
00302
00303
00304
00305 k=0; i=0;
00306
00307 while (i<5){
00308 while(k<7){
00309 sprintf(nBlocks,"ab%d",N++);
00310 mBlock = geom->MakeTubs(nBlocks,Iron, 0,5,56, 0, 360);
00311 mBlock->SetLineColor(50);
00312
00313 if (k<=2){
00314
00315 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),80,260, new TGeoRotation("r1",0,0,0)));
00316 }else if (k>=4){
00317 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),80,260, new TGeoRotation("r1",0,0,0)));
00318 }
00319
00320
00321 k++;
00322 }
00323 i++; k=0;
00324 }
00325
00326
00327
00328 k=0; i=0;
00329
00330 while (i<5){
00331 while(k<7){
00332 sprintf(nBlocks,"ab%d",N++);
00333 mBlock = geom->MakeTubs(nBlocks,Iron, 0,5,56, 0, 360);
00334 mBlock->SetLineColor(50);
00335
00336 if (k<=2){
00337
00338 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),-80,260, new TGeoRotation("r1",0,0,0)));
00339 }else if (k>=4){
00340 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),-80,260, new TGeoRotation("r1",0,0,0)));
00341 }
00342
00343
00344 k++;
00345 }
00346 i++; k=0;
00347 }
00348
00349
00350
00351
00352 sprintf(nBlocks,"ab%d",N++);
00353 mBlock = geom->MakeBox(nBlocks, Iron, 298,78,8);
00354 mBlock->SetLineColor(42);
00355 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(0,0,300));
00356
00357
00358
00359 sprintf(nBlocks,"ab%d",N++);
00360 mBlock = geom->MakeBox(nBlocks, Iron, 298,78,5);
00361 mBlock->SetLineColor(42);
00362 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(0,0,320));
00363
00364
00365
00366
00367 k=0; i=0;
00368
00369 while (i<5){
00370 while(k<6){
00371 sprintf(nBlocks,"ab%d",N++);
00372 mBlock = geom->MakeBox(nBlocks,Iron,18,10,8);
00373 mBlock->SetLineColor(8);
00374 {
00375 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),70,300, new TGeoRotation("r1",0,0,0)));
00376
00377 }
00378 k++;
00379 }
00380 i++; k=0;
00381 }
00382
00383
00384
00385
00386
00387 k=0; i=0;
00388
00389 while (i<5){
00390 while(k<6){
00391 sprintf(nBlocks,"ab%d",N++);
00392 mBlock = geom->MakeBox(nBlocks,Iron,18,10,8);
00393 mBlock->SetLineColor(8);
00394 {
00395 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),-70,300, new TGeoRotation("r1",0,0,0)));
00396
00397 }
00398 k++;
00399 }
00400 i++; k=0;
00401 }
00402
00403
00404
00405
00406 sprintf(nBlocks,"ab%d",N++);
00407 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,8);
00408 mBlock->SetLineColor(8);
00409 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-290,0,300, new TGeoRotation("r1",90,0,0)));
00410
00411
00412
00413 sprintf(nBlocks,"ab%d",N++);
00414 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,8);
00415 mBlock->SetLineColor(8);
00416 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(290,0,300, new TGeoRotation("r1",90,0,0)));
00417
00418
00419
00420
00421
00422
00423
00424 k=0; i=0;
00425
00426 while (i<5){
00427 while(k<6){
00428 sprintf(nBlocks,"ab%d",N++);
00429 mBlock = geom->MakeBox(nBlocks,Iron,18,10,5);
00430 mBlock->SetLineColor(8);
00431 {
00432 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),70,320, new TGeoRotation("r1",0,0,0)));
00433
00434 }
00435 k++;
00436 }
00437 i++; k=0;
00438 }
00439
00440
00441
00442
00443
00444 k=0; i=0;
00445
00446 while (i<5){
00447 while(k<6){
00448 sprintf(nBlocks,"ab%d",N++);
00449 mBlock = geom->MakeBox(nBlocks,Iron,18,10,5);
00450 mBlock->SetLineColor(8);
00451 {
00452 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),-70,320, new TGeoRotation("r1",0,0,0)));
00453
00454 }
00455 k++;
00456 }
00457 i++; k=0;
00458 }
00459
00460
00461
00462 sprintf(nBlocks,"ab%d",N++);
00463 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,5);
00464 mBlock->SetLineColor(8);
00465 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-290,0,320, new TGeoRotation("r1",90,0,0)));
00466
00467
00468
00469 sprintf(nBlocks,"ab%d",N++);
00470 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,5);
00471 mBlock->SetLineColor(8);
00472 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(290,0,320, new TGeoRotation("r1",90,0,0)));
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487 k=0; i=0;
00488
00489 while (i<5){
00490 while(k<19){
00491 sprintf(nBlocks,"ab%d",N++);
00492 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00493 mBlock->SetLineColor(50);
00494 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),78,345, new TGeoRotation("r1",0,0,0)));
00495 k++;
00496 }
00497 i++; k=0;
00498 }
00499
00500
00501
00502
00503 k=0; i=0;
00504
00505 while (i<5){
00506 while(k<19){
00507 sprintf(nBlocks,"ab%d",N++);
00508 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00509 mBlock->SetLineColor(50);
00510 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),-78,345, new TGeoRotation("r1",0,0,0)));
00511 k++;
00512 }
00513 i++; k=0;
00514 }
00515
00516
00517
00518 k=0; i=0;
00519
00520 while (i<5){
00521 while(k<5){
00522 sprintf(nBlocks,"ab%d",N++);
00523 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00524 mBlock->SetLineColor(50);
00525 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,-78+(k*33),345, new TGeoRotation("r1",0,0,0)));
00526 k++;
00527 }
00528 i++; k=0;
00529 }
00530
00531
00532
00533
00534
00535 k=0; i=0;
00536
00537 while (i<5){
00538 while(k<5){
00539 sprintf(nBlocks,"ab%d",N++);
00540 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00541 mBlock->SetLineColor(50);
00542 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,-78+(k*33),345, new TGeoRotation("r1",0,0,0)));
00543 k++;
00544 }
00545 i++; k=0;
00546 }
00547
00548
00549
00550
00551
00552 k=0; i=0;
00553
00554 while (i<5){
00555 while(k<19){
00556 sprintf(nBlocks,"ab%d",N++);
00557 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00558 mBlock->SetLineColor(50);
00559 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),90,342, new TGeoRotation("r1",0,-45,0)));
00560 k++;
00561 }
00562 i++; k=0;
00563 }
00564
00565
00566
00567
00568 k=0; i=0;
00569
00570 while (i<5){
00571 while(k<19){
00572 sprintf(nBlocks,"ab%d",N++);
00573 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00574 mBlock->SetLineColor(50);
00575 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),-90,342, new TGeoRotation("r1",0,45,0)));
00576 k++;
00577 }
00578 i++; k=0;
00579 }
00580
00581
00582
00583 k=0; i=0;
00584
00585 while (i<5){
00586 while(k<5){
00587 sprintf(nBlocks,"ab%d",N++);
00588 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00589 mBlock->SetLineColor(50);
00590 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-318,-78+(k*33),345, new TGeoRotation("r1",-90,45,0)));
00591 k++;
00592 }
00593 i++; k=0;
00594 }
00595
00596
00597
00598
00599
00600 k=0; i=0;
00601
00602 while (i<5){
00603 while(k<5){
00604 sprintf(nBlocks,"ab%d",N++);
00605 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00606 mBlock->SetLineColor(50);
00607 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(318,-78+(k*33),345, new TGeoRotation("r1",90,45,0)));
00608 k++;
00609 }
00610 i++; k=0;
00611 }
00612
00613
00614
00615
00616
00617
00618 sprintf(nBlocks,"ab%d",N++);
00619 mBlock = geom->MakeBox(nBlocks, Iron, 330,10,2);
00620 mBlock->SetLineColor(42);
00621 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,-107,362, new TGeoRotation("r1",0,-45,0)));
00622
00623
00624
00625
00626 sprintf(nBlocks,"ab%d",N++);
00627 mBlock = geom->MakeBox(nBlocks, Iron, 330,10,2);
00628 mBlock->SetLineColor(42);
00629 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,107,362, new TGeoRotation("r1",0,45,0)));
00630
00631
00632
00633 sprintf(nBlocks,"ab%d",N++);
00634 mBlock = geom->MakeBox(nBlocks, Iron, 110,10,2);
00635 mBlock->SetLineColor(42);
00636 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(330,0,362, new TGeoRotation("r1",90,-45,0)));
00637
00638
00639
00640 sprintf(nBlocks,"ab%d",N++);
00641 mBlock = geom->MakeBox(nBlocks, Iron, 110,10,2);
00642 mBlock->SetLineColor(42);
00643 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-330,0,362, new TGeoRotation("r1",90,45,0)));
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653 k=0; i=0;
00654
00655 while (i<5){
00656 while(k<6){
00657 sprintf(nBlocks,"ab%d",N++);
00658 mBlock = geom->MakeBox(nBlocks,Iron,18,10,2);
00659 mBlock->SetLineColor(8);
00660 {
00661 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-270+(k*100),-108,362, new TGeoRotation("r1",0,-45,0)));
00662
00663 }
00664 k++;
00665 }
00666 i++; k=0;
00667 }
00668
00669
00670
00671
00672 k=0; i=0;
00673
00674 while (i<5){
00675 while(k<6){
00676 sprintf(nBlocks,"ab%d",N++);
00677 mBlock = geom->MakeBox(nBlocks,Iron,18,10,2);
00678 mBlock->SetLineColor(8);
00679 {
00680 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-270+(k*100),108,362, new TGeoRotation("r1",0,45,0)));
00681
00682 }
00683 k++;
00684 }
00685 i++; k=0;
00686 }
00687
00688
00689 sprintf(nBlocks,"ab%d",N++);
00690 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,2);
00691 mBlock->SetLineColor(8);
00692 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(331,0,362, new TGeoRotation("r1",90,-45,0)));
00693
00694
00695
00696 sprintf(nBlocks,"ab%d",N++);
00697 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,2);
00698 mBlock->SetLineColor(8);
00699 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-331,0,362, new TGeoRotation("r1",90,45,0)));
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710 k=0; i=0;
00711
00712 while (i<5){
00713 while(k<7){
00714 sprintf(nBlocks,"ab%d",N++);
00715 mBlock = geom->MakeTubs(nBlocks,Iron, 0,5,30, 0, 360);
00716 mBlock->SetLineColor(50);
00717
00718 if (k<=2){
00719
00720 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),80,465, new TGeoRotation("r1",0,0,0)));
00721 }else if (k>=4){
00722 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),80,465, new TGeoRotation("r1",0,0,0)));
00723 }
00724
00725
00726 k++;
00727 }
00728 i++; k=0;
00729 }
00730
00731
00732
00733 k=0; i=0;
00734
00735 while (i<5){
00736 while(k<7){
00737 sprintf(nBlocks,"ab%d",N++);
00738 mBlock = geom->MakeTubs(nBlocks,Iron, 0,5,30, 0, 360);
00739 mBlock->SetLineColor(50);
00740
00741 if (k<=2){
00742
00743 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),-80,465, new TGeoRotation("r1",0,0,0)));
00744 }else if (k>=4){
00745 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*100),-80,465, new TGeoRotation("r1",0,0,0)));
00746 }
00747
00748
00749 k++;
00750 }
00751 i++; k=0;
00752 }
00753
00754
00755
00756
00757
00758
00759
00760 sprintf(nBlocks,"ab%d",N++);
00761 mBlock = geom->MakeBox(nBlocks, Iron, 302,80,8);
00762 mBlock->SetLineColor(42);
00763 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(0,0,480));
00764
00765
00766
00767 sprintf(nBlocks,"ab%d",N++);
00768 mBlock = geom->MakeBox(nBlocks, Iron, 302,80,5);
00769 mBlock->SetLineColor(42);
00770 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(0,0,500));
00771
00772
00773 sprintf(nBlocks,"ab%d",N++);
00774 mBlock = geom->MakeBox(nBlocks, Iron, 305,80,2.5);
00775 mBlock->SetLineColor(50);
00776 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(0,0,465));
00777
00778
00779
00780
00781
00782
00783
00784
00785
00786
00787 k=0; i=0;
00788
00789 while (i<5){
00790 while(k<6){
00791 sprintf(nBlocks,"ab%d",N++);
00792 mBlock = geom->MakeBox(nBlocks,Iron,18,10,8);
00793 mBlock->SetLineColor(8);
00794 {
00795 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),71,480, new TGeoRotation("r1",0,0,0)));
00796
00797 }
00798 k++;
00799 }
00800 i++; k=0;
00801 }
00802
00803
00804
00805
00806
00807 k=0; i=0;
00808
00809 while (i<5){
00810 while(k<6){
00811 sprintf(nBlocks,"ab%d",N++);
00812 mBlock = geom->MakeBox(nBlocks,Iron,18,10,8);
00813 mBlock->SetLineColor(8);
00814 {
00815 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),-71,480, new TGeoRotation("r1",0,0,0)));
00816
00817 }
00818 k++;
00819 }
00820 i++; k=0;
00821 }
00822
00823
00824
00825
00826 sprintf(nBlocks,"ab%d",N++);
00827 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,8);
00828 mBlock->SetLineColor(8);
00829 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-293,0,480, new TGeoRotation("r1",90,0,0)));
00830
00831
00832
00833 sprintf(nBlocks,"ab%d",N++);
00834 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,8);
00835 mBlock->SetLineColor(8);
00836 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(293,0,480, new TGeoRotation("r1",90,0,0)));
00837
00838
00839
00840
00841
00842
00843
00844 k=0; i=0;
00845
00846 while (i<5){
00847 while(k<6){
00848 sprintf(nBlocks,"ab%d",N++);
00849 mBlock = geom->MakeBox(nBlocks,Iron,18,10,5);
00850 mBlock->SetLineColor(8);
00851 {
00852 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),71,500, new TGeoRotation("r1",0,0,0)));
00853
00854 }
00855 k++;
00856 }
00857 i++; k=0;
00858 }
00859
00860
00861
00862
00863
00864 k=0; i=0;
00865
00866 while (i<5){
00867 while(k<6){
00868 sprintf(nBlocks,"ab%d",N++);
00869 mBlock = geom->MakeBox(nBlocks,Iron,18,10,5);
00870 mBlock->SetLineColor(8);
00871 {
00872 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-250+(k*100),-71,500, new TGeoRotation("r1",0,0,0)));
00873
00874 }
00875 k++;
00876 }
00877 i++; k=0;
00878 }
00879
00880
00881
00882 sprintf(nBlocks,"ab%d",N++);
00883 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,5);
00884 mBlock->SetLineColor(8);
00885 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-293,0,500, new TGeoRotation("r1",90,0,0)));
00886
00887
00888
00889 sprintf(nBlocks,"ab%d",N++);
00890 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,5);
00891 mBlock->SetLineColor(8);
00892 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(293,0,500, new TGeoRotation("r1",90,0,0)));
00893
00894
00895
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907 k=0; i=0;
00908
00909 while (i<5){
00910 while(k<25){
00911 sprintf(nBlocks,"ab%d",N++);
00912 mBlock = geom->MakeBox(nBlocks,Iron, 1.5,5,15);
00913 mBlock->SetLineColor(50);
00914 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*25),78,450, new TGeoRotation("r1",0,0,0)));
00915 k++;
00916 }
00917 i++; k=0;
00918 }
00919
00920
00921
00922
00923 k=0; i=0;
00924
00925 while (i<5){
00926 while(k<25){
00927 sprintf(nBlocks,"ab%d",N++);
00928 mBlock = geom->MakeBox(nBlocks,Iron, 1.5,5,15);
00929 mBlock->SetLineColor(50);
00930 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*25),-78,450, new TGeoRotation("r1",0,0,0)));
00931 k++;
00932 }
00933 i++; k=0;
00934 }
00935
00936
00937
00938 k=0; i=0;
00939
00940 while (i<5){
00941 while(k<7){
00942 sprintf(nBlocks,"ab%d",N++);
00943 mBlock = geom->MakeBox(nBlocks,Iron, 5,1.5,15);
00944 mBlock->SetLineColor(50);
00945 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,-78+(k*25),450, new TGeoRotation("r1",0,0,0)));
00946 k++;
00947 }
00948 i++; k=0;
00949 }
00950
00951
00952
00953
00954
00955 k=0; i=0;
00956
00957 while (i<5){
00958 while (k<7){
00959 sprintf(nBlocks,"ab%d",N++);
00960 mBlock = geom->MakeBox(nBlocks,Iron, 5,1.5,15);
00961 mBlock->SetLineColor(50);
00962 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,-78+(k*25),450, new TGeoRotation("r1",0,0,0)));
00963 k++;
00964 }
00965 i++; k=0;
00966 }
00967
00968
00969
00970
00971
00972
00973
00974 k=0; i=0;
00975
00976 while (i<5){
00977 while(k<19){
00978 sprintf(nBlocks,"ab%d",N++);
00979 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00980 mBlock->SetLineColor(50);
00981 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),78,525, new TGeoRotation("r1",0,0,0)));
00982 k++;
00983 }
00984 i++; k=0;
00985 }
00986
00987
00988
00989
00990 k=0; i=0;
00991
00992 while (i<5){
00993 while(k<19){
00994 sprintf(nBlocks,"ab%d",N++);
00995 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
00996 mBlock->SetLineColor(50);
00997 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),-78,525, new TGeoRotation("r1",0,0,0)));
00998 k++;
00999 }
01000 i++; k=0;
01001 }
01002
01003
01004
01005 k=0; i=0;
01006
01007 while (i<5){
01008 while(k<5){
01009 sprintf(nBlocks,"ab%d",N++);
01010 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
01011 mBlock->SetLineColor(50);
01012 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,-78+(k*33),525, new TGeoRotation("r1",0,0,0)));
01013 k++;
01014 }
01015 i++; k=0;
01016 }
01017
01018
01019
01020
01021
01022 k=0; i=0;
01023
01024 while (i<5){
01025 while(k<5){
01026 sprintf(nBlocks,"ab%d",N++);
01027 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
01028 mBlock->SetLineColor(50);
01029 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,-78+(k*33),525, new TGeoRotation("r1",0,0,0)));
01030 k++;
01031 }
01032 i++; k=0;
01033 }
01034
01035
01036
01037
01038
01039
01040
01041
01042 k=0; i=0;
01043
01044 while (i<5){
01045 while(k<19){
01046 sprintf(nBlocks,"ab%d",N++);
01047 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
01048 mBlock->SetLineColor(50);
01049 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),90,522, new TGeoRotation("r1",0,-45,0)));
01050 k++;
01051 }
01052 i++; k=0;
01053 }
01054
01055
01056
01057
01058 k=0; i=0;
01059
01060 while (i<5){
01061 while(k<19){
01062 sprintf(nBlocks,"ab%d",N++);
01063 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
01064 mBlock->SetLineColor(50);
01065 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300+(k*33.3),-90,522, new TGeoRotation("r1",0,45,0)));
01066 k++;
01067 }
01068 i++; k=0;
01069 }
01070
01071
01072 k=0; i=0;
01073
01074 while (i<5){
01075 while(k<5){
01076 sprintf(nBlocks,"ab%d",N++);
01077 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
01078 mBlock->SetLineColor(50);
01079 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-318,-78+(k*33.3),525, new TGeoRotation("r1",-90,45,0)));
01080 k++;
01081 }
01082 i++; k=0;
01083 }
01084
01085
01086
01087
01088
01089 k=0; i=0;
01090
01091 while (i<5){
01092 while(k<5){
01093 sprintf(nBlocks,"ab%d",N++);
01094 mBlock = geom->MakeBox(nBlocks,Iron, 5,5,20);
01095 mBlock->SetLineColor(50);
01096 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(318,-78+(k*33.3),525, new TGeoRotation("r1",90,45,0)));
01097 k++;
01098 }
01099 i++; k=0;
01100 }
01101
01102
01103
01104
01105
01106 k=0; i=0;
01107
01108 while (i<5){
01109 while(k<50){
01110 sprintf(nBlocks,"ab%d",N++);
01111 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01112 mBlock->SetLineColor(50);
01113 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),115,562, new TGeoRotation("r1",0,-115,0)));
01114 k++;
01115 }
01116 i++; k=0;
01117 }
01118
01119
01120
01121
01122 k=0; i=0;
01123
01124 while (i<5){
01125 while(k<50){
01126 sprintf(nBlocks,"ab%d",N++);
01127 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01128 mBlock->SetLineColor(50);
01129 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),-115,562, new TGeoRotation("r1",0,115,0)));
01130 k++;
01131 }
01132 i++; k=0;
01133 }
01134
01135
01136
01137 k=0; i=0;
01138
01139 while (i<5){
01140 while(k<17){
01141 sprintf(nBlocks,"ab%d",N++);
01142 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01143 mBlock->SetLineColor(50);
01144 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-340,-98+(k*13),565, new TGeoRotation("r1",-90,115,0)));
01145 k++;
01146 }
01147 i++; k=0;
01148 }
01149
01150
01151
01152
01153
01154 k=0; i=0;
01155
01156 while (i<5){
01157 while(k<17){
01158 sprintf(nBlocks,"ab%d",N++);
01159 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01160 mBlock->SetLineColor(50);
01161 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(340,-98+(k*13),565, new TGeoRotation("r1",90,115,0)));
01162 k++;
01163 }
01164 i++; k=0;
01165 }
01166
01167
01168
01169
01170
01171
01172 k=0; i=0;
01173
01174 while (i<5){
01175 while(k<50){
01176 sprintf(nBlocks,"ab%d",N++);
01177 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01178 mBlock->SetLineColor(50);
01179 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),115,375, new TGeoRotation("r1",0,-115,0)));
01180 k++;
01181 }
01182 i++; k=0;
01183 }
01184
01185
01186
01187
01188 k=0; i=0;
01189
01190 while (i<5){
01191 while(k<50){
01192 sprintf(nBlocks,"ab%d",N++);
01193 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01194 mBlock->SetLineColor(50);
01195 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),-115,375, new TGeoRotation("r1",0,115,0)));
01196 k++;
01197 }
01198 i++; k=0;
01199 }
01200
01201
01202
01203 k=0; i=0;
01204
01205 while (i<5){
01206 while(k<17){
01207 sprintf(nBlocks,"ab%d",N++);
01208 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01209 mBlock->SetLineColor(50);
01210 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-340,-98+(k*13),375, new TGeoRotation("r1",-90,115,0)));
01211 k++;
01212 }
01213 i++; k=0;
01214 }
01215
01216
01217
01218
01219
01220 k=0; i=0;
01221
01222 while (i<5){
01223 while(k<17){
01224 sprintf(nBlocks,"ab%d",N++);
01225 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01226 mBlock->SetLineColor(50);
01227 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(340,-98+(k*13),375, new TGeoRotation("r1",90,115,0)));
01228 k++;
01229 }
01230 i++; k=0;
01231 }
01232
01233
01234
01235
01236 k=0; i=0;
01237
01238 while (i<5){
01239 while(k<50){
01240 sprintf(nBlocks,"ab%d",N++);
01241 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01242 mBlock->SetLineColor(44);
01243 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),115,568, new TGeoRotation("r1",0,-115,0)));
01244 k++;
01245 }
01246 i++; k=0;
01247 }
01248
01249
01250
01251
01252 k=0; i=0;
01253
01254 while (i<5){
01255 while(k<50){
01256 sprintf(nBlocks,"ab%d",N++);
01257 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01258 mBlock->SetLineColor(44);
01259 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),-115,568, new TGeoRotation("r1",0,115,0)));
01260 k++;
01261 }
01262 i++; k=0;
01263 }
01264
01265
01266 k=0; i=0;
01267
01268 while (i<5){
01269 while(k<17){
01270 sprintf(nBlocks,"ab%d",N++);
01271 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01272 mBlock->SetLineColor(44);
01273 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-340,-98+(k*13),568, new TGeoRotation("r1",-90,115,0)));
01274 k++;
01275 }
01276 i++; k=0;
01277 }
01278
01279
01280
01281
01282
01283 k=0; i=0;
01284
01285 while (i<5){
01286 while(k<17){
01287 sprintf(nBlocks,"ab%d",N++);
01288 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01289 mBlock->SetLineColor(44);
01290 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(340,-98+(k*13),568, new TGeoRotation("r1",90,115,0)));
01291 k++;
01292 }
01293 i++; k=0;
01294 }
01295
01296
01297
01298
01299
01300
01301
01302
01303 k=0; i=0;
01304
01305 while (i<5){
01306 while(k<50){
01307 sprintf(nBlocks,"ab%d",N++);
01308 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01309 mBlock->SetLineColor(44);
01310 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),115,385, new TGeoRotation("r1",0,-115,0)));
01311 k++;
01312 }
01313 i++; k=0;
01314 }
01315
01316
01317
01318
01319 k=0; i=0;
01320
01321 while (i<5){
01322 while(k<50){
01323 sprintf(nBlocks,"ab%d",N++);
01324 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01325 mBlock->SetLineColor(44);
01326 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-320+(k*13),-115,385, new TGeoRotation("r1",0,115,0)));
01327 k++;
01328 }
01329 i++; k=0;
01330 }
01331
01332
01333 k=0; i=0;
01334
01335 while (i<5){
01336 while(k<17){
01337 sprintf(nBlocks,"ab%d",N++);
01338 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01339 mBlock->SetLineColor(44);
01340 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-340,-98+(k*13),385, new TGeoRotation("r1",-90,115,0)));
01341 k++;
01342 }
01343 i++; k=0;
01344 }
01345
01346
01347
01348
01349
01350 k=0; i=0;
01351
01352 while (i<5){
01353 while(k<17){
01354 sprintf(nBlocks,"ab%d",N++);
01355 mBlock = geom->MakeBox(nBlocks,Iron, 2.5,2.5,20);
01356 mBlock->SetLineColor(44);
01357 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(340,-98+(k*13),385, new TGeoRotation("r1",90,115,0)));
01358 k++;
01359 }
01360 i++; k=0;
01361 }
01362
01363
01364
01365
01366 sprintf(nBlocks,"ab%d",N++);
01367 mBlock = geom->MakeBox(nBlocks,Iron, 270,15,20);
01368 mBlock->SetLineColor(10);
01369 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,0,620, new TGeoRotation("r1",0,0,0)));
01370
01371 sprintf(nBlocks,"ab%d",N++);
01372 mBlock = geom->MakeBox(nBlocks,Iron, 75,15,20);
01373 mBlock->SetLineColor(10);
01374 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,-50,600, new TGeoRotation("r1",0,20,-40)));
01375
01376 sprintf(nBlocks,"ab%d",N++);
01377 mBlock = geom->MakeBox(nBlocks,Iron, 75,15,20);
01378 mBlock->SetLineColor(10);
01379 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,50,600, new TGeoRotation("r1",0,-20,40)));
01380
01381 sprintf(nBlocks,"ab%d",N++);
01382 mBlock = geom->MakeBox(nBlocks,Iron, 75,15,20);
01383 mBlock->SetLineColor(10);
01384 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,50,600, new TGeoRotation("r1",0,-20,-40)));
01385
01386 sprintf(nBlocks,"ab%d",N++);
01387 mBlock = geom->MakeBox(nBlocks,Iron, 75,15,20);
01388 mBlock->SetLineColor(10);
01389 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,-50,600, new TGeoRotation("r1",0,20,40)));
01390
01391
01392
01393
01394
01395 sprintf(nBlocks,"ab%d",N++);
01396 mBlock = geom->MakeBox(nBlocks,Iron, 50,15,20);
01397 mBlock->SetLineColor(10);
01398 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,-80,413, new TGeoRotation("r1",0,20,-40)));
01399
01400 sprintf(nBlocks,"ab%d",N++);
01401 mBlock = geom->MakeBox(nBlocks,Iron, 50,15,20);
01402 mBlock->SetLineColor(10);
01403 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(300,80,413, new TGeoRotation("r1",0,-20,40)));
01404
01405 sprintf(nBlocks,"ab%d",N++);
01406 mBlock = geom->MakeBox(nBlocks,Iron, 50,15,20);
01407 mBlock->SetLineColor(10);
01408 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,80,413, new TGeoRotation("r1",0,-20,-40)));
01409
01410 sprintf(nBlocks,"ab%d",N++);
01411 mBlock = geom->MakeBox(nBlocks,Iron, 50,15,20);
01412 mBlock->SetLineColor(10);
01413 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-300,-80,413, new TGeoRotation("r1",0,20,40)));
01414
01415
01416
01417
01418
01419
01420
01421
01422 k=0; i=0;
01423 while (i<7){
01424 while(k<44){
01425 sprintf(nBlocks,"ab%d",N++);
01426 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01427 mBlock->SetLineColor(13);
01428 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-280+(k*13),70+(i*12.5),425-(i*5), new TGeoRotation("r1",0,60,0)));
01429 k++;
01430 }
01431 i++; k=0;
01432 }
01433
01434
01435
01436 k=0; i=0;
01437
01438 while (i<7){
01439 while(k<44){
01440 sprintf(nBlocks,"ab%d",N++);
01441 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01442 mBlock->SetLineColor(13);
01443 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-280+(k*13),-70-(i*12.5),425-(i*5), new TGeoRotation("r1",0,120,0)));
01444 k++;
01445 }
01446 i++; k=0;
01447 }
01448
01449
01450
01451
01452
01453
01454 k=0; i=0;
01455 while (i<11){
01456 while(k<43){
01457 sprintf(nBlocks,"ab%d",N++);
01458 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01459 mBlock->SetLineColor(13);
01460
01461 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-270+(k*13),15+(i*12.5),620-(i*5), new TGeoRotation("r1",0,60,0)));
01462 k++;
01463 }
01464 i++; k=0;
01465 }
01466
01467
01468
01469 k=0; i=0;
01470
01471 while (i<11){
01472 while(k<43){
01473 sprintf(nBlocks,"ab%d",N++);
01474 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01475 mBlock->SetLineColor(13);
01476 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-270+(k*13),-15-(i*12.5),620-(i*5), new TGeoRotation("r1",0,120,0)));
01477 k++;
01478 }
01479 i++; k=0;
01480 }
01481
01482
01483
01484
01485
01486 k=0; i=0;
01487
01488 while (i<6){
01489 while(k<11){
01490 sprintf(nBlocks,"ab%d",N++);
01491 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01492 mBlock->SetLineColor(13);
01493 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-335,81.25+(i*12.5),592.5-(i*2), new TGeoRotation("r1",0,60,0)));
01494 k++;
01495 }
01496 i++; k=0;
01497 }
01498
01499 k=0; i=0;
01500
01501 while (i<7){
01502 while(k<11){
01503 sprintf(nBlocks,"ab%d",N++);
01504 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01505 mBlock->SetLineColor(13);
01506 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-322,69.75+(i*12.5),595-(i*2), new TGeoRotation("r1",0,60,0)));
01507 k++;
01508 }
01509 i++; k=0;
01510 }
01511
01512
01513 k=0; i=0;
01514
01515 while (i<8){
01516 while(k<11){
01517 sprintf(nBlocks,"ab%d",N++);
01518 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01519 mBlock->SetLineColor(13);
01520 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-309,56.25+(i*12.5),605-(i*4), new TGeoRotation("r1",0,60,0)));
01521 k++;
01522 }
01523 i++; k=0;
01524 }
01525
01526 k=0; i=0;
01527
01528 while (i<9){
01529 while(k<11){
01530 sprintf(nBlocks,"ab%d",N++);
01531 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01532 mBlock->SetLineColor(13);
01533 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-296,50+(i*12.5),610-(i*4), new TGeoRotation("r1",0,60,0)));
01534 k++;
01535 }
01536 i++; k=0;
01537 }
01538
01539
01540 k=0; i=0;
01541
01542 while (i<10){
01543 while(k<11){
01544 sprintf(nBlocks,"ab%d",N++);
01545 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01546 mBlock->SetLineColor(13);
01547 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-283,37.5+(i*12.5),615-(i*4), new TGeoRotation("r1",0,60,0)));
01548 k++;
01549 }
01550 i++; k=0;
01551 }
01552
01553
01554
01555 k=0; i=0;
01556
01557 while (i<6){
01558 while(k<11){
01559 sprintf(nBlocks,"ab%d",N++);
01560 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01561 mBlock->SetLineColor(13);
01562 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-335,-81.25-(i*12.5),592.5-(i*2), new TGeoRotation("r1",0,120,0)));
01563 k++;
01564 }
01565 i++; k=0;
01566 }
01567
01568 k=0; i=0;
01569
01570 while (i<7){
01571 while(k<11){
01572 sprintf(nBlocks,"ab%d",N++);
01573 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01574 mBlock->SetLineColor(13);
01575 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-322,-69.75-(i*12.5),595-(i*2), new TGeoRotation("r1",0,120,0)));
01576 k++;
01577 }
01578 i++; k=0;
01579 }
01580
01581
01582 k=0; i=0;
01583
01584 while (i<8){
01585 while(k<11){
01586 sprintf(nBlocks,"ab%d",N++);
01587 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01588 mBlock->SetLineColor(13);
01589 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-309,-56.25-(i*12.5),605-(i*4), new TGeoRotation("r1",0,120,0)));
01590 k++;
01591 }
01592 i++; k=0;
01593 }
01594
01595 k=0; i=0;
01596
01597 while (i<9){
01598 while(k<11){
01599 sprintf(nBlocks,"ab%d",N++);
01600 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01601 mBlock->SetLineColor(13);
01602 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-296,-50-(i*12.5),610-(i*4), new TGeoRotation("r1",0,120,0)));
01603 k++;
01604 }
01605 i++; k=0;
01606 }
01607
01608
01609 k=0; i=0;
01610
01611 while (i<10){
01612 while(k<11){
01613 sprintf(nBlocks,"ab%d",N++);
01614 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01615 mBlock->SetLineColor(13);
01616 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-283,-37.5-(i*12.5),615-(i*4), new TGeoRotation("r1",0,120,0)));
01617 k++;
01618 }
01619 i++; k=0;
01620 }
01621
01622
01623
01624
01625
01626
01627
01628 k=0; i=0;
01629
01630 while (i<6){
01631 while(k<11){
01632 sprintf(nBlocks,"ab%d",N++);
01633 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01634 mBlock->SetLineColor(13);
01635 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(335,81.25+(i*12.5),592.5-(i*2), new TGeoRotation("r1",0,60,0)));
01636 k++;
01637 }
01638 i++; k=0;
01639 }
01640
01641 k=0; i=0;
01642
01643 while (i<7){
01644 while(k<11){
01645 sprintf(nBlocks,"ab%d",N++);
01646 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01647 mBlock->SetLineColor(13);
01648 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(322,69.75+(i*12.5),595-(i*2), new TGeoRotation("r1",0,60,0)));
01649 k++;
01650 }
01651 i++; k=0;
01652 }
01653
01654
01655 k=0; i=0;
01656
01657 while (i<8){
01658 while(k<11){
01659 sprintf(nBlocks,"ab%d",N++);
01660 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01661 mBlock->SetLineColor(13);
01662 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(309,56.25+(i*12.5),605-(i*4), new TGeoRotation("r1",0,60,0)));
01663 k++;
01664 }
01665 i++; k=0;
01666 }
01667
01668 k=0; i=0;
01669
01670 while (i<9){
01671 while(k<11){
01672 sprintf(nBlocks,"ab%d",N++);
01673 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01674 mBlock->SetLineColor(13);
01675 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(296,50+(i*12.5),610-(i*4), new TGeoRotation("r1",0,60,0)));
01676 k++;
01677 }
01678 i++; k=0;
01679 }
01680
01681
01682 k=0; i=0;
01683
01684 while (i<10){
01685 while(k<11){
01686 sprintf(nBlocks,"ab%d",N++);
01687 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01688 mBlock->SetLineColor(13);
01689 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(283,37.5+(i*12.5),615-(i*4), new TGeoRotation("r1",0,60,0)));
01690 k++;
01691 }
01692 i++; k=0;
01693 }
01694
01695
01696
01697
01698
01699
01700
01701
01702 k=0; i=0;
01703
01704 while (i<6){
01705 while(k<11){
01706 sprintf(nBlocks,"ab%d",N++);
01707 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01708 mBlock->SetLineColor(13);
01709 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(335,-81.25-(i*12.5),592.5-(i*2), new TGeoRotation("r1",0,120,0)));
01710 k++;
01711 }
01712 i++; k=0;
01713 }
01714
01715 k=0; i=0;
01716
01717 while (i<7){
01718 while(k<11){
01719 sprintf(nBlocks,"ab%d",N++);
01720 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01721 mBlock->SetLineColor(13);
01722 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(322,-69.75-(i*12.5),595-(i*2), new TGeoRotation("r1",0,120,0)));
01723 k++;
01724 }
01725 i++; k=0;
01726 }
01727
01728
01729 k=0; i=0;
01730
01731 while (i<8){
01732 while(k<11){
01733 sprintf(nBlocks,"ab%d",N++);
01734 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01735 mBlock->SetLineColor(13);
01736 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(309,-56.25-(i*12.5),605-(i*4), new TGeoRotation("r1",0,120,0)));
01737 k++;
01738 }
01739 i++; k=0;
01740 }
01741
01742 k=0; i=0;
01743
01744 while (i<9){
01745 while(k<11){
01746 sprintf(nBlocks,"ab%d",N++);
01747 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01748 mBlock->SetLineColor(13);
01749 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(296,-50-(i*12.5),610-(i*4), new TGeoRotation("r1",0,120,0)));
01750 k++;
01751 }
01752 i++; k=0;
01753 }
01754
01755
01756 k=0; i=0;
01757
01758 while (i<10){
01759 while(k<11){
01760 sprintf(nBlocks,"ab%d",N++);
01761 mBlock = geom->MakeTubs(nBlocks,Iron, 3,6,6,10,170);
01762 mBlock->SetLineColor(13);
01763 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(283,-37.5-(i*12.5),615-(i*4), new TGeoRotation("r1",0,120,0)));
01764 k++;
01765 }
01766 i++; k=0;
01767 }
01768
01769
01770
01771
01772
01773 sprintf(nBlocks,"ab%d",N++);
01774 mBlock = geom->MakeBox(nBlocks, Iron, 330,10,2);
01775 mBlock->SetLineColor(42);
01776 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,-110,550, new TGeoRotation("r1",0,-45,0)));
01777
01778
01779
01780
01781 sprintf(nBlocks,"ab%d",N++);
01782 mBlock = geom->MakeBox(nBlocks, Iron, 330,10,2);
01783 mBlock->SetLineColor(42);
01784 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,110,550, new TGeoRotation("r1",0,45,0)));
01785
01786
01787
01788 sprintf(nBlocks,"ab%d",N++);
01789 mBlock = geom->MakeBox(nBlocks, Iron, 110,10,2);
01790 mBlock->SetLineColor(42);
01791 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(335,0,550, new TGeoRotation("r1",90,-45,0)));
01792
01793
01794
01795 sprintf(nBlocks,"ab%d",N++);
01796 mBlock = geom->MakeBox(nBlocks, Iron, 110,10,2);
01797 mBlock->SetLineColor(42);
01798 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-335,0,550, new TGeoRotation("r1",90,45,0)));
01799
01800
01801
01802
01803
01804
01805
01806
01807
01808 k=0; i=0;
01809
01810 while (i<5){
01811 while(k<6){
01812 sprintf(nBlocks,"ab%d",N++);
01813 mBlock = geom->MakeBox(nBlocks,Iron,18,10,2);
01814 mBlock->SetLineColor(8);
01815 {
01816 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-270+(k*100),-111,550, new TGeoRotation("r1",0,-45,0)));
01817
01818 }
01819 k++;
01820 }
01821 i++; k=0;
01822 }
01823
01824
01825
01826
01827 k=0; i=0;
01828
01829 while (i<5){
01830 while(k<6){
01831 sprintf(nBlocks,"ab%d",N++);
01832 mBlock = geom->MakeBox(nBlocks,Iron,18,10,2);
01833 mBlock->SetLineColor(8);
01834 {
01835 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-270+(k*100),111,550, new TGeoRotation("r1",0,45,0)));
01836
01837 }
01838 k++;
01839 }
01840 i++; k=0;
01841 }
01842
01843
01844 sprintf(nBlocks,"ab%d",N++);
01845 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,2);
01846 mBlock->SetLineColor(8);
01847 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(336,0,550, new TGeoRotation("r1",90,-45,0)));
01848
01849
01850
01851 sprintf(nBlocks,"ab%d",N++);
01852 mBlock = geom->MakeBox(nBlocks, Iron, 18,10,2);
01853 mBlock->SetLineColor(8);
01854 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(-336,0,550, new TGeoRotation("r1",90,45,0)));
01855
01856
01857
01858
01859
01860
01861
01862
01863 sprintf(nBlocks,"ab%d",N++);
01864 mBlock = geom->MakeBox(nBlocks, Iron, 300,75,40);
01865 mBlock->SetLineColor(45);
01866 top->AddNodeOverlap(mBlock,1,new TGeoCombiTrans(0,0,450, new TGeoRotation("r1",0,0,0)));
01867
01868
01869
01870
01871 sprintf(nBlocks,"ab%d",N++);
01872 mBlock = geom->MakeBox(nBlocks, Iron, 305,80,2.5);
01873 mBlock->SetLineColor(10);
01874 top->AddNodeOverlap(mBlock,1,new TGeoTranslation(0,0,430));
01875
01876
01877
01878
01879 top->SetVisibility(0);
01880 geom->CloseGeometry();
01881
01882 top->Draw("ogl");
01883 }