AliTRDcalibDB class adjusted to the latest changes in AliCDB (Jan-Fiete)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Apr 2006 15:39:34 +0000 (15:39 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Apr 2006 15:39:34 +0000 (15:39 +0000)
TRD/AliTRDcalibDB.cxx
TRD/AliTRDcalibDB.h
TRD/Cal/AliTRDbenchmarkCalibDB.C

index dee53a5..9e5e05d 100644 (file)
@@ -70,7 +70,7 @@ AliTRDcalibDB* AliTRDcalibDB::Instance()
 
   if (fgInstance == 0)
     fgInstance = new AliTRDcalibDB();
-  
+
   return fgInstance;
 }
 
@@ -108,16 +108,7 @@ AliTRDcalibDB::AliTRDcalibDB()
   fPadResponse.fPRFwid             = 0.0;
   fPadResponse.fPRFpad             = 0;
   fPadResponse.fPRFsmp             = 0;
-    
-  AliCDBManager* manager = AliCDBManager::Instance();
-  if (!manager)
-  {
-    std::cout << "AliTRDcalibDB: CRITICAL: Failed to get instance of AliCDBManager." << std::endl;
-    fLocator = 0;
-  }
-  else
-    fLocator = manager->GetStorage("local://$ALICE_ROOT");
-  
+
   for (Int_t i=0; i<kCDBCacheSize; ++i)
   {
     fCDBCache[i] = 0;
@@ -204,13 +195,9 @@ AliCDBEntry* AliTRDcalibDB::GetCDBEntry(const char* cdbPath)
     //std::cerr << "AliTRDcalibDB: Run number not set! Use AliTRDcalibDB::SetRun." << std::endl;
     return 0;
   }
-  if (!fLocator) 
-  { 
-    std::cerr << "AliTRDcalibDB: Storage Locator not available." << std::endl; 
-    return 0; 
-  } 
-  AliCDBEntry* entry = fLocator->Get(cdbPath, fRun); 
-  if (!entry) 
+
+  AliCDBEntry* entry = AliCDBManager::Instance()->Get(cdbPath, fRun);
+  if (!entry)
   { 
     std::cerr << "AliTRDcalibDB: Failed to get entry: " << cdbPath << std::endl; 
     return 0; 
@@ -262,10 +249,13 @@ void AliTRDcalibDB::Invalidate()
   {
     if (fCDBEntries[i])
     {
-      if (fCDBEntries[i]->IsOwner() == kFALSE && fCDBCache[i])
-        delete fCDBCache[i];
-      
-      delete fCDBEntries[i];
+      if (AliCDBManager::Instance()->GetCacheFlag() == kFALSE)
+      {
+        if (fCDBEntries[i]->IsOwner() == kFALSE && fCDBCache[i])
+          delete fCDBCache[i];
+
+        delete fCDBEntries[i];
+      }
       fCDBEntries[i] = 0;
       fCDBCache[i] = 0;
     }
index ce30822..e2bc5b4 100644 (file)
@@ -104,11 +104,9 @@ protected:
   static AliTRDcalibDB* fgInstance;     // Instance of this class (singleton implementation)
   static Bool_t fgTerminated;               // Defines if this class has already been terminated and therefore does not return instances in GetInstance anymore
 
-  AliCDBStorage* fLocator;                  // Storage locator retrieved from AliCDBManager
-  
-  AliCDBEntry* fCDBEntries[kCDBCacheSize];    // Cache for CDB entries 
+  AliCDBEntry* fCDBEntries[kCDBCacheSize];    // Cache for CDB entries
   TObject* fCDBCache[kCDBCacheSize];          // Cache for calibration objects.
-      
+
   Long64_t fRun;
   
   struct 
@@ -122,11 +120,10 @@ protected:
   } fPadResponse;
   
 private:
-  // this is a singleton, constructor is private!  
-  AliTRDcalibDB();
+  AliTRDcalibDB(); // this is a singleton, constructor is private!  
   virtual ~AliTRDcalibDB();
 
-  ClassDef(AliTRDcalibDB, 1)
+  ClassDef(AliTRDcalibDB, 2)
 };
 
 #endif
index 69a8874..1ca31f9 100644 (file)
@@ -3,6 +3,7 @@
 #include <iostream>
 
 #include "AliTRDcalibDB.h"
+#include "AliCDBManager.h"
 #include <TStopwatch.h>
 #include <TRandom.h>
 
@@ -23,7 +24,8 @@ extern TRandom* gRandom;
 
 void AliTRDbenchmarkCalibDB()
 {
-  TStopwatch timer; 
+  TStopwatch timer;
+  AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
   AliTRDcalibDB* calib = AliTRDcalibDB::Instance();
   if (!calib)
   {