libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::MzCalibrationStore Class Reference

#include <mzcalibrationstore.h>

Public Member Functions

 MzCalibrationStore ()
virtual ~MzCalibrationStore ()
MzCalibrationInterfaceSPtr getInstance (double T1_frame, double T2_frame, const QSqlRecord &mzcalibration_record)

Private Attributes

std::map< QString, MzCalibrationInterfaceSPtrm_mapMzCalibrationSPtr

Detailed Description

Todo
write docs

Definition at line 39 of file mzcalibrationstore.h.

Constructor & Destructor Documentation

◆ MzCalibrationStore()

pappso::MzCalibrationStore::MzCalibrationStore ( )
Todo
write docs

Definition at line 37 of file mzcalibrationstore.cpp.

38{
39}

◆ ~MzCalibrationStore()

pappso::MzCalibrationStore::~MzCalibrationStore ( )
virtual
Todo
write docs

Definition at line 41 of file mzcalibrationstore.cpp.

42{
43}

Member Function Documentation

◆ getInstance()

MzCalibrationInterfaceSPtr pappso::MzCalibrationStore::getInstance ( double T1_frame,
double T2_frame,
const QSqlRecord & mzcalibration_record )

Definition at line 46 of file mzcalibrationstore.cpp.

49{
50 // qDebug();
51 MzCalibrationInterfaceSPtr msp_mzCalibration = nullptr;
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
60 auto itmap = m_mapMzCalibrationSPtr.find(mz_calibration_key);
61 if(itmap != m_mapMzCalibrationSPtr.end())
62 {
63 // qDebug() << mz_calibration_key << " calibration object found";
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(), // MzCalibration.DigitizerTimebase
75 mz_calibration_record.value("DigitizerDelay")
76 .toDouble(), // MzCalibration.DigitizerDelay
77 mz_calibration_record.value("C0").toDouble(), // MzCalibration.C0
78 mz_calibration_record.value("C1").toDouble(), // MzCalibration.C1
79 mz_calibration_record.value("C2").toDouble(), // MzCalibration.C2
80 mz_calibration_record.value("C3").toDouble(), // MzCalibration.C3
81 mz_calibration_record.value("C4").toDouble(), // MzCalibration.C4
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 // qDebug();
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 // qDebug();
103 throw PappsoException(
104 QObject::tr("ERROR in MzCalibrationStore::getInstance MzCalibration is NULL"));
105 }
106
107 // qDebug();
108 return (msp_mzCalibration);
109}
std::map< QString, MzCalibrationInterfaceSPtr > m_mapMzCalibrationSPtr
std::shared_ptr< MzCalibrationInterface > MzCalibrationInterfaceSPtr

References m_mapMzCalibrationSPtr.

Member Data Documentation

◆ m_mapMzCalibrationSPtr

std::map<QString, MzCalibrationInterfaceSPtr> pappso::MzCalibrationStore::m_mapMzCalibrationSPtr
private

Definition at line 56 of file mzcalibrationstore.h.

Referenced by getInstance().


The documentation for this class was generated from the following files: