libpappsomspp
Library for mass spectrometry
mzcalibrationmodel1.h
Go to the documentation of this file.
1 /**
2  * \file pappsomspp/vendors/tims/mzcalibration/mzcalibrationmodel1.h
3  * \date 11/11/2020
4  * \author Olivier Langella
5  * \brief implement Bruker's model type 1 formula to compute m/z
6  */
7 
8 /*******************************************************************************
9  * Copyright (c) 2020 Olivier Langella <Olivier.Langella@u-psud.fr>.
10  *
11  * This file is part of the PAPPSOms++ library.
12  *
13  * PAPPSOms++ is free software: you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation, either version 3 of the License, or
16  * (at your option) any later version.
17  *
18  * PAPPSOms++ is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25  *
26  ******************************************************************************/
27 
28 #include "mzcalibrationinterface.h"
29 
30 
31 #pragma once
32 
33 
34 namespace pappso
35 {
36 
37 /**
38  * @todo write docs
39  */
41 {
42  public:
43  /**
44  * Default constructor
45  */
46  MzCalibrationModel1(double T1_frame,
47  double T2_frame,
48  double digitizerTimebase,
49  double digitizerDelay,
50  double C0,
51  double C1,
52  double C2,
53  double C3,
54  double C4,
55  double T1_ref,
56  double T2_ref,
57  double dC1,
58  double dC2);
59 
60 
61  /**
62  * Destructor
63  */
64  virtual ~MzCalibrationModel1();
65 
66  virtual double getMzFromTofIndex(quint32 tof_index) override;
67 
68  virtual quint32 getTofIndexFromMz(double mz) override;
69 
70  private:
71  // double m_arrMasses[600000] = {0};
72 };
73 
74 
76 {
77  public:
78  /**
79  * Default constructor
80  */
81  MzCalibrationModel1Cached(double T1_frame,
82  double T2_frame,
83  double digitizerTimebase,
84  double digitizerDelay,
85  double C0,
86  double C1,
87  double C2,
88  double C3,
89  double C4,
90  double T1_ref,
91  double T2_ref,
92  double dC1,
93  double dC2);
94 
95 
96  /**
97  * Destructor
98  */
100 
101  virtual double getMzFromTofIndex(quint32 tof_index) override;
102 
103  private:
104  double m_arrMasses[600000] = {0};
105  quint32 m_max=600000;
106 };
107 } // namespace pappso
MzCalibrationModel1Cached(double T1_frame, double T2_frame, double digitizerTimebase, double digitizerDelay, double C0, double C1, double C2, double C3, double C4, double T1_ref, double T2_ref, double dC1, double dC2)
virtual double getMzFromTofIndex(quint32 tof_index) override
get m/z from time of flight raw index
virtual double getMzFromTofIndex(quint32 tof_index) override
get m/z from time of flight raw index
MzCalibrationModel1(double T1_frame, double T2_frame, double digitizerTimebase, double digitizerDelay, double C0, double C1, double C2, double C3, double C4, double T1_ref, double T2_ref, double dC1, double dC2)
virtual quint32 getTofIndexFromMz(double mz) override
get raw TOF index of a given m/z
handles different ways to compute m/z using calibration parameters
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition: aa.cpp:39