void KVINDRAUpDater::SetChVoltParameters(KVDBRun* kvrun) { KVRList* param_list = kvrun->GetLinks("Channel-Volt"); if (!param_list) return; if (!param_list->GetSize()) return; KVDetector* kvd; KVDBParameterSet* kvps; KVCalibrator* kvc; TIter next_ps(param_list); TString str; // Setting Channel-Volts calibration parameters while ((kvps = (KVDBParameterSet*) next_ps())) { // boucle sur les parametres str = kvps->GetName(); str.Remove(str.Sizeof() - 4, 3); //Removing 3 last letters (ex : "_PG") kvd = fArray->GetDetector(str.Data()); if (!kvd) Warning("SetChVoltParameters(UInt_t)", "Dectector %s not found !", str.Data()); else { // detector found kvc = kvd->GetCalibrator(kvps->GetName(), kvps->GetTitle()); if (!kvc) Warning("SetChVoltParameters(UInt_t)", "Calibrator %s %s not found !", kvps->GetName(), kvps->GetTitle()); else { //calibrator found for (Int_t i = 0; i < kvc->GetNumberParams(); i++) { kvc->SetParameter(i, kvps->GetParameter(i)); } kvc->SetStatus(kTRUE); // calibrator ready } //calibrator found } //detector found } //boucle sur les parameters }
void KVINDRAUpDater::SetVoltEnergyChIoSiParameters(KVDBRun* kvrun) { KVRList* param_list = kvrun->GetLinks("Volt-Energy ChIo-Si"); if (!param_list) return; if (!param_list->GetSize()) { return; } KVDetector* kvd; KVDBParameterSet* kvps; KVCalibrator* kvc; TIter next_ps(param_list); // Setting Channel-Volts calibration parameters while ((kvps = (KVDBParameterSet*) next_ps())) { // boucle sur les parametres kvd = fArray->GetDetector(kvps->GetName()); if (!kvd) { /* Warning("SetVoltEnergyParameters(UInt_t)", "Dectector %s not found !", kvps->GetName()); */ } else { // detector found kvc = kvd->GetCalibrator(kvps->GetName(), kvps->GetTitle()); if (!kvc) Warning("SetVoltEnergyParameters(UInt_t)", "Calibrator %s %s not found !", kvps->GetName(), kvps->GetTitle()); else { //calibrator found for (Int_t i = 0; i < kvc->GetNumberParams(); i++) { kvc->SetParameter(i, kvps->GetParameter(i)); } kvc->SetStatus(kTRUE); // calibrator ready } //calibrator found } //detector found } //boucle sur les parameters }
void KVINDRAUpDater::SetLitEnergyCsIParameters(KVDBRun* kvrun) { // Setting Light- Energy CsI calibration parameters for Z=1 KVRList* param_list = kvrun->GetLinks("Light-Energy CsI Z=1"); if (param_list && param_list->GetSize()) { KVDetector* kvd; KVDBParameterSet* kvps; KVCalibrator* kvc; TIter next_ps(param_list); TString str; while ((kvps = (KVDBParameterSet*) next_ps())) { // boucle sur les parametres str = kvps->GetName(); kvd = fArray->GetDetector(str.Data()); if (!kvd) Warning("SetLitEnergyCsIParameters(UInt_t)", "Dectector %s not found !", str.Data()); else { // detector found kvc = kvd->GetCalibrator(kvps->GetTitle()); if (!kvc) { Warning("SetLitEnergyCsIParameters(UInt_t)", "Calibrator %s %s not found ! - it will be created", kvps->GetName(), kvps->GetTitle()); kvd->SetCalibrators(); kvc = kvd->GetCalibrator(kvps->GetTitle()); } for (Int_t i = 0; i < kvc->GetNumberParams(); i++) { kvc->SetParameter(i, kvps->GetParameter(i)); kvc->SetStatus(kTRUE); // calibrator ready } } //detector found } //boucle sur les parameters } // Setting Light- Energy CsI calibration parameters for Z>1 param_list = kvrun->GetLinks("Light-Energy CsI Z>1"); if (!param_list || !param_list->GetSize()) { return; } KVDetector* kvd; KVDBParameterSet* kvps; KVCalibrator* kvc; TString str; TIter next_ps2(param_list); while ((kvps = (KVDBParameterSet*) next_ps2())) { // boucle sur les parametres str = kvps->GetName(); kvd = fArray->GetDetector(str.Data()); if (!kvd) Warning("SetLitEnergyCsIParameters(UInt_t)", "Dectector %s not found !", str.Data()); else { // detector found kvc = kvd->GetCalibrator(kvps->GetTitle()); if (!kvc) { Warning("SetLitEnergyCsIParameters(UInt_t)", "Calibrator %s %s not found ! - it will be created", kvps->GetName(), kvps->GetTitle()); kvd->SetCalibrators(); kvc = kvd->GetCalibrator(kvps->GetTitle()); } for (Int_t i = 0; i < kvc->GetNumberParams(); i++) { kvc->SetParameter(i, kvps->GetParameter(i)); kvc->SetStatus(kTRUE); // calibrator ready } } //detector found } //boucle sur les parameters }