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