8 #include "KVINDRAUpDater.h"
10 #include "KVCalibrator.h"
11 #include "KVNucleus.h"
12 #include "KVDBParameterSet.h"
13 #include "KVINDRADBRun.h"
14 #include "KVIDGridManager.h"
15 #include "KVDBChIoPressures.h"
18 #include "KVSilicon.h"
20 #include "KVINDRADB.h"
62 cout <<
"Setting parameters of INDRA array for run " << run <<
":" <<
66 Error(
"SetParameters(UInt_t)",
"Run %u not found in database!", run);
72 CheckStatusOfDetectors(kvrun);
73 SetChIoPressures(kvrun);
75 if (!physics_parameters_only) {
77 SetCalibrationParameters(run);
78 SetIdentificationParameters(run);
125 cout <<
"--> Setting Trigger:" << endl;
127 cout <<
" M>=" << (
Int_t)GetINDRA()->GetTrigger() << endl;
141 TIter next(fArray->GetDetectors());
145 Int_t ndet_absent = 0;
149 while ((det = (KVDetector*)next())) {
155 if (absdet->
FindObject(det->GetName(),
"Absent Detector")) {
163 if (det->IsPresent()) {
169 if (ooodet->
FindObject(det->GetName(),
"OoO Detector")) {
170 det->SetDetecting(
kFALSE);
206 Info(
"KVINDRAUpDater",
"%d detecteurs absents", ndet_absent);
207 Info(
"KVINDRAUpDater",
"%d detecteurs ne fonctionnent pas", ndet_ooo);
208 Info(
"KVINDRAUpDater",
"%d parametres d acquisition ne fonctionnent pas", nacq_ooo);
283 TIter next_ps(param_list);
284 auto chios = GetINDRA()->GetListOfChIo();
286 Error(
"SetChIoPressures",
287 "fArray->GetListOfChIo() returns null list pointer");
290 cout <<
"--> Setting ChIo pressures" << endl;
291 TIter next_chio(chios);
293 cout <<
" Ring 2/3: " << kvps->
294 GetPressure(CHIO_2_3) <<
"mbar" << endl;
295 cout <<
" Ring 4/5: " << kvps->
296 GetPressure(CHIO_4_5) <<
"mbar" << endl;
297 cout <<
" Ring 6/7: " << kvps->
298 GetPressure(CHIO_6_7) <<
"mbar" << endl;
299 cout <<
" Ring 8/12: " << kvps->
300 GetPressure(CHIO_8_12) <<
"mbar" << endl;
301 cout <<
" Ring 13/17: " << kvps->
302 GetPressure(CHIO_13_17) <<
"mbar" << endl;
303 while ((kvd = (
KVChIo*) next_chio())) {
304 if (!strcmp(kvd->GetType(),
"CI")) {
317 kvd->SetDetecting(
kFALSE);
320 kvd->SetDetecting(
kTRUE);
346 TIter next_ps(param_list);
355 kvd = fArray->GetDetector(str.
Data());
357 Warning(
"SetChVoltParameters(UInt_t)",
"Dectector %s not found !",
362 Warning(
"SetChVoltParameters(UInt_t)",
363 "Calibrator %s %s not found !", kvps->
GetName(),
393 TIter next_ps(param_list);
397 kvd = fArray->GetDetector(kvps->
GetName());
407 Warning(
"SetVoltEnergyParameters(UInt_t)",
408 "Calibrator %s %s not found !", kvps->
GetName(),
457 TIter next_csi(GetINDRA()->GetListOfCsI());
471 TIter next_ps(param_list);
484 Warning(
"SetCsIGainCorrectionParameters",
485 "Cannot find detector associated with %s", dbps->
GetName());
506 if (param_list && param_list->
GetSize()) {
511 TIter next_ps(param_list);
516 kvd = fArray->GetDetector(str.
Data());
518 Warning(
"SetLitEnergyCsIParameters(UInt_t)",
519 "Dectector %s not found !", str.
Data());
521 kvc = kvd->GetCalibrator(kvps->
GetTitle());
523 Warning(
"SetLitEnergyCsIParameters(UInt_t)",
524 "Calibrator %s %s not found ! - it will be created",
527 kvc = kvd->GetCalibrator(kvps->
GetTitle());
537 param_list = kvrun->
GetLinks(
"Light-Energy CsI Z>1");
539 if (!param_list || !param_list->
GetSize()) {
548 TIter next_ps2(param_list);
551 kvd = fArray->GetDetector(str.
Data());
553 Warning(
"SetLitEnergyCsIParameters(UInt_t)",
554 "Dectector %s not found !", str.
Data());
556 kvc = kvd->GetCalibrator(kvps->
GetTitle());
558 Warning(
"SetLitEnergyCsIParameters(UInt_t)",
559 "Calibrator %s %s not found ! - it will be created",
562 kvc = kvd->GetCalibrator(kvps->
GetTitle());
void AbstractMethod(const char *method)
Base class for all detector calibrations.
Int_t GetNumberParams() const
void SetParameter(int i, Double_t par_val) const
void SetStatus(Bool_t ready)
Ionisation chamber detectors of the INDRA multidetector array.
Double_t GetPressure() const override
void SetPressure(Double_t P) override
CsI(Tl) scintillation detectors of the INDRA multidetector array.
CHIO pressure parameters.
virtual Float_t GetPressure(UInt_t chio_number)
To store calibration parameters in a database ,.
Double_t GetParameter(UShort_t i=0) const
virtual KVRList * GetLinks(const Char_t *key) const
Returns the list of records linked to this record in table "key".
Description of an experimental run in database ,,.
GANIL VXI/VME 16 bit (maximum) EBYEDAT acquisition parameter.
KVDBRun * GetDBRun(Int_t number) const
UInt_t GetRingNumber() const
Class implementing necessary methods for setting INDRA parameters for each run, using information sto...
virtual void SetVoltEnergyChIoSiParameters(KVDBRun *)
virtual void SetChIoPressures(KVDBRun *)
virtual void SetCalibParameters(KVDBRun*);
virtual void SetPHDs(KVDBRun *)
virtual void SetChVoltParameters(KVDBRun *)
virtual void SetPedestals(KVDBRun*);
virtual void SetTrigger(KVDBRun *)
virtual void SetCalibrationParameters(UInt_t);
void SetParameters(UInt_t run, Bool_t physics_parameters_only=kFALSE) override
void CheckStatusOfDetectors(KVDBRun *)
virtual void SetGains(KVDBRun*);
virtual void SetLitEnergyCsIParameters(KVDBRun *)
Setting Light- Energy CsI calibration parameters for Z=1.
virtual void SetCsIGainCorrectionParameters(KVDBRun *)
INDRA multidetector array geometry.
Wrapper for TRefArray adding some functionality.
KVBase * FindObject(const Char_t *name, const Char_t *type) const
Int_t GetSize() const override
const char * GetName() const override
const char * GetTitle() const override
const char * Data() const
virtual Int_t Sizeof() const
TString & Remove(EStripType s, char c)