void human() { Int_t color = 20; TGeoManager* geom = new TGeoManager("geom", "Human Body"); TGeoVolume* top = geom->MakeBox("top", 0, 30, 30, 90); geom->SetTopVolume(top); TGeoVolume* head = geom->MakeSphere("head", 0, 0, 10, 0, 90); head->SetLineColor(color); TGeoVolume* face = geom->MakeParaboloid("face", 0, 7, 10, 10); face->SetLineColor(color); TGeoVolume* neck = geom->MakeTube("neck", 0, 0, 5, 2.5); neck->SetLineColor(color); TGeoVolume* body = geom->MakeEltu("body", 0, 20, 10, 30); body->SetLineColor(color); TGeoVolume* joint1 = geom->MakeSphere("joint1", 0, 0, 5); joint1->SetLineColor(color); TGeoVolume* joint2 = geom->MakeSphere("joint2", 0, 0, 7.5); joint2->SetLineColor(color); TGeoVolume* arm = geom->MakeTube("arm", 0, 0, 4, 15); arm->SetLineColor(color); TGeoVolume* leg = geom->MakeTube("leg", 0, 0, 6, 20); leg->SetLineColor(color); TGeoVolume* foot = geom->MakeTubs("foot", 0, 0, 5, 15, 0, 180); foot->SetLineColor(color); top->AddNode(head, 1, new TGeoTranslation(0, 0, 80)); top->AddNode(face, 1, new TGeoTranslation(0, 0, 70)); top->AddNode(neck, 1, new TGeoTranslation(0, 0, 57.5)); top->AddNode(body, 1, new TGeoTranslation(0, 0, 25)); TGeoRotation* rot1 = new TGeoRotation("rot1", 0, 180, 0); TGeoRotation* rot2 = new TGeoRotation("rot2", 0, -30, 0); top->AddNode(joint1, 1, new TGeoTranslation(25, 0, 50)); top->AddNode(joint1, 2, new TGeoTranslation(-25, 0, 50)); top->AddNode(arm, 1, new TGeoTranslation(25, 0, 33)); top->AddNode(arm, 2, new TGeoTranslation(-25, 0, 33)); top->AddNode(joint1, 3, new TGeoTranslation(25, 0, 17)); top->AddNode(joint1, 4, new TGeoTranslation(-25, 0, 17)); top->AddNode(arm, 3, new TGeoCombiTrans(25, -7.5, 2, rot2)); top->AddNode(arm, 4, new TGeoCombiTrans(-25, -7.5, 2, rot2)); top->AddNode(joint2, 5, new TGeoTranslation(10, 0, -8)); top->AddNode(joint2, 6, new TGeoTranslation(-10, 0, -8)); top->AddNode(leg, 1, new TGeoTranslation(10, 0, -23)); top->AddNode(leg, 2, new TGeoTranslation(-10, 0, -23)); top->AddNode(joint2, 7, new TGeoTranslation(10, 0, -45)); top->AddNode(joint2, 8, new TGeoTranslation(-10, 0, -45)); top->AddNode(leg, 3, new TGeoTranslation(10, 0, -65)); top->AddNode(leg, 4, new TGeoTranslation(-10, 0, -65)); TGeoRotation* rot3 = new TGeoRotation("rot3", 0, 90, 0); top->AddNode(foot, 1, new TGeoCombiTrans(10, -8, -90, rot3)); top->AddNode(foot, 2, new TGeoCombiTrans(-10, -8, -90, rot3)); geom->CloseGeometry(); top->Draw(); }