{ TGeoMaterial *vacuum=new TGeoMaterial("vacuum",0,0,0); TGeoMedium *Air=new TGeoMedium("Vacuum",0,vacuum); TGeoMedium *Iron=new TGeoMedium("Iron",1,vacuum); TGeoVolume *body=gGeoManager->MakeBox("top",Air,100,100,100); float scale=3.5 ; // Hat TGeoVolume *ha1=gGeoManager->MakeSphere("ha1",Iron,0 * scale ,10 * scale ,80,90,0,360); ha1->SetLineColor(41); body->AddNodeOverlap(ha1,1,new TGeoCombiTrans(0 * scale ,0 * scale ,4 * scale ,new TGeoRotation("ha1",0,0,0))); TGeoVolume *ha2=gGeoManager->MakeSphere("ha2",Iron,0 * scale ,7 * scale ,90 ,180 ,0,360); ha2->SetLineColor(41); body->AddNodeOverlap(ha2,1,new TGeoCombiTrans(0 * scale ,0 * scale ,4 * scale ,new TGeoRotation("ha2",0,180,0))); TGeoVolume *ha3=gGeoManager->MakeSphere("ha3",Iron,0,7.3 * scale,80 * scale,90,0,360); ha3->SetLineColor(2); body->AddNodeOverlap(ha3,1,new TGeoCombiTrans(0 * scale,0 * scale,4.8 * scale,new TGeoRotation("ha3",0,0,0))); // Head TGeoVolume *h1=gGeoManager->MakeTubs("h1",Iron,0 * scale,6 * scale,4.5 * scale,0,0); h1->SetLineColor(5); body->AddNodeOverlap(h1,1,new TGeoCombiTrans(0,0,0,new TGeoRotation("h1",0,0,0))); TGeoVolume *h2=gGeoManager->MakeSphere("h2",Iron,0 * scale,7.5 * scale,0,52.5,0,360); h2->SetLineColor(5); body->AddNodeOverlap(h2,1,new TGeoCombiTrans(0,0,0,new TGeoRotation("h2",0,0,0))); TGeoVolume *h3=gGeoManager->MakeSphere("h3",Iron,0 * scale,7.5 * scale,0,52.5,0,360); h3->SetLineColor(5); body->AddNodeOverlap(h3,1,new TGeoCombiTrans(0,0,0,new TGeoRotation("h3",180,180,0))); TGeoVolume *h4=gGeoManager->MakeTubs("h4",Iron,2.5 * scale,3.5 * scale,1.5 * scale,0,0); h4->SetLineColor(5); body->AddNodeOverlap(h4,1,new TGeoCombiTrans(0,0,7.5,new TGeoRotation("h4",0,0,0))); // Face TGeoVolume *t1_1=gGeoManager->MakeTubs("t1_1",Iron,0 * scale,0.8 * scale,1 * scale,0,360); t1_1->SetLineColor(12); body->AddNodeOverlap(t1_1,1,new TGeoCombiTrans(-5 * scale,2 * scale,1.5 * scale,new TGeoRotation("t1_1",-90,90,0))); TGeoVolume *t2_1=gGeoManager->MakeTubs("t2_1",Iron,0 * scale,0.8 * scale,1 * scale,0,360); t2_1->SetLineColor(12); body->AddNodeOverlap(t2_1,1,new TGeoCombiTrans(-5 * scale,-2 * scale,1.5 * scale,new TGeoRotation("t2_1",-90,90,0))); TGeoVolume *fb1=gGeoManager->MakeTubs("fb1",Iron,2 * scale,2.3 * scale,1 * scale,100,260); fb1->SetLineColor(12); body->AddNodeOverlap(fb1,1,new TGeoCombiTrans(-5 * scale,0 * scale,-1 * scale,new TGeoRotation("fb1",90,90,90))); // Body TGeoVolume *m1=gGeoManager->MakeBox("m1",Iron,7 * scale,8 * scale,4 * scale); m1->SetLineColor(2); body->AddNodeOverlap(m1,1,new TGeoCombiTrans(0 * scale,0 * scale,-17 * scale,new TGeoRotation("m1",90,90,0))); TGeoVolume *m2=gGeoManager->MakeTubs("m2",Iron,0 * scale,1 * scale,7 * scale,90,180); m2->SetLineColor(2); body->AddNodeOverlap(m2,1,new TGeoCombiTrans(-3 * scale,0 * scale,-9 * scale,new TGeoRotation("m2",0,90,0))); TGeoVolume *m3=gGeoManager->MakeTubs("m3",Iron,0 * scale,1 * scale,7 * scale,0,90); m3->SetLineColor(2); body->AddNodeOverlap(m3,1,new TGeoCombiTrans(3 * scale,0 * scale,-9 * scale,new TGeoRotation("m3",0,90,0))); TGeoVolume *m4=gGeoManager->MakeBox("m4",Iron,3 * scale,7 * scale,0.5 * scale); m4->SetLineColor(2); body->AddNodeOverlap(m4,1,new TGeoCombiTrans(0 * scale,0 * scale,-8.5 * scale,new TGeoRotation("m4",90,0,90))); TGeoVolume *m5=gGeoManager->MakeTubs("m5",Iron,0 * scale,1.5 * scale,1.2 * scale,0,0); m5->SetLineColor(5); body->AddNodeOverlap(m5,1,new TGeoCombiTrans(0 * scale,0 * scale,-7.8 * scale,new TGeoRotation("m5",0,0,0))); TGeoVolume *m6=gGeoManager->MakeTrd2("m6",Iron,4 * scale,4 * scale,0 * scale,2 * scale,8 * scale); m6->SetLineColor(2); body->AddNodeOverlap(m6,1,new TGeoCombiTrans(0 * scale,-7 * scale,-17 * scale,new TGeoRotation("m6",0,180,0))); TGeoVolume *m7=gGeoManager->MakeTrd2("m7",Iron,4 * scale,4 * scale,0 * scale,2 * scale,8 * scale); m7->SetLineColor(2); body->AddNodeOverlap(m7,1,new TGeoCombiTrans(0 * scale,7 * scale,-17 * scale,new TGeoRotation("m7",0,180,0))); // Belt TGeoVolume *md1=gGeoManager->MakeBox("md1",Iron,4 * scale,8.5 * scale,0.7 * scale); md1->SetLineColor(37); body->AddNodeOverlap(md1,1,new TGeoCombiTrans(0 * scale,0 * scale,-25.5 * scale,new TGeoRotation("md1",0,0,0))); TGeoVolume *md2=gGeoManager->MakeBox("md2",Iron,3,0.4,2); md2->SetLineColor(37); body->AddNodeOverlap(md2,1,new TGeoCombiTrans(0 * scale,0 * scale,-28 * scale,new TGeoRotation("md2",0,0,0))); // legs TGeoVolume *d1=gGeoManager->MakeTrd2("d1",Iron,3 * scale,4 * scale,4 * scale,4 * scale,7 * scale); d1->SetLineColor(37); body->AddNodeOverlap(d1,1,new TGeoCombiTrans(-4.8 * scale,4.5 * scale,-35 * scale,new TGeoRotation("d1",90,45,-90))); TGeoVolume *d2=gGeoManager->MakeTrd2("d2",Iron,3 * scale,4 * scale,4 * scale,4 * scale,7 * scale); d2->SetLineColor(37); body->AddNodeOverlap(d2,1,new TGeoCombiTrans(0 * scale,-4.5 * scale,-37 * scale,new TGeoRotation("d2",0,0,0))); TGeoVolume *d3=gGeoManager->MakeTubs("d3",Iron,0 * scale,4 * scale,3.98 * scale,0,180); d3->SetLineColor(37); body->AddNodeOverlap(d3,1,new TGeoCombiTrans(0 * scale,4.5 * scale,-30.2 * scale,new TGeoRotation("d3",0,90,-45))); TGeoVolume *d4=gGeoManager->MakeTubs("d4",Iron,0 * scale,4 * scale,3.98 * scale,0,180); d4->SetLineColor(37); body->AddNodeOverlap(d4,1,new TGeoCombiTrans(0 * scale,-4.5 * scale,-30 * scale,new TGeoRotation("d4",0,90,0))); TGeoVolume *d5=gGeoManager->MakeBox("d5",Iron,4 * scale,4 * scale,1 * scale); d5->SetLineColor(37); body->AddNodeOverlap(d5,1,new TGeoCombiTrans(-10.2 * scale,4.5 * scale,-39 * scale,new TGeoRotation("d5",90,45,-90))); TGeoVolume *d6=gGeoManager->MakeBox("d6",Iron,4 * scale,4 * scale,1 * scale); d6->SetLineColor(37); body->AddNodeOverlap(d6,1,new TGeoCombiTrans(-1 * scale,-4.5 * scale,-43.4 * scale,new TGeoRotation("d6",0,0,0))); // right arme TGeoVolume *a1=gGeoManager->MakeTubs("a1",Iron,0 * scale,1.5 * scale,4 * scale,0,0); a1->SetLineColor(1); body->AddNodeOverlap(a1,1,new TGeoCombiTrans(0 * scale,10 * scale,-15.1 * scale,new TGeoRotation("a1",0,20,45))); TGeoVolume *a2=gGeoManager->MakeSphere("a2",Iron,0 * scale,1.48 * scale,0,180,0,200); a2->SetLineColor(1); body->AddNodeOverlap(a2,1,new TGeoCombiTrans(0 * scale,8.6 * scale,-11.5 * scale,new TGeoRotation("a2",120,80,20))); TGeoVolume *a3=gGeoManager->MakeTubs("a3",Iron,0 * scale,1.5 * scale,2.2 * scale,0,0); a3->SetLineColor(1); body->AddNodeOverlap(a3,1,new TGeoCombiTrans(0 * scale,11.3 * scale,-20.6 * scale,new TGeoRotation("a3",300,0,40))); TGeoVolume *a4=gGeoManager->MakeTubs("a4",Iron,0 * scale,1 * scale,1 * scale,0,0); a4->SetLineColor(5); body->AddNodeOverlap(a4,1,new TGeoCombiTrans(0 * scale,11.3 * scale,-23.8 * scale,new TGeoRotation("a4",75,0,30))); TGeoVolume *a5=gGeoManager->MakeTubs("a5",Iron,1.5 * scale,2.5 * scale,2 * scale,0,270); a5->SetLineColor(5); body->AddNodeOverlap(a5,1,new TGeoCombiTrans(0 * scale,11.3 * scale,-26.5 * scale,new TGeoRotation("a5",-90,90,00))); // left arm TGeoVolume *a1_1=gGeoManager->MakeTubs("a1_1",Iron,0* scale,1.5* scale,4* scale,0,0); a1_1->SetLineColor(1); body->AddNodeOverlap(a1_1,1,new TGeoCombiTrans(0* scale,-10* scale,-15.1* scale,new TGeoRotation("a1_1",0,-20,-45))); TGeoVolume *a2_1=gGeoManager->MakeSphere("a2_1",Iron,0* scale,1.48* scale,0,180,0,200); a2_1->SetLineColor(1); body->AddNodeOverlap(a2_1,1,new TGeoCombiTrans(0* scale,-8.6* scale,-11.5* scale,new TGeoRotation("a2_1",120,80,-20))); TGeoVolume *a3_1=gGeoManager->MakeTubs("a3_1",Iron,0* scale,1.5* scale,2.2* scale,0,0); a3_1->SetLineColor(1); body->AddNodeOverlap(a3_1,1,new TGeoCombiTrans(0* scale,-11.3* scale,-20.6* scale,new TGeoRotation("a3_1",-300,0,-40))); TGeoVolume *a4_1=gGeoManager->MakeTubs("a4_1",Iron,0* scale,1* scale,1* scale,0,0); a4_1->SetLineColor(5); body->AddNodeOverlap(a4_1,1,new TGeoCombiTrans(0* scale,-11.3* scale,-23.8* scale,new TGeoRotation("a4_1",-75,0,-30))); TGeoVolume *a5_1=gGeoManager->MakeTubs("a5_1",Iron,1.5* scale,2.5* scale,2* scale,0,270); a5_1->SetLineColor(5); body->AddNodeOverlap(a5,1,new TGeoCombiTrans(0* scale,-11.3* scale,-26.5* scale,new TGeoRotation("a5",90,90,00))); CAVB->AddNode(body,1,new TGeoCombiTrans(-300,-80.3,60.,new TGeoRotation("a6",180,90,90))); }