diff --git a/GUI/Model/Sample/FTDecayFunctionItems.cpp b/GUI/Model/Sample/FTDecayFunctionItems.cpp index fcf4001067f498ad7dfb2b4a8bc5ddea408b36cb..740aea9b4dc9bf81a82d327b47cccba8d7dca98a 100644 --- a/GUI/Model/Sample/FTDecayFunctionItems.cpp +++ b/GUI/Model/Sample/FTDecayFunctionItems.cpp @@ -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); diff --git a/GUI/Model/Sample/FTDecayFunctionItems.h b/GUI/Model/Sample/FTDecayFunctionItems.h index c7525cfec608e115fde6f516550a453a8385f0de..ab79420c147b87d08de9187ad39995b9b554e587 100644 --- a/GUI/Model/Sample/FTDecayFunctionItems.h +++ b/GUI/Model/Sample/FTDecayFunctionItems.h @@ -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;