00001 #include "TCanvas.h"
00002 #include "TPaveText.h"
00003 #include "TImage.h"
00004 #include "TLine.h"
00005 #include "TLatex.h"
00006 #include "TButton.h"
00007 #include "TGeoManager.h"
00008
00009 void mp3player()
00010 {
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 TGeoManager *geom=new TGeoManager("geom","My first 3D geometry");
00024
00025
00026
00027
00028 TGeoMaterial *vacuum=new TGeoMaterial("vacuum",0,0,0);
00029 TGeoMaterial *Fe=new TGeoMaterial("Fe",55.845,26,7.87);
00030
00031
00032
00033 TGeoMedium *Iron=new TGeoMedium("Iron",1,Fe);
00034 TGeoMedium *Air=new TGeoMedium("Vacuum",0,vacuum);
00035
00036
00037
00038
00039 TGeoVolume *top=geom->MakeBox("top",Air,800,800,800);
00040 geom->SetTopVolume(top);
00041 geom->SetTopVisible(0);
00042
00043
00044
00045
00046
00047 TGeoVolume *b1=geom->MakeBox("b1",Iron,100,200,600);
00048 b1->SetLineColor(2);
00049
00050
00051 TGeoVolume *b2=geom->MakeTubs("b2",Iron,0,50,200,0,90);
00052 b2->SetLineColor(10);
00053
00054
00055 TGeoVolume *b3=geom->MakeTubs("b3",Iron,0,50,200,90,180);
00056 b3->SetLineColor(10);
00057
00058
00059 TGeoVolume *b4=geom->MakeTubs("b4",Iron,0,50,200,180,270);
00060 b4->SetLineColor(10);
00061
00062 TGeoVolume *b5=geom->MakeTubs("b5",Iron,0,50,200,270,360);
00063 b5->SetLineColor(10);
00064
00065
00066 TGeoVolume *b6=geom->MakeTubs("b6",Iron,0,50,600,0,90);
00067 b6->SetLineColor(10);
00068
00069 TGeoVolume *b7=geom->MakeTubs("b7",Iron,0,50,600,90,180);
00070 b7->SetLineColor(10);
00071
00072 TGeoVolume *b8=geom->MakeTubs("b8",Iron,0,50,600,180,270);
00073 b8->SetLineColor(10);
00074
00075 TGeoVolume *b9=geom->MakeTubs("b9",Iron,0,50,600,270,360);
00076 b9->SetLineColor(10);
00077
00078
00079
00080 TGeoVolume *b10=geom->MakeTubs("b10",Iron,0,50,100,0,90);
00081 b10->SetLineColor(10);
00082
00083 TGeoVolume *b11=geom->MakeTubs("b11",Iron,0,50,100,90,180);
00084 b11->SetLineColor(10);
00085
00086 TGeoVolume *b12=geom->MakeTubs("b12",Iron,0,50,100,180,270);
00087 b12->SetLineColor(10);
00088
00089 TGeoVolume *b13=geom->MakeTubs("b13",Iron,0,50,100,270,360);
00090 b13->SetLineColor(10);
00091
00092
00093 TGeoVolume *b14=geom->MakeBox("b14",Iron,100,50,450);
00094 b14->SetLineColor(10);
00095 TGeoVolume *b15=geom->MakeBox("b15",Iron,50,200,600);
00096 b15->SetLineColor(10);
00097
00098
00099
00100 TGeoVolume *b16=geom->MakeSphere("b16",Iron,0,50,0,90,0,90);
00101 b16->SetLineColor(10);
00102
00103 TGeoVolume *b17=geom->MakeSphere("b17",Iron,0,50,0,90,270,360);
00104 b17->SetLineColor(10);
00105
00106 TGeoVolume *b18=geom->MakeSphere("b18",Iron,0,50,0,90,180,270);
00107 b18->SetLineColor(10);
00108
00109 TGeoVolume *b19=geom->MakeSphere("b19",Iron,0,50,0,90,90,180);
00110 b19->SetLineColor(10);
00111
00112
00113 TGeoVolume *b20=geom->MakeTube("b20",Iron,50,150,150);
00114 b20->SetLineColor(17);
00115
00116
00117
00118 TGeoVolume *b21=geom->MakeSphere("b21",Iron,0,50,90,180,0,90);
00119 b21->SetLineColor(10);
00120
00121 TGeoVolume *b22=geom->MakeSphere("b22",Iron,0,50,90,180,270,360);
00122 b22->SetLineColor(10);
00123
00124 TGeoVolume *b23=geom->MakeSphere("b23",Iron,0,50,90,180,180,270);
00125 b23->SetLineColor(10);
00126
00127 TGeoVolume *b24=geom->MakeSphere("b24",Iron,0,50,90,180,90,180);
00128 b24->SetLineColor(10);
00129
00130
00131
00132 TGeoVolume *b25=geom->MakeTube("b25",Iron,51,54,150);
00133 b25->SetLineColor(17);
00134 TGeoVolume *b26=geom->MakeTube("b26",Iron,56,59,150);
00135 b26->SetLineColor(17);
00136 TGeoVolume *b27=geom->MakeTube("b27",Iron,61,64,150);
00137 b27->SetLineColor(17);
00138 TGeoVolume *b28=geom->MakeTube("b28",Iron,66,69,150);
00139 b28->SetLineColor(17);
00140 TGeoVolume *b29=geom->MakeTube("b29",Iron,71,74,150);
00141 b29->SetLineColor(17);
00142
00143 TGeoVolume *b30=geom->MakeTube("b30",Iron,76,79,150);
00144 b30->SetLineColor(17);
00145 TGeoVolume *b31=geom->MakeTube("b31",Iron,81,84,150);
00146 b31->SetLineColor(17);
00147 TGeoVolume *b32=geom->MakeTube("b32",Iron,86,89,150);
00148 b32->SetLineColor(17);
00149 TGeoVolume *b33=geom->MakeTube("b33",Iron,91,94,150);
00150 b33->SetLineColor(17);
00151 TGeoVolume *b34=geom->MakeTube("b34",Iron,96,99,150);
00152 b34->SetLineColor(17);
00153 TGeoVolume *b35=geom->MakeTube("b35",Iron,101,104,150);
00154 b35->SetLineColor(17);
00155 TGeoVolume *b36=geom->MakeTube("b36",Iron,106,109,150);
00156 b36->SetLineColor(17);
00157 TGeoVolume *b37=geom->MakeTube("b37",Iron,111,114,150);
00158 b37->SetLineColor(17);
00159 TGeoVolume *b38=geom->MakeTube("b38",Iron,116,119,150);
00160 b38->SetLineColor(17);
00161 TGeoVolume *b39=geom->MakeTube("b39",Iron,121,124,150);
00162 b39->SetLineColor(17);
00163 TGeoVolume *b40=geom->MakeTube("b40",Iron,126,129,150);
00164 b40->SetLineColor(17);
00165 TGeoVolume *b41=geom->MakeTube("b41",Iron,131,134,150);
00166 b41->SetLineColor(17);
00167 TGeoVolume *b42=geom->MakeTube("b42",Iron,136,139,150);
00168 b42->SetLineColor(17);
00169 TGeoVolume *b43=geom->MakeTube("b43",Iron,141,144,150);
00170 b43->SetLineColor(17);
00171 TGeoVolume *b44=geom->MakeTube("b44",Iron,146,149,150);
00172 b44->SetLineColor(17);
00173
00174
00175 TGeoVolume *b45=geom->MakeTube("b45",Iron,0,25,150);
00176 b45->SetLineColor(10);
00177
00178 TGeoVolume *b46=geom->MakeTube("b46",Iron,25,30,150);
00179 b46->SetLineColor(17);
00180
00181
00182
00183 TGeoVolume *b47=geom->MakeBox("b47",Iron,140,194,504);
00184 b47->SetLineColor(32);
00185
00186
00187 TGeoVolume *b48=geom->MakeBox("b48",Iron,150,176,236);
00188 b48->SetLineColor(37);
00189
00190
00191 TGeoVolume *b49=geom->MakeBox("b49",Iron,150,2,236);
00192 b49->SetLineColor(20);
00193 top->AddNodeOverlap(b49,49,new TGeoTranslation(-2,179,-150));
00194
00195 TGeoVolume *b50=geom->MakeBox("b50",Iron,150,2,236);
00196 b50->SetLineColor(20);
00197 top->AddNodeOverlap(b50,50,new TGeoTranslation(-2,-179,-150));
00198
00199 TGeoVolume *b51=geom->MakeBox("b51",Iron,150,176,2);
00200 b51->SetLineColor(20);
00201 top->AddNodeOverlap(b51,51,new TGeoTranslation(-2,0,89));
00202
00203 TGeoVolume *b52=geom->MakeBox("b52",Iron,150,176,2);
00204 b52->SetLineColor(20);
00205 top->AddNodeOverlap(b52,52,new TGeoTranslation(-2,0,-389));
00206
00207
00208 TGeoVolume *b53=geom->MakeBox("b53",Iron,150,200,90);
00209 b53->SetLineColor(10);
00210 top->AddNodeOverlap(b53,53,new TGeoTranslation(0,0,-510));
00211
00212
00213
00214
00215
00216 TGeoVolume *b54=geom->MakeBox("b54",Iron,15,254,600);
00217 b54->SetLineColor(37);
00218 top->AddNodeOverlap(b54,54,new TGeoTranslation(25,0,0));
00219
00220 TGeoVolume *b55=geom->MakeTubs("b55",Iron,0,54,15,270,360);
00221 b55->SetLineColor(37);
00222 top->AddNodeOverlap(b55,55,new TGeoCombiTrans(25,200,-600,new TGeoRotation("r1",90,90,0)));
00223
00224
00225 TGeoVolume *b56=geom->MakeTubs("b56",Iron,0,54,15,180,270);
00226 b56->SetLineColor(37);
00227 top->AddNodeOverlap(b56,56,new TGeoCombiTrans(25,-200,-600,new TGeoRotation("r1",90,90,0)));
00228
00229
00230 TGeoVolume *b57=geom->MakeTubs("b57",Iron,0,54,15,0,90);
00231 b57->SetLineColor(37);
00232 top->AddNodeOverlap(b57,57,new TGeoCombiTrans(25,200,600,new TGeoRotation("r1",90,90,0)));
00233
00234 TGeoVolume *b58=geom->MakeTubs("b58",Iron,0,54,15,90,180);
00235 b58->SetLineColor(37);
00236 top->AddNodeOverlap(b58,58,new TGeoCombiTrans(25,-200,600,new TGeoRotation("r1",90,90,0)));
00237
00238 TGeoVolume *b59=geom->MakePgon("b59",Iron,100,100,100,100);
00239 b59->SetLineColor(37);
00240 top->AddNodeOverlap(b59,59,new TGeoCombiTrans(200,200,100,new TGeoRotation("r1",90,90,0)));
00241
00242
00243
00244
00245
00246
00247
00248 TGeoVolume *b61=geom->MakeBox("b61",Iron,5,19,150);
00249 b61->SetLineColor(38);
00250 top->AddNodeOverlap(b61,61,new TGeoCombiTrans(-4,-87,-495,new TGeoRotation("r1",90,90,30)));
00251
00252 TGeoVolume *b62=geom->MakeBox("b62",Iron,5,19,150);
00253 b62->SetLineColor(38);
00254 top->AddNodeOverlap(b62,62,new TGeoCombiTrans(-4,-65,-495,new TGeoRotation("r1",90,90,330)));
00255
00256 TGeoVolume *b63=geom->MakeBox("b63",Iron,5,15,150);
00257 b63->SetLineColor(38);
00258 top->AddNodeOverlap(b63,63,new TGeoCombiTrans(-4,-40,-497,new TGeoRotation("r1",90,90,0)));
00259
00260 TGeoVolume *b64=geom->MakeBox("b64",Iron,5,15,150);
00261 b64->SetLineColor(38);
00262 top->AddNodeOverlap(b64,64,new TGeoCombiTrans(-4,-10,-497,new TGeoRotation("r1",90,90,0)));
00263
00264 TGeoVolume *b65=geom->MakeTubs("b65",Iron,7,17,150,0,180);
00265 b65->SetLineColor(38);
00266 top->AddNodeOverlap(b65,65,new TGeoCombiTrans(-4,-25,-490,new TGeoRotation("r1",90,90,0)));
00267
00268
00269
00270
00271 TGeoVolume *b66=geom->MakeBox("b66",Iron,5,19,150);
00272 b66->SetLineColor(38);
00273 top->AddNodeOverlap(b66,66,new TGeoCombiTrans(-4,10,-495,new TGeoRotation("r1",90,90,0)));
00274
00275
00276 TGeoVolume *b67=geom->MakeTubs("b67",Iron,10,20,150,230,480);
00277 b67->SetLineColor(38);
00278 top->AddNodeOverlap(b67,67,new TGeoCombiTrans(-4,23,-495,new TGeoRotation("r1",90,90,0)));
00279
00280
00281
00282 TGeoVolume *b68=geom->MakeBox("b68",Iron,5,20,150);
00283 b68->SetLineColor(38);
00284 top->AddNodeOverlap(b68,68,new TGeoCombiTrans(-4,53,-495,new TGeoRotation("r1",90,90,0)));
00285
00286
00287
00288 TGeoVolume *b69=geom->MakeTubs("b69",Iron,10,22,150,0,360);
00289 b69->SetLineColor(38);
00290 top->AddNodeOverlap(b69,69,new TGeoCombiTrans(-4,85,-495,new TGeoRotation("r1",90,90,0)));
00291
00292
00293
00294 TGeoVolume *b60=geom->MakeTube("b60",Iron,0,10,150);
00295 b60->SetLineColor(38);
00296 top->AddNodeOverlap(b60,60,new TGeoCombiTrans(-4,-120,-550,new TGeoRotation("r1",90,90,0)));
00297
00298
00299 TGeoVolume *b70=geom->MakeBox("b70",Iron,2,19,150);
00300 b70->SetLineColor(38);
00301 top->AddNodeOverlap(b70,70,new TGeoCombiTrans(-4,-114,-495,new TGeoRotation("r1",90,90,0)));
00302
00303 TGeoVolume *b71=geom->MakeBox("b71",Iron,2,19,150);
00304 b71->SetLineColor(38);
00305 top->AddNodeOverlap(b71,71,new TGeoCombiTrans(-4,-126,-495,new TGeoRotation("r1",90,90,0)));
00306
00307
00308 TGeoVolume *b72=geom->MakeBox("b72",Iron,8,2,150);
00309 b72->SetLineColor(38);
00310 top->AddNodeOverlap(b72,72,new TGeoCombiTrans(-4,-120,-515,new TGeoRotation("r1",90,90,0)));
00311
00312
00313 TGeoVolume *b73=geom->MakeBox("b73",Iron,8,2,150);
00314 b73->SetLineColor(38);
00315 top->AddNodeOverlap(b73,73,new TGeoCombiTrans(-4,-120,-475,new TGeoRotation("r1",90,90,0)));
00316
00317
00318
00319
00320
00321 TGeoVolume *b74=geom->MakeBox("b74",Iron,35,250,70);
00322 b74->SetLineColor(38);
00323 top->AddNodeOverlap(b74,74,new TGeoCombiTrans(-25,10,-60,new TGeoRotation("r1",0,0,0)));
00324
00325 TGeoVolume *b75=geom->MakeBox("b75",Iron,35,250,35);
00326 b75->SetLineColor(38);
00327 top->AddNodeOverlap(b75,75,new TGeoCombiTrans(-25,10,-175,new TGeoRotation("r1",0,0,0)));
00328
00329
00330 TGeoVolume *b76=geom->MakeBox("b76",Iron,35,250,35);
00331 b76->SetLineColor(38);
00332 top->AddNodeOverlap(b76,76,new TGeoCombiTrans(-25,10,55,new TGeoRotation("r1",0,0,0)));
00333
00334
00335 TGeoVolume *b77=geom->MakeTubs("b77",Iron,0,70,250,180,270);
00336 b77->SetLineColor(38);
00337 top->AddNodeOverlap(b77,77,new TGeoCombiTrans(10,10,-210,new TGeoRotation("r1",0,90,0)));
00338
00339
00340 TGeoVolume *b78=geom->MakeTubs("b78",Iron,0,70,250,90,180);
00341 b78->SetLineColor(38);
00342 top->AddNodeOverlap(b78,78,new TGeoCombiTrans(10,10,90,new TGeoRotation("r1",0,90,0)));
00343
00344
00345
00346
00347
00348 TGeoVolume *b79=geom->MakeBox("b79",Iron,40,250,150);
00349 b79->SetLineColor(10);
00350 top->AddNodeOverlap(b79,79,new TGeoCombiTrans(60,0,450,new TGeoRotation("r1",0,0,0)));
00351
00352 TGeoVolume *b80=geom->MakeTubs("b80",Iron,50,100,250,180,270);
00353 b80->SetLineColor(10);
00354 top->AddNodeOverlap(b80,80,new TGeoCombiTrans(10,0,350,new TGeoRotation("r1",0,90,0)));
00355
00356
00357 TGeoVolume *b81=geom->MakeTubs("b81",Iron,50,100,250,90,180);
00358 b81->SetLineColor(10);
00359 top->AddNodeOverlap(b81,81,new TGeoCombiTrans(10,0,400,new TGeoRotation("r1",0,90,0)));
00360
00361
00362 TGeoVolume *b82=geom->MakeBox("b82",Iron,30,250,150);
00363 b82->SetLineColor(10);
00364 top->AddNodeOverlap(b82,82,new TGeoCombiTrans(-70,0,450,new TGeoRotation("r1",0,0,0)));
00365
00366
00367 TGeoVolume *b83=geom->MakeBox("b83",Iron,30,250,60);
00368 b83->SetLineColor(10);
00369 top->AddNodeOverlap(b83,83,new TGeoCombiTrans(-20,0,540,new TGeoRotation("r1",0,0,0)));
00370
00371
00372
00373
00374 TGeoVolume *b85=geom->MakeTubs("b85",Iron,0,40,240,180,270);
00375 b85->SetLineColor(38);
00376 top->AddNodeOverlap(b85,85,new TGeoCombiTrans(10,10,370,new TGeoRotation("r1",0,90,0)));
00377
00378
00379
00380
00381 TGeoVolume *b84=geom->MakeTubs("b84",Iron,0,40,240,90,180);
00382 b84->SetLineColor(38);
00383 top->AddNodeOverlap(b84,84,new TGeoCombiTrans(10,10,400,new TGeoRotation("r1",0,90,0)));
00384
00385
00386 TGeoVolume *b86=geom->MakeBox("b86",Iron,20,240,20);
00387 b86->SetLineColor(38);
00388 top->AddNodeOverlap(b86,86,new TGeoCombiTrans(-10,10,380,new TGeoRotation("r1",0,0,0)));
00389
00390
00391 TGeoVolume *b87=geom->MakeBox("b87",Iron,20,250,10);
00392 b87->SetLineColor(35);
00393 top->AddNodeOverlap(b87,87,new TGeoCombiTrans(-10,20,385,new TGeoRotation("r1",0,0,0)));
00394
00395
00396 TGeoVolume *b88=geom->MakeBox("b88",Iron,100,220,600);
00397 b88->SetLineColor(10);
00398 top->AddNodeOverlap(b88,88,new TGeoCombiTrans(0,-30,0,new TGeoRotation("r1",0,0,0)));
00399
00400
00401 TGeoVolume *b89=geom->MakeTube("b89",Iron,25,95,650);
00402 b89->SetLineColor(10);
00403 top->AddNodeOverlap(b89,89,new TGeoCombiTrans(0,-60,0,new TGeoRotation("r1",0,0,0)));
00404
00405 TGeoVolume *b90=geom->MakeTube("b90",Iron,25,95,650);
00406 b90->SetLineColor(10);
00407 top->AddNodeOverlap(b90,90,new TGeoCombiTrans(0,60,0,new TGeoRotation("r1",0,0,0)));
00408
00409
00410 TGeoVolume *b91=geom->MakeBox("b91",Iron,40,200,650);
00411 b91->SetLineColor(10);
00412 top->AddNodeOverlap(b91,91,new TGeoCombiTrans(70,0,0,new TGeoRotation("r1",0,0,0)));
00413
00414 TGeoVolume *b92=geom->MakeBox("b92",Iron,100,50,650);
00415 b92->SetLineColor(10);
00416 top->AddNodeOverlap(b92,92,new TGeoCombiTrans(0,150,0,new TGeoRotation("r1",0,0,0)));
00417
00418 TGeoVolume *b93=geom->MakeBox("b93",Iron,100,50,650);
00419 b93->SetLineColor(10);
00420 top->AddNodeOverlap(b93,93,new TGeoCombiTrans(0,-150,0,new TGeoRotation("r1",0,0,0)));
00421
00422
00423 TGeoVolume *b94=geom->MakeBox("b94",Iron,40,200,650);
00424 b94->SetLineColor(10);
00425 top->AddNodeOverlap(b94,94,new TGeoCombiTrans(-70,0,0,new TGeoRotation("r1",0,0,0)));
00426
00427
00428 TGeoVolume *b95=geom->MakeTube("b95",Iron,25,35,650);
00429 b95->SetLineColor(1);
00430 top->AddNodeOverlap(b95,95,new TGeoCombiTrans(0,-60,-10,new TGeoRotation("r1",0,0,0)));
00431
00432 TGeoVolume *b96=geom->MakeTube("b96",Iron,25,35,650);
00433 b96->SetLineColor(1);
00434 top->AddNodeOverlap(b96,96,new TGeoCombiTrans(0,60,-10,new TGeoRotation("r1",0,0,0)));
00435
00436
00437 TGeoVolume *b97=geom->MakeBox("b97",Iron,70,70,600);
00438 b97->SetLineColor(17);
00439 top->AddNodeOverlap(b97,97,new TGeoCombiTrans(0,0,57,new TGeoRotation("r1",0,0,0)));
00440
00441
00442 TGeoVolume *b98=geom->MakeTubs("b98",Iron,0,50,600,0,90);
00443 b98->SetLineColor(17);
00444 top->AddNodeOverlap(b98,98,new TGeoCombiTrans(20,60,57,new TGeoRotation("r1",0,0,0)));
00445
00446 TGeoVolume *b99=geom->MakeTubs("b99",Iron,0,50,600,180,270);
00447 b99->SetLineColor(17);
00448 top->AddNodeOverlap(b99,99,new TGeoCombiTrans(-20,-60,57,new TGeoRotation("r1",0,0,0)));
00449
00450
00451 TGeoVolume *b100=geom->MakeTubs("b100",Iron,0,50,600,90,180);
00452 b100->SetLineColor(17);
00453 top->AddNodeOverlap(b100,100,new TGeoCombiTrans(-20,60,57,new TGeoRotation("r1",0,0,0)));
00454
00455
00456 TGeoVolume *b101=geom->MakeTubs("b101",Iron,0,50,600,270,360);
00457 b101->SetLineColor(17);
00458 top->AddNodeOverlap(b101,101,new TGeoCombiTrans(20,-60,57,new TGeoRotation("r1",0,0,0)));
00459
00460 TGeoVolume *b102=geom->MakeBox("b102",Iron,20,110,600);
00461 b102->SetLineColor(17);
00462 top->AddNodeOverlap(b102,102,new TGeoCombiTrans(0,0,57,new TGeoRotation("r1",0,0,0)));
00463
00464
00465 TGeoVolume *b103=geom->MakeBox("b103",Iron,15,200,600);
00466 b103->SetLineColor(37);
00467 top->AddNodeOverlap(b103,103,new TGeoCombiTrans(25,0,57,new TGeoRotation("r1",0,0,0)));
00468
00469 top->AddNodeOverlap(b1,1,new TGeoTranslation(0,0,0));
00470 top->AddNodeOverlap(b2,2,new TGeoCombiTrans(100,0,600,new TGeoRotation("r1",0,90,0)));
00471 top->AddNodeOverlap(b3,3,new TGeoCombiTrans(-100,0,600,new TGeoRotation("r1",0,90,0)));
00472 top->AddNodeOverlap(b4,4,new TGeoCombiTrans(-100,0,-600,new TGeoRotation("r1",0,90,0)));
00473 top->AddNodeOverlap(b5,5,new TGeoCombiTrans(100,0,-600,new TGeoRotation("r1",0,90,0)));
00474 top->AddNodeOverlap(b6,6,new TGeoCombiTrans(100,200,0,new TGeoRotation("r1",0,0,0)));
00475 top->AddNodeOverlap(b7,7,new TGeoCombiTrans(-100,200,0,new TGeoRotation("r1",0,0,0)));
00476 top->AddNodeOverlap(b8,8,new TGeoCombiTrans(-100,-200,0,new TGeoRotation("r1",0,0,0)));
00477 top->AddNodeOverlap(b9,9,new TGeoCombiTrans(100,-200,0,new TGeoRotation("r1",0,0,0)));
00478
00479 top->AddNodeOverlap(b10,10,new TGeoCombiTrans(0,200,600,new TGeoRotation("r2",90,90,0)));
00480 top->AddNodeOverlap(b11,11,new TGeoCombiTrans(0,-200,600,new TGeoRotation("r2",90,90,0)));
00481 top->AddNodeOverlap(b12,12,new TGeoCombiTrans(0,-200,-600, new TGeoRotation("r2",90,90,0)));
00482 top->AddNodeOverlap(b13,13,new TGeoCombiTrans(0,200,-600,new TGeoRotation("r2",90,90,0)));
00483 top->AddNodeOverlap(b14,14,new TGeoTranslation(0,200,-150));
00484 top->AddNodeOverlap(b15,15,new TGeoTranslation(100,0,0));
00485
00486 top->AddNodeOverlap(b16,16,new TGeoCombiTrans(100,200,600,new TGeoRotation("r2",0,0,0)));
00487 top->AddNodeOverlap(b17,17,new TGeoCombiTrans(100,-200,600,new TGeoRotation("r2",0,0,0)));
00488 top->AddNodeOverlap(b18,18,new TGeoCombiTrans(-100,-200,600,new TGeoRotation("r2",0,0,0)));
00489 top->AddNodeOverlap(b19,19,new TGeoCombiTrans(-100,200,600,new TGeoRotation("r2",0,0,0)));
00490 top->AddNodeOverlap(b20,20,new TGeoCombiTrans(-3,0,350,new TGeoRotation("r2",90,90,0)));
00491 top->AddNodeOverlap(b21,21,new TGeoCombiTrans(100,200,-600,new TGeoRotation("r2",0,0,0)));
00492 top->AddNodeOverlap(b22,22,new TGeoCombiTrans(100,-200,-600,new TGeoRotation("r2",0,0,0)));
00493 top->AddNodeOverlap(b23,23,new TGeoCombiTrans(-100,-200,-600,new TGeoRotation("r2",0,0,0)));
00494 top->AddNodeOverlap(b24,24,new TGeoCombiTrans(-100,200,-600,new TGeoRotation("r2",0,0,0)));
00495
00496
00497
00498 top->AddNodeOverlap(b25,25,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00499 top->AddNodeOverlap(b26,26,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00500 top->AddNodeOverlap(b27,27,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00501 top->AddNodeOverlap(b28,28,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00502 top->AddNodeOverlap(b29,29,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00503 top->AddNodeOverlap(b30,30,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00504 top->AddNodeOverlap(b31,31,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00505 top->AddNodeOverlap(b32,32,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00506 top->AddNodeOverlap(b33,33,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00507 top->AddNodeOverlap(b34,34,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00508 top->AddNodeOverlap(b35,35,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00509 top->AddNodeOverlap(b36,36,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00510 top->AddNodeOverlap(b37,37,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00511 top->AddNodeOverlap(b38,38,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00512 top->AddNodeOverlap(b39,39,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00513 top->AddNodeOverlap(b40,40,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00514 top->AddNodeOverlap(b41,41,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00515 top->AddNodeOverlap(b42,42,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00516 top->AddNodeOverlap(b43,43,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00517 top->AddNodeOverlap(b44,44,new TGeoCombiTrans(-9,0,350,new TGeoRotation("r2",90,90,0)));
00518
00519
00520 top->AddNodeOverlap(b45,45,new TGeoCombiTrans(-20,0,350,new TGeoRotation("r2",90,90,0)));
00521 top->AddNodeOverlap(b46,46,new TGeoCombiTrans(-25,0,350,new TGeoRotation("r2",90,90,0)));
00522
00523 top->AddNodeOverlap(b47,47,new TGeoTranslation(5,0,85));
00524 top->AddNodeOverlap(b48,48,new TGeoTranslation(-2,0,-150));
00525 geom->CloseGeometry();
00526
00527
00528
00529 TCanvas *can=new TCanvas("can","My virtual laboratory",800,800);
00530
00531
00532
00533 TPad *pad=new TPad("pad","Pad",0,0.5,0.5,1);
00534 pad->SetFillColor(1);
00535 pad->Draw();
00536 pad->cd();
00537 top->Draw();
00538
00539 can->cd();
00540 TPad *pad2=new TPad("pad2","Pad2",0.5,0.5,1,1);
00541 pad2->SetFillColor(10);
00542 pad2->Draw();
00543 pad2->cd();
00544
00545
00546 TPaveText *pt = new TPaveText(0.4,0.90,0.6,0.95,"br");
00547 pt->SetFillColor(30);
00548 pt->AddText(0.5,0.5,"Musics");
00549 pt->Draw();
00550
00551 TLatex Tex;
00552
00553 Tex.SetTextSize(0.04);
00554 Tex.SetTextColor(31);
00555 Tex.DrawLatex(0.3,0.81,"Mariah Carey - Shake it off");
00556
00557 Tex.SetTextSize(0.04);
00558 Tex.SetTextColor(31);
00559 Tex.DrawLatex(0.3,0.71,"Alicia keys - If I ain't got you");
00560
00561 Tex.SetTextSize(0.04);
00562 Tex.SetTextColor(31);
00563 Tex.DrawLatex(0.3,0.61,"Michael Jackson - Billie Jean");
00564
00565 Tex.SetTextSize(0.04);
00566 Tex.SetTextColor(31);
00567 Tex.DrawLatex(0.3,0.51,"Christina Milian - Am to Pm");
00568
00569 Tex.SetTextSize(0.04);
00570 Tex.SetTextColor(31);
00571 Tex.DrawLatex(0.3,0.41,"Zapp&Roger - Slow and Easy");
00572
00573 Tex.SetTextSize(0.04);
00574 Tex.SetTextColor(31);
00575 Tex.DrawLatex(0.3,0.31,"Black Eyes Peas - Let's get retarded");
00576
00577 Tex.SetTextSize(0.04);
00578 Tex.SetTextColor(31);
00579 Tex.DrawLatex(0.3,0.21,"Bosson - One in a Millin");
00580
00581 Tex.SetTextSize(0.04);
00582 Tex.SetTextColor(15);
00583 Tex.DrawLatex(0.2,0.11,"Click Button!! You Can Listen to Musics");
00584 TButton *but1=new TButton("","Sound(1)",0.2,0.8,0.25,0.85);
00585 but1->Draw();
00586 but1->SetFillColor(29);
00587 TButton *but2=new TButton("","Sound(2)",0.2,0.7,0.25,.75);
00588 but2->Draw();
00589 but2->SetFillColor(29);
00590 TButton *but3=new TButton("","Sound(3)",0.2,0.6,0.25,0.65);
00591 but3->Draw();
00592 but3->SetFillColor(29);
00593 TButton *but4=new TButton("","Sound(4)",0.2,0.5,0.25,0.55);
00594 but4->Draw();
00595 but4->SetFillColor(29);
00596 TButton *but5=new TButton("","Sound(5)",0.2,0.4,0.25,0.45);
00597 but5->Draw();
00598 but5->SetFillColor(29);
00599 TButton *but6=new TButton("","Sound(6)",0.2,0.3,0.25,0.35);
00600 but6->Draw();
00601 but6->SetFillColor(29);
00602 TButton *but7=new TButton("","Sound(7)",0.2,0.2,0.25,0.25);
00603 but7->Draw();
00604 but7->SetFillColor(29);
00605
00606 pad->cd();
00607
00608
00609 can->cd();
00610
00611 TPad *pad3=new TPad("pad3","Pad3",0,0,1,0.5);
00612 pad3->SetFillColor(10);
00613 pad3->Draw();
00614 pad3->cd();
00615
00616 TImage *image=TImage::Open("mp3.jpg");
00617 image->Draw();
00618
00619
00620
00621 TPad *pad4=new TPad("pad4","Pad4",0.6,0.1,0.9,0.9);
00622 pad4->SetFillColor(1);
00623 pad4->Draw();
00624 pad4->cd();
00625
00626
00627 TLine L;
00628
00629 Tex.SetTextSize(0.08);
00630 Tex.SetTextColor(10);
00631 Tex.DrawLatex(0.06,0.85,"IAudio U3 Mp3 Player");
00632
00633
00634 L.SetLineColor(10);
00635 L.SetLineWidth(3);
00636 L.DrawLine(0.05, 0.83,0.90, 0.83);
00637
00638 Tex.SetTextSize(0.06);
00639 Tex.SetTextColor(10);
00640 Tex.DrawLatex(0.06,0.75,"+ Color LCD");
00641
00642 Tex.SetTextSize(0.06);
00643 Tex.SetTextColor(10);
00644 Tex.DrawLatex(0.06,0.65,"+ 60mW High Generating Power");
00645
00646 Tex.SetTextSize(0.06);
00647 Tex.SetTextColor(10);
00648 Tex.DrawLatex(0.06,0.55,"+ GUI Theme Skin");
00649
00650 Tex.SetTextSize(0.06);
00651 Tex.SetTextColor(10);
00652 Tex.DrawLatex(0.06,0.45,"+ Noble White&Black");
00653
00654 Tex.SetTextSize(0.06);
00655 Tex.SetTextColor(10);
00656 Tex.DrawLatex(0.06,0.35,"+ Text Viewer+Image Viewer");
00657
00658 Tex.SetTextSize(0.06);
00659 Tex.SetTextColor(10);
00660 Tex.DrawLatex(0.06,0.25,"+ 20 Hours Playing");
00661
00662 Tex.SetTextSize(0.06);
00663 Tex.SetTextColor(10);
00664 Tex.DrawLatex(0.06,0.15,"+ The Best Quality of Sound");
00665
00666
00667 pad->cd();
00668
00669
00670
00671 }
00672
00673 void Sound(int i)
00674 {
00675 char sound[128];
00676 sprintf(sound,"cat sound%d.wav > /dev/audio",i);
00677 gSystem->Exec(sound);
00678 }