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