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  Trace toTrace() const;
58  QString toString() const;
59 
60  protected:
61  private:
62 };
63 
64 
65 } // namespace pappso
66 
69 
70 extern int mapTraceMetaTypeId;
71 extern int mapTracePtrMetaTypeId;
pappso::MapTraceCstSPtr
std::shared_ptr< const MapTrace > MapTraceCstSPtr
Definition: maptrace.h:26
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition: exportinmportconfig.h:14
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks
Definition: aa.cpp:39
trace.h
pappso::MapTrace
Definition: maptrace.h:33
pappso::MapTraceSPtr
std::shared_ptr< MapTrace > MapTraceSPtr
Definition: maptrace.h:25
mapTraceMetaTypeId
int mapTraceMetaTypeId
Definition: maptrace.cpp:21
pappso::Trace
A simple container of DataPoint instances.
Definition: trace.h:132
pappso::operator>>
QDataStream & operator>>(QDataStream &instream, MassSpectrum &massSpectrum)
Definition: massspectrum.cpp:357
pappso::operator<<
QDataStream & operator<<(QDataStream &outstream, const MassSpectrum &massSpectrum)
Definition: massspectrum.cpp:343
pappso::TraceMinusCombiner
Definition: traceminuscombiner.h:27
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(pappso::MapTrace)
pappso::TraceCombiner
Definition: tracecombiner.h:28
datapoint.h
pappso::TracePlusCombiner
Definition: tracepluscombiner.h:27
mapTracePtrMetaTypeId
int mapTracePtrMetaTypeId
Definition: maptrace.cpp:23