void DrawDeep(TEveGeoShape *gsre) {
- for (TEveElement::List_i i = gsre->BeginChildren(); i != gsre->EndChildren(); ++i) {
- TEveGeoShape* lvl = (TEveGeoShape*) *i;
- lvl->SetRnrSelf(kFALSE);
- if (!lvl->HasChildren()) {
- lvl->SetRnrSelf(kTRUE);
- lvl->SetMainColor(3);
- lvl->SetMainTransparency(80);
+ if (gsre->HasChildren()) {
+
+ gsre->SetRnrSelf(kFALSE);
+ for (TEveElement::List_i i = gsre->BeginChildren(); i != gsre->EndChildren(); ++i) {
+ TEveGeoShape* lvl = (TEveGeoShape*) *i;
+ DrawDeep(lvl);
}
- DrawDeep(lvl);
+
+ } else {
+
+ gsre->SetRnrSelf(kTRUE);
+ gsre->SetMainColor(3);
+ gsre->SetMainTransparency(80);
+
}
-
+
}
TEveGeoShape* geom_gentle_muon(Bool_t updateScene = kTRUE) {
gEve->AddGlobalElement(gsre);
f.Close();
- gsre->SetRnrSelf(kFALSE);
-
DrawDeep(gsre);
if ( updateScene ) {