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