shapes.C

Go to the documentation of this file.
00001 void shapes() {
00002 //The old geometry shapes (see script geodemo.C)
00003 //To see the output of this macro, click begin_html <a href="gif/shapes.gif" >here</a> end_html
00004 //Author: Rene Brun
00005    
00006    TCanvas *c1 = new TCanvas("glc1","Geometry Shapes",200,10,700,500);
00007 
00008    //delete previous geometry objects in case this script is reexecuted
00009    if (gGeometry) {
00010       gGeometry->GetListOfNodes()->Delete();
00011       gGeometry->GetListOfShapes()->Delete();
00012    }
00013 
00014    //  Define some volumes
00015    TBRIK *brik  = new TBRIK("BRIK","BRIK","void",200,150,150);
00016    TTRD1 *trd1  = new TTRD1("TRD1","TRD1","void",200,50,100,100);
00017    TTRD2 *trd2  = new TTRD2("TRD2","TRD2","void",200,50,200,50,100);
00018    TTRAP *trap  = new TTRAP("TRAP","TRAP","void",190,0,0,60,40,90,15,120,80,180,15);
00019    TPARA *para  = new TPARA("PARA","PARA","void",100,200,200,15,30,30);
00020    TGTRA *gtra  = new TGTRA("GTRA","GTRA","void",390,0,0,20,60,40,90,15,120,80,180,15);
00021    TTUBE *tube  = new TTUBE("TUBE","TUBE","void",150,200,400);
00022    TTUBS *tubs  = new TTUBS("TUBS","TUBS","void",80,100,100,90,235);
00023    TCONE *cone  = new TCONE("CONE","CONE","void",100,50,70,120,150);
00024    TCONS *cons  = new TCONS("CONS","CONS","void",50,100,100,200,300,90,270);
00025    TSPHE *sphe  = new TSPHE("SPHE","SPHE","void",25,340, 45,135, 0,270);
00026    TSPHE *sphe1 = new TSPHE("SPHE1","SPHE1","void",0,140, 0,180, 0,360);
00027    TSPHE *sphe2 = new TSPHE("SPHE2","SPHE2","void",0,200, 10,120, 45,145);
00028 
00029    TPCON *pcon  = new TPCON("PCON","PCON","void",180,270,4);
00030    pcon->DefineSection(0,-200,50,100);
00031    pcon->DefineSection(1,-50,50,80);
00032    pcon->DefineSection(2,50,50,80);
00033    pcon->DefineSection(3,200,50,100);
00034 
00035    TPGON *pgon  = new TPGON("PGON","PGON","void",180,270,8,4);
00036    pgon->DefineSection(0,-200,50,100);
00037    pgon->DefineSection(1,-50,50,80);
00038    pgon->DefineSection(2,50,50,80);
00039    pgon->DefineSection(3,200,50,100);
00040 
00041    //  Set shapes attributes
00042    brik->SetLineColor(1);
00043    trd1->SetLineColor(2);
00044    trd2->SetLineColor(3);
00045    trap->SetLineColor(4);
00046    para->SetLineColor(5);
00047    gtra->SetLineColor(7);
00048    tube->SetLineColor(6);
00049    tubs->SetLineColor(7);
00050    cone->SetLineColor(2);
00051    cons->SetLineColor(3);
00052    pcon->SetLineColor(6);
00053    pgon->SetLineColor(2);
00054    sphe->SetLineColor(kRed);
00055    sphe1->SetLineColor(kBlack);
00056    sphe2->SetLineColor(kBlue);
00057 
00058 
00059    //  Build the geometry hierarchy
00060    TNode *node1 = new TNode("NODE1","NODE1","BRIK");
00061    node1->cd();
00062 
00063    TNode *node2  = new TNode("NODE2","NODE2","TRD1",0,0,-1000);
00064    TNode *node3  = new TNode("NODE3","NODE3","TRD2",0,0,1000);
00065    TNode *node4  = new TNode("NODE4","NODE4","TRAP",0,-1000,0);
00066    TNode *node5  = new TNode("NODE5","NODE5","PARA",0,1000,0);
00067    TNode *node6  = new TNode("NODE6","NODE6","TUBE",-1000,0,0);
00068    TNode *node7  = new TNode("NODE7","NODE7","TUBS",1000,0,0);
00069    TNode *node8  = new TNode("NODE8","NODE8","CONE",-300,-300,0);
00070    TNode *node9  = new TNode("NODE9","NODE9","CONS",300,300,0);
00071    TNode *node10 = new TNode("NODE10","NODE10","PCON",0,-1000,-1000);
00072    TNode *node11 = new TNode("NODE11","NODE11","PGON",0,1000,1000);
00073    TNode *node12 = new TNode("NODE12","NODE12","GTRA",0,-400,700);
00074    TNode *node13 = new TNode("NODE13","NODE13","SPHE",10,-400,500);
00075    TNode *node14 = new TNode("NODE14","NODE14","SPHE1",10, 250,300);
00076    TNode *node15 = new TNode("NODE15","NODE15","SPHE2",10,-100,-200);
00077 
00078 
00079    // Draw this geometry in the current canvas
00080    node1->cd();
00081    node1->Draw("gl");
00082    c1->Update();
00083    //
00084    //  Draw the geometry using the OpenGL viewver.
00085    //  Note that this viewver may also be invoked from the "View" menu in
00086    //  the canvas tool bar
00087    //
00088    // once in the viewer, select the Help button
00089    // For example typing r will show a solid model of this geometry.
00090 }

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