//
// constructor
//
- // TODO Default runnumber is set to 0, this should be changed later to an invalid value (e.g. -1) to prevent
- // TODO invalid calibration data to be used.
- fRun = 0;
+ fRun = -1;
- AliCDBManager* manager = AliCDBManager::Instance();
- if (!manager)
- {
- AliFatal("AliTRDcalibDB: CRITICAL: Failed to get instance of AliCDBManager.");
- fLocator = 0;
- }
- else
- fLocator = manager->GetStorage("local://$ALICE_ROOT");
-
//
//
//
fPadTime0 = 0;
fPadPRFWidth = 0;
fPadNoise = 0;
+ fPedestals = 0;
+ fParam =0;
Update(); // temporary
}
//
// destructor
//
- if (fPadGainFactor) delete fPadGainFactor;
- if (fPadTime0) delete fPadTime0;
- if (fPadPRFWidth) delete fPadPRFWidth;
- if (fPadNoise) delete fPadNoise;
+
+ // don't delete anything, CDB cache is active!
+ //if (fPadGainFactor) delete fPadGainFactor;
+ //if (fPadTime0) delete fPadTime0;
+ //if (fPadPRFWidth) delete fPadPRFWidth;
+ //if (fPadNoise) delete fPadNoise;
}
//
char chinfo[1000];
- if (fRun < 0)
- {
- AliFatal("AliTPCcalibDB: Run number not set! Use AliTPCcalibDB::SetRun.");
- return 0;
- }
- if (!fLocator)
- {
- AliError("AliTPCcalibDB: Storage Locator not available.");
- return 0;
- }
- AliCDBEntry* entry = fLocator->Get(cdbPath, fRun);
+ AliCDBEntry* entry = AliCDBManager::Instance()->Get(cdbPath, fRun);
if (!entry)
{
sprintf(chinfo,"AliTPCcalibDB: Failed to get entry:\t%s ", cdbPath);
void AliTPCcalibDB::Update(){
//
AliCDBEntry * entry=0;
+
+ Bool_t cdbCache = AliCDBManager::Instance()->GetCacheFlag(); // save cache status
+ AliCDBManager::Instance()->SetCacheFlag(kTRUE); // activate CDB cache
+
//
entry = GetCDBEntry("TPC/Calib/PadGainFactor");
if (entry){
- if (fPadGainFactor) delete fPadGainFactor;
+ //if (fPadGainFactor) delete fPadGainFactor;
entry->SetOwner(kTRUE);
fPadGainFactor = (AliTPCCalPad*)entry->GetObject();
}
//
entry = GetCDBEntry("TPC/Calib/PadTime0");
if (entry){
- if (fPadTime0) delete fPadTime0;
+ //if (fPadTime0) delete fPadTime0;
entry->SetOwner(kTRUE);
fPadTime0 = (AliTPCCalPad*)entry->GetObject();
}
//
entry = GetCDBEntry("TPC/Calib/PadPRF");
if (entry){
- if (fPadPRFWidth) delete fPadPRFWidth;
+ //if (fPadPRFWidth) delete fPadPRFWidth;
entry->SetOwner(kTRUE);
fPadPRFWidth = (AliTPCCalPad*)entry->GetObject();
}
//
entry = GetCDBEntry("TPC/Calib/PadNoise");
if (entry){
- if (fPadNoise) delete fPadNoise;
+ //if (fPadNoise) delete fPadNoise;
entry->SetOwner(kTRUE);
fPadNoise = (AliTPCCalPad*)entry->GetObject();
}
- //
+ entry = GetCDBEntry("TPC/Calib/Pedestals");
+ if (entry){
+ //if (fPedestals) delete fPedestals;
+ entry->SetOwner(kTRUE);
+ fPedestals = (AliTPCCalPad*)entry->GetObject();
+ }
+
+ entry = GetCDBEntry("TPC/Calib/Parameters");
+ if (entry){
+ //if (fPadNoise) delete fPadNoise;
+ entry->SetOwner(kTRUE);
+ fParam = (AliTPCParam*)entry->GetObject();
+ }
+
+
+ //
+ AliCDBManager::Instance()->SetCacheFlag(cdbCache); // reset original CDB cache
+
}