libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
cubicsplinemodel.h
Go to the documentation of this file.
1// Copyright 2026 Filippo Rusconi
2// Inspired by code in OpenMS, by Lars Nilse
3
4#pragma once
5
6/////////////////////// stdlib includes
7
8
9/////////////////////// Qt includes
10#include <QList>
11#include <QMap>
12
13/////////////////////// pappsomspp includes
14
15
16/////////////////////// Local includes
18
19namespace pappso
20{
21
22
24{
25
26 public:
28 explicit CubicSplineModel(const QList<double> &x_values,
29 const QList<double> &y_values);
30 explicit CubicSplineModel(const QMap<double, double> &x_y_values_map);
31
34
35 virtual ~CubicSplineModel();
36
37 void setup(const QList<double> &x_values, const QList<double> &y_values);
38
40
41 const QList<double> &getKnots() const;
42
43 double evalSplineAt(double x_value) const;
44 double derivative(const double x_value) const;
45 double derivatives(const double x_value, unsigned order) const;
46
47 protected:
48 QString m_name = "prova";
49 QList<double> m_constCoeffs;
50 QList<double> m_linearCoeffs;
51 QList<double> m_quadraticCoeffs;
52 QList<double> m_cubicCoeffs;
53 QList<double> m_knots;
54};
55
56void spline_bisection(const CubicSplineModel &spline_model,
57 double const mz_at_left,
58 double const mz_at_right,
59 double &center_peak_mz,
60 double &center_peak_intensity,
61 double const threshold = 1e-6);
62
63} // namespace pappso
QList< double > m_quadraticCoeffs
void setup(const QList< double > &x_values, const QList< double > &y_values)
CubicSplineModel & operator=(const CubicSplineModel &other)
QList< double > m_linearCoeffs
double derivatives(const double x_value, unsigned order) const
double derivative(const double x_value) const
const QList< double > & getKnots() const
QList< double > m_cubicCoeffs
QList< double > m_constCoeffs
CubicSplineModel * clone(const CubicSplineModel &other)
double evalSplineAt(double x_value) const
#define PMSPP_LIB_DECL
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
void spline_bisection(const CubicSplineModel &spline_model, double const mz_at_left, double const mz_at_right, double &center_peak_mz, double &center_peak_intensity, double const threshold)