void RecursiveInvisible(TGeoVolume *vol);
void RecursiveTransparency(TGeoVolume *vol, Int_t transp);
void geomD0(Int_t allVisible=0) {
TGeoManager::Import("http://root.cern.ch/files/d0.root");
gGeoManager->DefaultColors();
gGeoManager->SetMaxVisNodes(40000);
if (!allVisible) {
RecursiveInvisible(gGeoManager->GetVolume("D0-"));
RecursiveInvisible(gGeoManager->GetVolume("D0+"));
RecursiveInvisible(gGeoManager->GetVolume("D0WZ"));
RecursiveInvisible(gGeoManager->GetVolume("D0WL"));
RecursiveTransparency(gGeoManager->GetVolume("MUON"), 90);
}
gGeoManager->GetVolume("D0")->Draw("ogl");
}
void RecursiveInvisible(TGeoVolume *vol)
{
vol->InvisibleAll();
Int_t nd = vol->GetNdaughters();
for (Int_t i=0; i<nd; i++) {
RecursiveInvisible(vol->GetNode(i)->GetVolume());
}
}
void RecursiveTransparency(TGeoVolume *vol, Int_t transp)
{
vol->SetTransparency(transp);
Int_t nd = vol->GetNdaughters();
for (Int_t i=0; i<nd; i++) {
RecursiveTransparency(vol->GetNode(i)->GetVolume(), transp);
}
}
|
|