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
16namespace pappso
17{
18
19
20class MapTrace;
21QDataStream &operator<<(QDataStream &out, const Trace &trace);
22QDataStream &operator>>(QDataStream &out, Trace &trace);
23
24
25typedef std::shared_ptr<MapTrace> MapTraceSPtr;
26typedef std::shared_ptr<const MapTrace> MapTraceCstSPtr;
27
28class TraceCombiner;
31
32class PMSPP_LIB_DECL MapTrace : public std::map<pappso_double, pappso_double>
33{
34 public:
35 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
73extern int mapTraceMetaTypeId;
74extern 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