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