libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
massspectrumcombiner.h
Go to the documentation of this file.
1#pragma once
2
3/////////////////////// stdlib includes
4#include <vector>
5#include <memory>
6
7/////////////////////// Qt includes
8#include <QDataStream>
9
10/////////////////////// Local includes
12#include "../../types.h"
16
17namespace pappso
18{
19
21
22typedef std::shared_ptr<const MassSpectrumCombiner> MassSpectrumCombinerCstSPtr;
23typedef std::shared_ptr<MassSpectrumCombiner> MassSpectrumCombinerSPtr;
24
27{
28 Q_OBJECT
29
30 Q_PROPERTY(int size READ binCount NOTIFY binCountChanged)
31
32 public:
33 MassSpectrumCombiner(QObject *parent_p = nullptr);
34 MassSpectrumCombiner(int decimal_places, QObject *parent_p = nullptr);
35 MassSpectrumCombiner(std::vector<pappso_double> bins,
36 int decimalPlaces = -1,
37 QObject *parent_p = nullptr);
39 QObject *parent_p = nullptr);
41 QObject *parent_p = nullptr);
43 QObject *parent_p = nullptr);
44
45 virtual ~MassSpectrumCombiner();
46
47 Q_INVOKABLE void setBins(std::vector<pappso_double> bins);
48 Q_INVOKABLE const std::vector<pappso_double> &getBins() const;
49 Q_INVOKABLE std::size_t binCount() const;
50
51 Q_INVOKABLE QString binsAsString() const;
52
53 // # pragma message "This pragma is inside"
54 static void registerJsConstructor(QJSEngine *engine);
55
56 signals:
58
59 protected:
60 std::vector<pappso_double> m_bins;
61
62 std::vector<pappso_double>::iterator findBin(pappso_double mz);
63};
64
66
67} // namespace pappso
MassSpectrumCombiner(QObject *parent_p=nullptr)
Construct an uninitialized instance.
std::vector< pappso_double > m_bins
Q_INVOKABLE void setBins(std::vector< pappso_double > bins)
Q_INVOKABLE std::size_t binCount() const
Q_INVOKABLE const std::vector< pappso_double > & getBins() const
static void registerJsConstructor(QJSEngine *engine)
Q_INVOKABLE QString binsAsString() const
std::vector< pappso_double >::iterator findBin(pappso_double mz)
Find the bin that will contain mz.
MassSpectrumCombiner(const MassSpectrumCombiner &&other, QObject *parent_p=nullptr)
#define PMSPP_LIB_DECL
#define PAPPSO_REGISTER_JS_CLASS(NS_IDENT, CLASS_NAME)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< MassSpectrumCombiner > MassSpectrumCombinerSPtr
double pappso_double
A type definition for doubles.
Definition types.h:60
std::shared_ptr< const MassSpectrumCombiner > MassSpectrumCombinerCstSPtr