49{
50
52
53 QString mz_calibration_key =
54 QString("%1-%2-%3-%4")
55 .arg(mz_calibration_record.value("Id").toInt())
56 .arg(mz_calibration_record.value("ModelType").toInt())
57 .arg(QString::number(T1_frame, 'g', 10))
58 .arg(QString::number(T2_frame, 'g', 10));
59
60
63 {
64
65 msp_mzCalibration = itmap->second;
66 }
67 else
68 {
69 if(mz_calibration_record.value("ModelType").toInt() == 1)
70 {
71 msp_mzCalibration = std::make_shared<MzCalibrationModel1>(
72 T1_frame,
73 T2_frame,
74 mz_calibration_record.value("DigitizerTimebase")
75 .toDouble(),
76 mz_calibration_record.value("DigitizerDelay")
77 .toDouble(),
78 mz_calibration_record.value("C0").toDouble(),
79 mz_calibration_record.value("C1").toDouble(),
80 mz_calibration_record.value("C2").toDouble(),
81 mz_calibration_record.value("C3").toDouble(),
82 mz_calibration_record.value("C4").toDouble(),
83 mz_calibration_record.value("T1").toDouble(),
84 mz_calibration_record.value("T2").toDouble(),
85 mz_calibration_record.value("dC1").toDouble(),
86 mz_calibration_record.value("dC2").toDouble());
87 }
88 else
89 {
90
91 throw PappsoException(
92 QObject::tr(
93 "ERROR in MzCalibrationStore::getInstance : MzCalibration "
94 "ModelType \"%1\" not available")
95 .arg(mz_calibration_record.value("ModelType").toInt()));
96 }
97
99 std::pair<QString, MzCalibrationInterfaceSPtr>(mz_calibration_key,
100 msp_mzCalibration));
101 }
102
103 if(msp_mzCalibration == nullptr)
104 {
105
106 throw PappsoException(QObject::tr(
107 "ERROR in MzCalibrationStore::getInstance MzCalibration is NULL"));
108 }
109
110
111 return (msp_mzCalibration);
112}
std::map< QString, MzCalibrationInterfaceSPtr > m_mapMzCalibrationSPtr
std::shared_ptr< MzCalibrationInterface > MzCalibrationInterfaceSPtr