--- rootgeom.C 2006-06-25 12:04:02.247812904 +0200 +++ rootgeom.C.new 2006-06-25 12:03:08.816956767 +0200 @@ -52,60 +52,23 @@ TGeoVolume *rootbox = geom->MakeBox("ROOT", Vacuum, 110., 50., 5.); rootbox->SetVisibility(kFALSE); - //--- make letter 'R' - TGeoVolume *R = geom->MakeBox("R", Vacuum, 25., 25., 5.); - R->SetVisibility(kFALSE); - TGeoVolume *bar1 = geom->MakeBox("bar1", Al, 5., 25, 5.); - bar1->SetLineColor(kRed); - R->AddNode(bar1, 1, tr1); - TGeoVolume *bar2 = geom->MakeBox("bar2", Al, 5., 5., 5.); - bar2->SetLineColor(kRed); - R->AddNode(bar2, 1, tr2); - R->AddNode(bar2, 2, tr3); - TGeoVolume *tub1 = geom->MakeTubs("tub1", Al, 5., 15., 5., 90., 270.); - tub1->SetLineColor(kRed); - R->AddNode(tub1, 1, tr4); - TGeoVolume *bar3 = geom->MakeArb8("bar3", Al, 5.); - bar3->SetLineColor(kRed); - TGeoArb8 *arb = (TGeoArb8*)bar3->GetShape(); - arb->SetVertex(0, 15., -5.); - arb->SetVertex(1, 0., -25.); - arb->SetVertex(2, -10., -25.); - arb->SetVertex(3, 5., -5.); - arb->SetVertex(4, 15., -5.); - arb->SetVertex(5, 0., -25.); - arb->SetVertex(6, -10., -25.); - arb->SetVertex(7, 5., -5.); - R->AddNode(bar3, 1, gGeoIdentity); - - //--- make letter 'O' - TGeoVolume *O = geom->MakeBox("O", Vacuum, 25., 25., 5.); - O->SetVisibility(kFALSE); - TGeoVolume *bar4 = geom->MakeBox("bar4", Al, 5., 7.5, 5.); - bar4->SetLineColor(kYellow); - O->AddNode(bar4, 1, tr5); - O->AddNode(bar4, 2, tr6); - TGeoVolume *tub2 = geom->MakeTubs("tub1", Al, 7.5, 17.5, 5., 0., 180.); - tub2->SetLineColor(kYellow); - O->AddNode(tub2, 1, tr7); - O->AddNode(tub2, 2, combi1); - - //--- make letter 'T' + //--- make letter 'T' with composite shape TGeoVolume *T = geom->MakeBox("T", Vacuum, 25., 25., 5.); T->SetVisibility(kFALSE); TGeoVolume *bar5 = geom->MakeBox("bar5", Al, 5., 20., 5.); - bar5->SetLineColor(kBlue); - T->AddNode(bar5, 1, tr8); + bar5->GetShape()->SetName("bar5"); TGeoVolume *bar6 = geom->MakeBox("bar6", Al, 17.5, 5., 5.); - bar6->SetLineColor(kBlue); - T->AddNode(bar6, 1, tr9); - - + bar6->GetShape()->SetName("bar6"); + tr8->SetName("tr8"); + tr9->SetName("tr9"); + tr8->RegisterYourself(); + tr9->RegisterYourself(); + TGeoCompositeShape *cs = new TGeoCompositeShape("CS","bar5:tr8+bar6:tr9"); + TGeoVolume *compositT = new TGeoVolume("COMPOSITT",cs,Al); - rootbox->AddNode(R, 1, tr10); - rootbox->AddNode(O, 1, tr11); - rootbox->AddNode(O, 2, tr12); - rootbox->AddNode(T, 1, tr13); + compositT->SetLineColor(kBlue); + + rootbox->AddNode(compositT, 1, tr13); replica->AddNode(rootbox, 1, tr14); replica->AddNode(rootbox, 2, combi2); @@ -129,6 +92,7 @@ //#Viewer3D.DefaultDrawOption: ogl geom->SetVisLevel(4); - top->Draw("ogle"); + top->Draw(""); +// top->Draw("ogle"); }