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

References m_mapMzCalibrationSPtr.

Referenced by pappso::TimsData::getTimsFrameBaseCstSPtr(), and pappso::TimsData::getTimsFrameCstSPtr().

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: