mp3player.C

Go to the documentation of this file.
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   // Drawing a mp3 type music player, using ROOT geometry class.
00012   // Name: mp3player.C
00013   // Author: Eun Young Kim, Dept. of Physics, Univ. of Seoul
00014   // Reviewed by Sunman Kim (sunman98@hanmail.net)
00015   // Supervisor: Prof. Inkyu Park (icpark@physics.uos.ac.kr)
00016   // 
00017   // How to run: .x mp3player.C in ROOT terminal, then use OpenGL
00018   //
00019   // This macro was created for the evaluation of Computational Physics course in 2006.
00020   // We thank to Prof. Inkyu Park for his special lecture on ROOT and to all of ROOT team
00021   //
00022 
00023   TGeoManager *geom=new TGeoManager("geom","My first 3D geometry");
00024 
00025 
00026 
00027   //materials
00028   TGeoMaterial *vacuum=new TGeoMaterial("vacuum",0,0,0);
00029   TGeoMaterial *Fe=new TGeoMaterial("Fe",55.845,26,7.87);
00030 
00031   //create media
00032 
00033   TGeoMedium *Iron=new TGeoMedium("Iron",1,Fe);
00034   TGeoMedium *Air=new TGeoMedium("Vacuum",0,vacuum);
00035 
00036 
00037  //create volume
00038 
00039   TGeoVolume *top=geom->MakeBox("top",Air,800,800,800);
00040   geom->SetTopVolume(top);
00041   geom->SetTopVisible(0);
00042   // If you want to see the boundary, please input the number, 1 instead of 0.
00043   // Like this, geom->SetTopVisible(1); 
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 //IAudid
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 //u
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 //D
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 //I
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 //O
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 // I
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 // button
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 //Hold
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 //usb
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 //AddNode
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 //Mp3
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 //Sound
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 //introduction
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 }

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