libpappsomspp
Library for mass spectrometry
pappso::TimsFrameBase Class Reference

#include <timsframebase.h>

Inheritance diagram for pappso::TimsFrameBase:
pappso::TimsFrame pappso::TimsFrameType1

Public Member Functions

 TimsFrameBase (std::size_t timsId, quint32 scanNum)
 constructor for binary independant tims frame More...
 
 TimsFrameBase (const TimsFrameBase &other)
 
virtual ~TimsFrameBase ()
 
virtual bool hasSameCalibrationData (const TimsFrameBase &other) const
 tells if 2 tims frame has the same calibration data Usefull to know if raw data can be handled between frames More...
 
virtual std::size_t getNbrPeaks (std::size_t scanNum) const
 get the number of peaks in this spectrum need the binary file More...
 
virtual MassSpectrumSPtr getMassSpectrumSPtr (std::size_t scanNum) const
 get Mass spectrum with peaks for this scan number need the binary file More...
 
virtual Trace cumulateScanToTrace (std::size_t scanNumBegin, std::size_t scanNumEnd) const
 cumulate spectrum given a scan number range need the binary file More...
 
virtual void cumulateScansInRawMap (std::map< quint32, quint32 > &rawSpectrum, std::size_t scanNumBegin, std::size_t scanNumEnd) const
 cumulate scan list into a trace into a raw spectrum map More...
 
bool checkScanNum (std::size_t scanNum) const
 check that this scan number exists More...
 
void setAccumulationTime (double accumulation_time_ms)
 
void setMzCalibration (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)
 
void setTimsCalibration (int tims_model_type, double C0, double C1, double C2, double C3, double C4, double C5, double C6, double C7, double C8, double C9)
 
void setTime (double time)
 
void setMsMsType (quint8 type)
 
unsigned int getMsLevel () const
 
double getTime () const
 
std::size_t getId () const
 
double getDriftTime (std::size_t scanNum) const
 get drift time of a scan number in milliseconds More...
 
double getOneOverK0Transformation (std::size_t scanNum) const
 get 1/K0 value of a given scan (mobility value) More...
 
std::size_t getScanNumFromOneOverK0 (double one_over_k0) const
 get the scan number from a given 1/Ko mobility value More...
 
double getVoltageTransformation (std::size_t scanNum) const
 get voltage for a given scan number More...
 
pappso::Trace getTraceFromCumulatedScans (std::map< quint32, quint32 > &accumulated_scans) const
 transform accumulation of raw scans into a real mass spectrum More...
 
pappso::Trace getTraceFromCumulatedScansBuiltinCentroid (std::map< quint32, quint32 > &accumulated_scans) const
 transform accumulation of raw scans into a real mass spectrum with a simple centroid on raw integers More...
 
virtual const MzCalibrationInterfaceSPtrgetMzCalibrationInterfaceSPtr () const final
 get the MzCalibration model to compute mz and TOF for this frame More...
 
void setMzCalibrationInterfaceSPtr (MzCalibrationInterfaceSPtr mzCalibration)
 

Protected Attributes

quint32 m_scanNumber
 total number of scans contained in this frame More...
 
std::size_t m_timsId
 Tims frame database id (the SQL identifier of this frame) More...
 
double m_accumulationTime = 0
 accumulation time in milliseconds More...
 
quint8 m_msMsType = 0
 
double m_time = 0
 retention time More...
 
double m_timsDvStart = 0
 
double m_timsSlope
 
double m_timsTtrans = 0
 
double m_timsNdelay = 0
 
double m_timsVmin = 0
 
double m_timsVmax = 0
 
double m_timsC6 = 0
 
double m_timsC7 = 0
 
MzCalibrationInterfaceSPtr msp_mzCalibration = nullptr
 

Detailed Description

Todo:
write docs

Definition at line 47 of file timsframebase.h.

Constructor & Destructor Documentation

◆ TimsFrameBase() [1/2]

pappso::TimsFrameBase::TimsFrameBase ( std::size_t  timsId,
quint32  scanNum 
)

constructor for binary independant tims frame

Parameters
timsIdtims frame identifier in the database
scanNumthe total number of scans contained in this frame

Definition at line 37 of file timsframebase.cpp.

38 {
39  qDebug() << timsId;
40  m_timsId = timsId;
41 
42  m_scanNumber = scanNum;
43 }
quint32 m_scanNumber
total number of scans contained in this frame
std::size_t m_timsId
Tims frame database id (the SQL identifier of this frame)

References m_scanNumber, and m_timsId.

◆ TimsFrameBase() [2/2]

pappso::TimsFrameBase::TimsFrameBase ( const TimsFrameBase other)

Copy constructor

Parameters
otherTODO

◆ ~TimsFrameBase()

pappso::TimsFrameBase::~TimsFrameBase ( )
virtual

Destructor

Definition at line 49 of file timsframebase.cpp.

50 {
51 }

Member Function Documentation

◆ checkScanNum()

bool pappso::TimsFrameBase::checkScanNum ( std::size_t  scanNum) const

check that this scan number exists

Parameters
scanNumscan number in the frame in the order it lies in binary file, from 0 to N-1

Definition at line 101 of file timsframebase.cpp.

102 {
103  if(scanNum >= m_scanNumber)
104  {
106  QObject::tr("Invalid scan number : scanNum %1 > m_scanNumber %2")
107  .arg(scanNum)
108  .arg(m_scanNumber));
109  }
110 
111  return true;
112 }

References m_scanNumber.

Referenced by pappso::TimsFrame::getMassSpectrumSPtr(), pappso::TimsFrameType1::getMassSpectrumSPtr(), pappso::TimsFrame::getNbrPeaks(), pappso::TimsFrame::getScanIndexList(), and pappso::TimsFrame::getScanIntensities().

◆ cumulateScansInRawMap()

void pappso::TimsFrameBase::cumulateScansInRawMap ( std::map< quint32, quint32 > &  rawSpectrum,
std::size_t  scanNumBegin,
std::size_t  scanNumEnd 
) const
virtual

cumulate scan list into a trace into a raw spectrum map

Parameters
rawSpectrumsimple map of integers to cumulate raw counts
scanNumBeginscan number in the frame in the order it lies in binary file, from 0 to N-1
scanNumEndscan number in the frame in the order it lies in binary file, from 0 to N-1

Reimplemented in pappso::TimsFrame.

Definition at line 142 of file timsframebase.cpp.

146 {
147  throw PappsoException(
148  QObject::tr(
149  "ERROR unable to cumulateScansInRawMap in TimsFrameBase for scan "
150  "number begin %1 end %2")
151  .arg(scanNumBegin)
152  .arg(scanNumEnd));
153 }

◆ cumulateScanToTrace()

Trace pappso::TimsFrameBase::cumulateScanToTrace ( std::size_t  scanNumBegin,
std::size_t  scanNumEnd 
) const
virtual

cumulate spectrum given a scan number range need the binary file

Parameters
scanNumBeginscan number in the frame in the order it lies in binary file, from 0 to N-1
scanNumEndscan number in the frame in the order it lies in binary file, from 0 to N-1

Reimplemented in pappso::TimsFrame.

Definition at line 132 of file timsframebase.cpp.

134 {
135  throw PappsoException(
136  QObject::tr("ERROR unable to cumulateScanToTrace in TimsFrameBase for scan "
137  "number begin %1 end %2")
138  .arg(scanNumBegin)
139  .arg(scanNumEnd));
140 }

◆ getDriftTime()

double pappso::TimsFrameBase::getDriftTime ( std::size_t  scanNum) const

get drift time of a scan number in milliseconds

Parameters
scanNumscan number in the frame in the order it lies in binary file, from 0 to N-1
Returns
time in milliseconds of mobility delay (drift time)

Definition at line 241 of file timsframebase.cpp.

242 {
243  return (m_accumulationTime / (double)m_scanNumber) * ((double)scanNum);
244 }
double m_accumulationTime
accumulation time in milliseconds

References m_accumulationTime, and m_scanNumber.

◆ getId()

std::size_t pappso::TimsFrameBase::getId ( ) const

Definition at line 183 of file timsframebase.cpp.

184 {
185  return m_timsId;
186 }

References m_timsId.

Referenced by pappso::TimsFrameType1::getMassSpectrumSPtr().

◆ getMassSpectrumSPtr()

MassSpectrumSPtr pappso::TimsFrameBase::getMassSpectrumSPtr ( std::size_t  scanNum) const
virtual

get Mass spectrum with peaks for this scan number need the binary file

Parameters
scanNumscan number in the frame in the order it lies in binary file, from 0 to N-1

Reimplemented in pappso::TimsFrameType1, and pappso::TimsFrame.

Definition at line 124 of file timsframebase.cpp.

125 {
126  throw PappsoException(
127  QObject::tr(
128  "ERROR unable to getMassSpectrumSPtr in TimsFrameBase for scan number %1")
129  .arg(scanNum));
130 }

◆ getMsLevel()

unsigned int pappso::TimsFrameBase::getMsLevel ( ) const

Definition at line 169 of file timsframebase.cpp.

170 {
171  if(m_msMsType == 0)
172  return 1;
173  return 2;
174 }

References m_msMsType.

◆ getMzCalibrationInterfaceSPtr()

const MzCalibrationInterfaceSPtr & pappso::TimsFrameBase::getMzCalibrationInterfaceSPtr ( ) const
finalvirtual

get the MzCalibration model to compute mz and TOF for this frame

Definition at line 421 of file timsframebase.cpp.

422 {
423  if(msp_mzCalibration == nullptr)
424  {
425 
427  QObject::tr("ERROR in %1, %2, %3 msp_mzCalibration is null")
428  .arg(__FILE__)
429  .arg(__FUNCTION__)
430  .arg(__LINE__));
431  }
432  return msp_mzCalibration;
433 }
MzCalibrationInterfaceSPtr msp_mzCalibration

References msp_mzCalibration.

Referenced by pappso::TimsFrame::XicComputeStructure::XicComputeStructure(), pappso::TimsFrame::cumulateScanToTrace(), pappso::TimsFrame::getMassSpectrumSPtr(), pappso::TimsFrameType1::getMassSpectrumSPtr(), getTraceFromCumulatedScans(), and getTraceFromCumulatedScansBuiltinCentroid().

◆ getNbrPeaks()

std::size_t pappso::TimsFrameBase::getNbrPeaks ( std::size_t  scanNum) const
virtual

get the number of peaks in this spectrum need the binary file

Parameters
scanNumscan number in the frame in the order it lies in binary file, from 0 to N-1

Reimplemented in pappso::TimsFrameType1, and pappso::TimsFrame.

Definition at line 115 of file timsframebase.cpp.

116 {
117  throw PappsoException(
118  QObject::tr(
119  "ERROR unable to get number of peaks in TimsFrameBase for scan number %1")
120  .arg(scanNum));
121 }

◆ getOneOverK0Transformation()

double pappso::TimsFrameBase::getOneOverK0Transformation ( std::size_t  scanNum) const

get 1/K0 value of a given scan (mobility value)

Parameters
scanNumscan number in the frame in the order it lies in binary file, from 0 to N-1

Definition at line 247 of file timsframebase.cpp.

248 {
249  return 1 / (m_timsC6 + (m_timsC7 / getVoltageTransformation(scanNum)));
250 }
double getVoltageTransformation(std::size_t scanNum) const
get voltage for a given scan number

References getVoltageTransformation(), m_timsC6, and m_timsC7.

◆ getScanNumFromOneOverK0()

std::size_t pappso::TimsFrameBase::getScanNumFromOneOverK0 ( double  one_over_k0) const

get the scan number from a given 1/Ko mobility value

Parameters
one_over_k0the mobility value to tranform
Returns
integer the scan number in the frame in the order it lies in binary file, from 0 to N-1

Definition at line 254 of file timsframebase.cpp.

255 {
256  double temp = 1 / one_over_k0;
257  temp = temp - m_timsC6;
258  temp = temp / m_timsC7;
259  temp = 1 / temp;
260  temp = temp - m_timsDvStart;
261  temp = temp / m_timsSlope + m_timsTtrans + m_timsNdelay;
262  return (std::size_t)std::round(temp);
263 }

References m_timsC6, m_timsC7, m_timsDvStart, m_timsNdelay, m_timsSlope, and m_timsTtrans.

◆ getTime()

double pappso::TimsFrameBase::getTime ( ) const

Definition at line 177 of file timsframebase.cpp.

178 {
179  return m_time;
180 }
double m_time
retention time

References m_time.

◆ getTraceFromCumulatedScans()

pappso::Trace pappso::TimsFrameBase::getTraceFromCumulatedScans ( std::map< quint32, quint32 > &  accumulated_scans) const

transform accumulation of raw scans into a real mass spectrum

Definition at line 281 of file timsframebase.cpp.

283 {
284  qDebug();
285  // qDebug();
286  // add flanking peaks
287  pappso::Trace local_trace;
288 
289  MzCalibrationInterface *mz_calibration_p =
291 
292 
293  DataPoint element;
294  for(auto &scan_element : accumulated_scans)
295  {
296  // intensity normalization
297  element.y = ((double)scan_element.second) * 100.0 / m_accumulationTime;
298 
299  // mz calibration
300  element.x = mz_calibration_p->getMzFromTofIndex(scan_element.first);
301 
302  local_trace.push_back(element);
303  }
304  local_trace.sortX();
305 
306  qDebug();
307  // qDebug();
308  return local_trace;
309 }
virtual const MzCalibrationInterfaceSPtr & getMzCalibrationInterfaceSPtr() const final
get the MzCalibration model to compute mz and TOF for this frame
A simple container of DataPoint instances.
Definition: trace.h:148
void sortX()
Definition: trace.cpp:905

References getMzCalibrationInterfaceSPtr(), pappso::MzCalibrationInterface::getMzFromTofIndex(), m_accumulationTime, pappso::Trace::sortX(), pappso::DataPoint::x, and pappso::DataPoint::y.

◆ getTraceFromCumulatedScansBuiltinCentroid()

pappso::Trace pappso::TimsFrameBase::getTraceFromCumulatedScansBuiltinCentroid ( std::map< quint32, quint32 > &  accumulated_scans) const

transform accumulation of raw scans into a real mass spectrum with a simple centroid on raw integers

Definition at line 312 of file timsframebase.cpp.

314 {
315  qDebug();
316  // qDebug();
317  // add flanking peaks
318  std::vector<quint32> keys;
319  transform(begin(accumulated_scans),
320  end(accumulated_scans),
321  back_inserter(keys),
322  [](std::map<quint32, quint32>::value_type const &pair) {
323  return pair.first;
324  });
325  std::sort(keys.begin(), keys.end());
326  pappso::DataPoint data_point_cumul;
327  data_point_cumul.x = 0;
328  data_point_cumul.y = 0;
329 
330  pappso::Trace local_trace;
331 
332  MzCalibrationInterface *mz_calibration_p =
334 
335 
336  quint32 last_key = 0;
337 
338  for(quint32 key : keys)
339  {
340  if(key == last_key + 1)
341  {
342  // cumulate
343  if(accumulated_scans[key] > accumulated_scans[last_key])
344  {
345  if(data_point_cumul.x == last_key)
346  {
347  // growing peak
348  data_point_cumul.x = key;
349  data_point_cumul.y += accumulated_scans[key];
350  }
351  else
352  {
353  // new peak
354  // flush
355  if(data_point_cumul.y > 0)
356  {
357  // intensity normalization
358  data_point_cumul.y *= 100.0 / m_accumulationTime;
359 
360 
361  // mz calibration
362  data_point_cumul.x =
363  mz_calibration_p->getMzFromTofIndex(data_point_cumul.x);
364  local_trace.push_back(data_point_cumul);
365  }
366 
367  // new point
368  data_point_cumul.x = key;
369  data_point_cumul.y = accumulated_scans[key];
370  }
371  }
372  else
373  {
374  data_point_cumul.y += accumulated_scans[key];
375  }
376  }
377  else
378  {
379  // flush
380  if(data_point_cumul.y > 0)
381  {
382  // intensity normalization
383  data_point_cumul.y *= 100.0 / m_accumulationTime;
384 
385 
386  //qDebug() << "raw data x=" << data_point_cumul.x;
387  // mz calibration
388  data_point_cumul.x =
389  mz_calibration_p->getMzFromTofIndex(data_point_cumul.x);
390  //qDebug() << "mz=" << data_point_cumul.x;
391  local_trace.push_back(data_point_cumul);
392  }
393 
394  // new point
395  data_point_cumul.x = key;
396  data_point_cumul.y = accumulated_scans[key];
397  }
398 
399  last_key = key;
400  }
401  // flush
402  if(data_point_cumul.y > 0)
403  {
404  // intensity normalization
405  data_point_cumul.y *= 100.0 / m_accumulationTime;
406 
407 
408  // mz calibration
409  data_point_cumul.x =
410  mz_calibration_p->getMzFromTofIndex(data_point_cumul.x);
411  local_trace.push_back(data_point_cumul);
412  }
413 
414  local_trace.sortX();
415  qDebug();
416  // qDebug();
417  return local_trace;
418 }
pappso_double x
Definition: datapoint.h:22
pappso_double y
Definition: datapoint.h:23

References getMzCalibrationInterfaceSPtr(), pappso::MzCalibrationInterface::getMzFromTofIndex(), m_accumulationTime, pappso::Trace::sortX(), pappso::DataPoint::x, and pappso::DataPoint::y.

◆ getVoltageTransformation()

double pappso::TimsFrameBase::getVoltageTransformation ( std::size_t  scanNum) const

get voltage for a given scan number

Parameters
scanNumscan number in the frame in the order it lies in binary file, from 0 to N-1
Returns
double volt measure

Definition at line 219 of file timsframebase.cpp.

220 {
221  double v = m_timsDvStart +
222  m_timsSlope * ((double)scanNum - m_timsTtrans - m_timsNdelay);
223 
224  if(v < m_timsVmin)
225  {
227  QObject::tr("ERROR in TimsFrame::getVoltageTransformation invalid tims "
228  "calibration, v < m_timsVmin"));
229  }
230 
231 
232  if(v > m_timsVmax)
233  {
235  QObject::tr("ERROR in TimsFrame::getVoltageTransformation invalid tims "
236  "calibration, v > m_timsVmax"));
237  }
238  return v;
239 }

References m_timsDvStart, m_timsNdelay, m_timsSlope, m_timsTtrans, m_timsVmax, and m_timsVmin.

Referenced by getOneOverK0Transformation().

◆ hasSameCalibrationData()

bool pappso::TimsFrameBase::hasSameCalibrationData ( const TimsFrameBase other) const
virtual

tells if 2 tims frame has the same calibration data Usefull to know if raw data can be handled between frames

Definition at line 266 of file timsframebase.cpp.

267 {
268  if((m_timsDvStart == other.m_timsDvStart) &&
269  (m_timsTtrans == other.m_timsTtrans) &&
270  (m_timsNdelay == other.m_timsNdelay) && (m_timsVmin == other.m_timsVmin) &&
271  (m_timsVmax == other.m_timsVmax) && (m_timsC6 == other.m_timsC6) &&
272  (m_timsC7 == other.m_timsC7) && (m_timsSlope == other.m_timsSlope))
273  {
274  return true;
275  }
276  return false;
277 }

References m_timsC6, m_timsC7, m_timsDvStart, m_timsNdelay, m_timsSlope, m_timsTtrans, m_timsVmax, and m_timsVmin.

◆ setAccumulationTime()

void pappso::TimsFrameBase::setAccumulationTime ( double  accumulation_time_ms)

Definition at line 54 of file timsframebase.cpp.

55 {
56  m_accumulationTime = accumulation_time_ms;
57 }

References m_accumulationTime.

◆ setMsMsType()

void pappso::TimsFrameBase::setMsMsType ( quint8  type)

Definition at line 161 of file timsframebase.cpp.

162 {
163 
164  qDebug() << " m_msMsType=" << type;
165  m_msMsType = type;
166 }

References m_msMsType.

◆ setMzCalibration()

void pappso::TimsFrameBase::setMzCalibration ( 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 
)

Definition at line 61 of file timsframebase.cpp.

74 {
75 
76  /* MzCalibrationModel1 mzCalibration(temperature_correction,
77  digitizerTimebase,
78  digitizerDelay,
79  C0,
80  C1,
81  C2,
82  C3,
83  C4);
84  */
85  msp_mzCalibration = std::make_shared<MzCalibrationModel1>(T1_frame,
86  T2_frame,
87  digitizerTimebase,
88  digitizerDelay,
89  C0,
90  C1,
91  C2,
92  C3,
93  C4,
94  T1_ref,
95  T2_ref,
96  dC1,
97  dC2);
98 }

References msp_mzCalibration.

◆ setMzCalibrationInterfaceSPtr()

void pappso::TimsFrameBase::setMzCalibrationInterfaceSPtr ( MzCalibrationInterfaceSPtr  mzCalibration)

Definition at line 436 of file timsframebase.cpp.

438 {
439 
440  if(mzCalibration == nullptr)
441  {
442 
444  QObject::tr("ERROR in %1, %2, %3 msp_mzCalibration is null")
445  .arg(__FILE__)
446  .arg(__FUNCTION__)
447  .arg(__LINE__));
448  }
449  msp_mzCalibration = mzCalibration;
450 }

References msp_mzCalibration.

◆ setTime()

void pappso::TimsFrameBase::setTime ( double  time)

Definition at line 155 of file timsframebase.cpp.

156 {
157  m_time = time;
158 }

References m_time.

◆ setTimsCalibration()

void pappso::TimsFrameBase::setTimsCalibration ( int  tims_model_type,
double  C0,
double  C1,
double  C2,
double  C3,
double  C4,
double  C5,
double  C6,
double  C7,
double  C8,
double  C9 
)

Definition at line 188 of file timsframebase.cpp.

199 {
200  if(tims_model_type != 2)
201  {
202  throw pappso::PappsoException(QObject::tr(
203  "ERROR in TimsFrame::setTimsCalibration tims_model_type != 2"));
204  }
205  m_timsDvStart = C2; // C2 from TimsCalibration
206  m_timsTtrans = C4; // C4 from TimsCalibration
207  m_timsNdelay = C0; // C0 from TimsCalibration
208  m_timsVmin = C8; // C8 from TimsCalibration
209  m_timsVmax = C9; // C9 from TimsCalibration
210  m_timsC6 = C6;
211  m_timsC7 = C7;
212 
213 
214  m_timsSlope =
215  (C3 - m_timsDvStart) / C1; // //C3 from TimsCalibration // C2 from
216  // TimsCalibration // C1 from TimsCalibration
217 }

References m_timsC6, m_timsC7, m_timsDvStart, m_timsNdelay, m_timsSlope, m_timsTtrans, m_timsVmax, and m_timsVmin.

Member Data Documentation

◆ m_accumulationTime

◆ m_msMsType

quint8 pappso::TimsFrameBase::m_msMsType = 0
protected

Definition at line 209 of file timsframebase.h.

Referenced by getMsLevel(), and setMsMsType().

◆ m_scanNumber

◆ m_time

double pappso::TimsFrameBase::m_time = 0
protected

retention time

Definition at line 213 of file timsframebase.h.

Referenced by pappso::TimsFrame::extractTimsXicListInRtRange(), getTime(), and setTime().

◆ m_timsC6

double pappso::TimsFrameBase::m_timsC6 = 0
protected

◆ m_timsC7

double pappso::TimsFrameBase::m_timsC7 = 0
protected

◆ m_timsDvStart

double pappso::TimsFrameBase::m_timsDvStart = 0
protected

◆ m_timsId

std::size_t pappso::TimsFrameBase::m_timsId
protected

Tims frame database id (the SQL identifier of this frame)

Warning
in sqlite, there is another field called TimsId : this is not that, because it is in fact an offset in bytes in the binary file.

Definition at line 203 of file timsframebase.h.

Referenced by pappso::TimsFrame::TimsFrame(), TimsFrameBase(), pappso::TimsFrameType1::TimsFrameType1(), getId(), and pappso::TimsFrameType1::lzfDecompressScan().

◆ m_timsNdelay

double pappso::TimsFrameBase::m_timsNdelay = 0
protected

◆ m_timsSlope

double pappso::TimsFrameBase::m_timsSlope
protected

◆ m_timsTtrans

double pappso::TimsFrameBase::m_timsTtrans = 0
protected

◆ m_timsVmax

double pappso::TimsFrameBase::m_timsVmax = 0
protected

◆ m_timsVmin

double pappso::TimsFrameBase::m_timsVmin = 0
protected

◆ msp_mzCalibration

MzCalibrationInterfaceSPtr pappso::TimsFrameBase::msp_mzCalibration = nullptr
protected

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