32 #include "../../../pappsoexception.h"
48 const QSqlRecord &mz_calibration_record)
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));
65 msp_mzCalibration = itmap->second;
69 if(mz_calibration_record.value(
"ModelType").toInt() == 1)
71 msp_mzCalibration = std::make_shared<MzCalibrationModel1>(
74 mz_calibration_record.value(
"DigitizerTimebase")
76 mz_calibration_record.value(
"DigitizerDelay")
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());
93 "ERROR in MzCalibrationStore::getInstance : MzCalibration "
94 "ModelType \"%1\" not available")
95 .arg(mz_calibration_record.value(
"ModelType").toInt()));
99 std::pair<QString, MzCalibrationInterfaceSPtr>(mz_calibration_key,
103 if(msp_mzCalibration ==
nullptr)
107 "ERROR in MzCalibrationStore::getInstance MzCalibration is NULL"));
111 return (msp_mzCalibration);
std::map< QString, MzCalibrationInterfaceSPtr > m_mapMzCalibrationSPtr
virtual ~MzCalibrationStore()
MzCalibrationInterfaceSPtr getInstance(double T1_frame, double T2_frame, const QSqlRecord &mzcalibration_record)
implement Bruker's model type 1 formula to compute m/z
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< MzCalibrationInterface > MzCalibrationInterfaceSPtr