Add option to run on some local files with test mode using the alien plugin
[u/mrichter/AliRoot.git] / EVE / alieve_main / alieve_main.cxx
index 398f8b5..cf878fe 100644 (file)
@@ -23,6 +23,7 @@
 #include <TEveManager.h>
 #include <TEveSelection.h>
 #include <TEveBrowser.h>
+#include <TEveViewer.h>
 
 #include <Getline.h>
 
@@ -64,8 +65,8 @@ int main(int argc, char **argv)
   }
   gROOT->SetMacroPath(macPath);
 
-  // How to hadle AliLog properly?
-  AliLog *log = new AliLog;
+  // make sure logger is instantiated
+  AliLog::GetRootLogger();
   TRint  *app = new TRint("App", &argc, argv);
 
 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,25,4) || defined XXX_LATEST_ROOT
@@ -75,21 +76,29 @@ int main(int argc, char **argv)
 #endif
 
   TEveManager::Create();
+  gEve->GetDefaultViewer()->SetElementName("3D View");
   gEve->GetSelection()->SetPickToSelect(TEveSelection::kPS_PableCompound);
   gEve->GetHighlight()->SetPickToSelect(TEveSelection::kPS_PableCompound);
 
   gEve->RegisterGeometryAlias("Default", Form("%s/alice-data/default_geo.root", evedir.Data()));
 
-  AliEveConfigManager::InitializeMaster();
+  try {AliEveConfigManager::InitializeMaster();}
+  catch (TEveException exc) {
+       AliErrorGeneral("alieve_main",exc.Data());
+  }
+       
+       app->Connect( "TEveBrowser", "CloseWindow()", "TRint", app, "Terminate(=0)");
 
   app->Run(kTRUE);
 
-  gEve->GetBrowser()->UnmapWindow();
-  TEveManager::Terminate();
+  if (gEve && gEve->GetBrowser())      gEve->GetBrowser()->UnmapWindow();
 
+  TEveManager::Terminate();
   app->Terminate(0);
+       
+       if(gEve) {delete gEve; gEve = 0;}
+
 
-  delete log;
 
   return 0;
 }