]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/alice-macros/geom_gentle_muon.C
doxy: code cleanup: comments and clarifications
[u/mrichter/AliRoot.git] / EVE / alice-macros / geom_gentle_muon.C
index a8458a0f83a411e4a9ec6b8828689861e7bebfc5..7d84c698a2a1113a704d7425a3d87b5fafa79e07 100644 (file)
@@ -1,19 +1,45 @@
+// $Id$
+
+/**************************************************************************
+ * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
+ * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
+ * full copyright notice.                                                 *
+ **************************************************************************/
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <TFile.h>
+#include <TGLViewer.h>
+#include <TEveManager.h>
+#include <TEveElement.h>
+#include <TEveGeoShape.h>
+#include <TEveGeoShapeExtract.h>
+#endif
+
+/// \ingroup evemacros
+/// \file geom_gentle_muon.C
+///
+/// \author B. Vulpescu, LPC; M. Tadel, CERN
+
 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(50);
+  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() {
+TEveGeoShape* geom_gentle_muon(Bool_t updateScene = kTRUE) {
 
   TFile f("$ALICE_ROOT/EVE/alice-data/gentle_geo_muon.root");
   TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle MUON");
@@ -21,10 +47,13 @@ TEveGeoShape* geom_gentle_muon() {
   gEve->AddGlobalElement(gsre);
   f.Close();
 
-  gsre->SetRnrSelf(kFALSE);
-
   DrawDeep(gsre);
 
+  if ( updateScene ) {
+    TGLViewer* v = gEve->GetDefaultGLViewer();
+    v->UpdateScene();
+  }
+
   return gsre;
 
 }