Skip to content
Snippets Groups Projects
Commit 9f0936e1 authored by Matthias Puchner's avatar Matthias Puchner
Browse files

complete FTDecayFunctions' serialization

parent 3be0d1de
No related branches found
No related tags found
1 merge request!573Sample item serialization
......@@ -14,6 +14,7 @@
#include "GUI/Model/Sample/FTDecayFunctionItems.h"
#include "Base/Const/Units.h"
#include "GUI/Model/Session/Serializer.h"
#include <QList>
// --------------------------------------------------------------------------------------------- //
......@@ -24,6 +25,12 @@ FTDecayFunction1DItem::FTDecayFunction1DItem()
Unit::nanometer, "decay");
}
void FTDecayFunction1DItem::serialize(Serializer& s)
{
s.assertVersion(0);
s.rw(m_decayLength);
}
DoubleDescriptor FTDecayFunction1DItem::decayLength() const
{
return m_decayLength;
......@@ -68,6 +75,13 @@ std::unique_ptr<IFTDecayFunction1D> FTDecayFunction1DVoigtItem::createFTDecayFun
return std::make_unique<FTDecayFunction1DVoigt>(decayLength(), m_eta);
}
void FTDecayFunction1DVoigtItem::serialize(Serializer& s)
{
s.assertVersion(0);
s.rw(m_decayLength);
s.rw(m_eta);
}
DoubleDescriptor FTDecayFunction1DVoigtItem::eta() const
{
return m_eta;
......@@ -94,6 +108,14 @@ FTDecayFunction2DItem::FTDecayFunction2DItem()
Unit::degree, "gamma");
}
void FTDecayFunction2DItem::serialize(Serializer& s)
{
s.assertVersion(0);
s.rw(m_decayLengthX);
s.rw(m_decayLengthY);
s.rw(m_gamma);
}
DoubleDescriptor FTDecayFunction2DItem::decayLengthX() const
{
return m_decayLengthX;
......@@ -159,6 +181,15 @@ std::unique_ptr<IFTDecayFunction2D> FTDecayFunction2DVoigtItem::createFTDecayFun
Units::deg2rad(gamma()));
}
void FTDecayFunction2DVoigtItem::serialize(Serializer& s)
{
s.assertVersion(0);
s.rw(m_decayLengthX);
s.rw(m_decayLengthY);
s.rw(m_gamma);
s.rw(m_eta);
}
void FTDecayFunction2DVoigtItem::setEta(const double eta)
{
m_eta.set(eta);
......
......@@ -21,10 +21,13 @@
#include "Sample/Correlations/FTDecay2D.h"
#include <memory>
class Serializer;
class FTDecayFunction1DItem {
public:
virtual ~FTDecayFunction1DItem() = default;
virtual std::unique_ptr<IFTDecayFunction1D> createFTDecayFunction() const = 0;
virtual void serialize(Serializer& s);
DoubleDescriptor decayLength() const;
virtual DoubleDescriptors valueDescriptors() const;
......@@ -53,6 +56,7 @@ class FTDecayFunction1DVoigtItem : public FTDecayFunction1DItem {
public:
FTDecayFunction1DVoigtItem();
std::unique_ptr<IFTDecayFunction1D> createFTDecayFunction() const override;
void serialize(Serializer& s) override;
DoubleDescriptor eta() const;
DoubleDescriptors valueDescriptors() const override;
......@@ -67,6 +71,7 @@ class FTDecayFunction2DItem {
public:
virtual ~FTDecayFunction2DItem() = default;
virtual std::unique_ptr<IFTDecayFunction2D> createFTDecayFunction() const = 0;
virtual void serialize(Serializer& s);
DoubleDescriptor decayLengthX() const;
void setDecayLengthX(double decay_length_x);
......@@ -101,6 +106,7 @@ class FTDecayFunction2DVoigtItem : public FTDecayFunction2DItem {
public:
FTDecayFunction2DVoigtItem();
std::unique_ptr<IFTDecayFunction2D> createFTDecayFunction() const override;
void serialize(Serializer& s) override;
void setEta(double eta);
DoubleDescriptor eta() const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment