libpappsomspp
Library for mass spectrometry
maptrace.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 #include <memory>
5 
6 #include <QDataStream>
7 #include <QMetaType>
8 
9 
10 #include "../exportinmportconfig.h"
11 #include "../types.h"
12 #include "trace.h"
13 #include "datapoint.h"
14 #include "../mzrange.h"
15 
16 namespace pappso
17 {
18 
19 
20 class MapTrace;
21 QDataStream &operator<<(QDataStream &out, const Trace &trace);
22 QDataStream &operator>>(QDataStream &out, Trace &trace);
23 
24 
25 typedef std::shared_ptr<MapTrace> MapTraceSPtr;
26 typedef std::shared_ptr<const MapTrace> MapTraceCstSPtr;
27 
28 class TraceCombiner;
29 class TracePlusCombiner;
30 class TraceMinusCombiner;
31 
32 class PMSPP_LIB_DECL MapTrace : public std::map<pappso_double, pappso_double>
33 {
34  public:
35  MapTrace();
36  MapTrace(
37  const std::vector<std::pair<pappso_double, pappso_double>> &dataPoints);
38  MapTrace(const std::vector<DataPoint> &dataPoints);
39  MapTrace(const MapTrace &other);
40  MapTrace(const Trace &trace);
41 
42  virtual ~MapTrace();
43 
44  size_t initialize(const std::vector<pappso_double> &xVector,
45  const std::vector<pappso_double> &yVector);
46 
47  size_t initialize(const std::map<pappso_double, pappso_double> &map);
48 
49  virtual MapTrace &operator=(const MapTrace &other);
50 
51  MapTraceSPtr makeMapTraceSPtr() const;
52  MapTraceCstSPtr makeMapTraceCstSPtr() const;
53 
54  std::vector<pappso_double> xValues();
55  std::vector<pappso_double> yValues();
56 
57  void insertOrUpdate(const DataPoint &data_point);
58  void insertOrUpdate(const Trace &trace);
59 
60  Trace toTrace() const;
61  QString toString() const;
62 
63  protected:
64  private:
65 };
66 
67 
68 } // namespace pappso
69 
72 
73 extern int mapTraceMetaTypeId;
74 extern int mapTracePtrMetaTypeId;
A simple container of DataPoint instances.
Definition: trace.h:147
#define PMSPP_LIB_DECL
int mapTracePtrMetaTypeId
Definition: maptrace.cpp:23
Q_DECLARE_METATYPE(pappso::MapTrace)
int mapTraceMetaTypeId
Definition: maptrace.cpp:21
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition: aa.cpp:39
QDataStream & operator>>(QDataStream &instream, MassSpectrum &massSpectrum)
std::shared_ptr< MapTrace > MapTraceSPtr
Definition: maptrace.h:25
QDataStream & operator<<(QDataStream &outstream, const MassSpectrum &massSpectrum)
std::shared_ptr< const MapTrace > MapTraceCstSPtr
Definition: maptrace.h:26