22 TEveManager::Create();
24 gGeoManager = gEve->GetGeometry(
"http://root.cern.ch/files/alice.root");
26 TGeoNode* node = gGeoManager->GetTopVolume()->FindNode(
"ITSV_1");
27 TEveGeoTopNode* its =
new TEveGeoTopNode(gGeoManager, node);
28 gEve->AddGlobalElement(its);
30 gEve->Redraw3D(kTRUE);
51 TEveGeoNode* descend_extract(TGeoNode* node)
57 const TString material(
"ITS_SI$");
61 auto medium = node->GetVolume()->GetMedium();
62 if (medium && material == medium->GetName()) {
64 res =
new TEveGeoNode(node);
68 Int_t nd = node->GetNdaughters();
69 for (Int_t i = 0; i < nd; ++i) {
70 auto ed = descend_extract(node->GetDaughter(i));
73 if (res == 0) res =
new TEveGeoNode(node);
81 void extract_ssd_modules()
83 const TString kEH(
"extract_ssd_modules");
85 TEveManager::Create();
87 gGeoManager = gEve->GetGeometry(
"http://root.cern.ch/files/alice.root");
89 Bool_t s = gGeoManager->cd(
"/ITSV_1/ITSD_1/IT56_1");
91 Error(kEH,
"Start node not found.");
95 auto node = gGeoManager->GetCurrentNode();
97 TEveGeoNode *egn = descend_extract(node);
100 Warning(kEH,
"No matching nodes found.");
104 egn->SaveExtract(
"test-extract.root",
"AliSDD", kTRUE);