More robust version (doesn't crash when called from aliroot)
authordibari <dibari@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Jun 2000 16:43:02 +0000 (16:43 +0000)
committerdibari <dibari@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Jun 2000 16:43:02 +0000 (16:43 +0000)
RICH/RICHoccupancy.C

index a6e6ca7..80c1952 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