]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RICH/RICHoccupancy.C
More robust version (doesn't crash when called from aliroot)
[u/mrichter/AliRoot.git] / RICH / RICHoccupancy.C
index a6e6ca7cf4ed7ef1f480ae63eee22462558597ba..80c19526bdbcdd8116e5caa72b464d053d0d963b 100644 (file)
@@ -9,24 +9,37 @@ void RICHoccupancy (Int_t evNumber1=0,Int_t evNumber2=0)
 
   
   // Dynamically link some shared libs
-  
-  if (gClassTable->GetID("AliRun") < 0) {
-    gROOT->LoadMacro("loadlibs.C");
-    loadlibs();
-  }
-
-// Connect the Root Galice file containing Geometry, Kine and Hits
-
-TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
-if (!file) file = new TFile("galice.root");
-
-// Get AliRun object from file or create it if not on file
-
-if (!gAlice) {
-  gAlice = (AliRun*)file->Get("gAlice");
-  if (gAlice) printf("AliRun object found on file\n");
-  if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
-}
+    if (gClassTable->GetID("AliRun") < 0) {
+      gROOT->LoadMacro("loadlibs.C");
+      loadlibs();
+    }
+    else {
+      //delete gAlice;
+      gAlice = 0;
+    }
+    
+    gAlice=0;
+    
+    // Connect the Root Galice file containing Geometry, Kine and Hits
+    
+    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
+    if (!file) file = new TFile("galice.root","UPDATE");
+    
+    // Get AliRun object from file or create it if not on file
+    
+    if (!gAlice) {
+      gAlice = (AliRun*)file->Get("gAlice");
+      if (gAlice) printf("AliRun object found on file\n");
+      if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
+    }
+    else {
+      delete gAlice;
+      gAlice = (AliRun*)file->Get("gAlice");
+      if (gAlice) printf("AliRun object found on file\n");
+      if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
+    }
+    
 
 //   Start loop over events