From 35bac489e8bff070377b84e9d03ddbea4726b80f Mon Sep 17 00:00:00 2001
From: Joachim Wuttke <j.wuttke@fz-juelich.de>
Date: Fri, 7 Jul 2023 16:48:45 +0200
Subject: [PATCH] rm SimRes

---
 Device/Data/Datafield.cpp                     |   9 ++
 Device/Data/Datafield.h                       |   4 +
 Device/Histo/SimulationResult.cpp             |  47 ------
 Device/Histo/SimulationResult.h               |  44 -----
 Device/{Histo => IO}/DiffUtil.cpp             |   4 +-
 Device/{Histo => IO}/DiffUtil.h               |   8 +-
 Device/IO/IOFactory.cpp                       |   2 +-
 .../PlotComparison/FitComparisonWidget.cpp    |   2 +-
 .../PlotComparison/FitComparisonWidget1D.cpp  |   2 +-
 .../Consistence/CompareTwoReferences.cpp      |   2 +-
 .../Functional/CoreSpecial/CoreIOPathTest.cpp |   2 +-
 .../CoreSpecial/FourierTransformationTest.cpp |   2 +-
 Tests/Suite/GUI/Check.cpp                     |   2 +-
 Tests/Suite/Persist/Check.cpp                 |   2 +-
 Tests/Suite/Py/Check.cpp                      |   2 +-
 Tests/Unit/GUI/Utils.cpp                      |   2 +-
 Wrap/Swig/libBornAgainDevice.i                |   4 +-
 auto/Wrap/libBornAgainDevice.py               |  20 +--
 auto/Wrap/libBornAgainDevice_wrap.cpp         | 153 +++++++-----------
 19 files changed, 100 insertions(+), 213 deletions(-)
 delete mode 100644 Device/Histo/SimulationResult.cpp
 delete mode 100644 Device/Histo/SimulationResult.h
 rename Device/{Histo => IO}/DiffUtil.cpp (98%)
 rename Device/{Histo => IO}/DiffUtil.h (89%)

diff --git a/Device/Data/Datafield.cpp b/Device/Data/Datafield.cpp
index 2c8b5fcb333..14dda90a8b3 100644
--- a/Device/Data/Datafield.cpp
+++ b/Device/Data/Datafield.cpp
@@ -311,3 +311,12 @@ Datafield* Datafield::create_yProjection(int xbinlow, int xbinup) const
     }
     return new Datafield({yAxis().clone()}, out);
 }
+
+void Datafield::setTitle(const std::string& title)
+{
+    m_title = title;
+}
+std::string Datafield::title()
+{
+    return m_title;
+}
diff --git a/Device/Data/Datafield.h b/Device/Data/Datafield.h
index b47438f97c1..ba139780360 100644
--- a/Device/Data/Datafield.h
+++ b/Device/Data/Datafield.h
@@ -113,6 +113,9 @@ public:
     //! @param xup upper edje on x-axis
     Datafield* yProjection(double xlow, double xup) const;
 
+    void setTitle(const std::string& title);
+    std::string title();
+
 #ifndef SWIG
     double& operator[](size_t i);
     const double& operator[](size_t i) const;
@@ -131,6 +134,7 @@ private:
     std::unique_ptr<const Frame> m_frame;
     std::vector<double> m_values;
     std::vector<double> m_errSigmas;
+    std::string m_title;
 
     //! Creates projection along X. The projections is made by collecting the data in the range
     //! between [ybinlow, ybinup].
diff --git a/Device/Histo/SimulationResult.cpp b/Device/Histo/SimulationResult.cpp
deleted file mode 100644
index 0566c43b782..00000000000
--- a/Device/Histo/SimulationResult.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  ************************************************************************************************
-//
-//  BornAgain: simulate and fit reflection and scattering
-//
-//! @file      Device/Histo/SimulationResult.cpp
-//! @brief     Implements class SimulationResult.
-//!
-//! @homepage  http://www.bornagainproject.org
-//! @license   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2018
-//! @authors   Scientific Computing Group at MLZ (see CITATION, AUTHORS)
-//
-//  ************************************************************************************************
-
-#include "Device/Histo/SimulationResult.h"
-#include "Base/Axis/Frame.h"
-#include "Base/Axis/Scale.h"
-#include "Base/Util/Assert.h"
-
-SimulationResult::SimulationResult(const Datafield& data)
-    : Datafield(data)
-{
-}
-
-SimulationResult::SimulationResult(const SimulationResult& other)
-    : Datafield(other.frame().clone(), other.flatVector(), other.errorSigmas())
-    , m_title(other.m_title)
-{
-}
-
-SimulationResult::SimulationResult(SimulationResult&& other) noexcept = default;
-
-SimulationResult::~SimulationResult() = default;
-
-Datafield SimulationResult::extracted_field() const
-{
-    return Datafield(frame().clonedAxes(), flatVector());
-}
-
-void SimulationResult::setTitle(const std::string& title)
-{
-    m_title = title;
-}
-std::string SimulationResult::title()
-{
-    return m_title;
-}
diff --git a/Device/Histo/SimulationResult.h b/Device/Histo/SimulationResult.h
deleted file mode 100644
index 32b5c55a0e2..00000000000
--- a/Device/Histo/SimulationResult.h
+++ /dev/null
@@ -1,44 +0,0 @@
-//  ************************************************************************************************
-//
-//  BornAgain: simulate and fit reflection and scattering
-//
-//! @file      Device/Histo/SimulationResult.h
-//! @brief     Defines class SimulationResult.
-//!
-//! @homepage  http://www.bornagainproject.org
-//! @license   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2018
-//! @authors   Scientific Computing Group at MLZ (see CITATION, AUTHORS)
-//
-//  ************************************************************************************************
-
-#ifndef BORNAGAIN_DEVICE_HISTO_SIMULATIONRESULT_H
-#define BORNAGAIN_DEVICE_HISTO_SIMULATIONRESULT_H
-
-#include "Device/Data/Datafield.h"
-#include <string>
-
-class Frame;
-
-//! Wrapper around Datafield that also provides unit conversions.
-
-class SimulationResult : public Datafield {
-public:
-    SimulationResult(const Datafield& data);
-
-    SimulationResult(const SimulationResult& other);
-    SimulationResult(SimulationResult&& other) noexcept;
-    ~SimulationResult() override;
-
-    Datafield extracted_field() const;
-
-    void setTitle(const std::string& title);
-    std::string title();
-
-#ifndef SWIG
-private:
-    std::string m_title;
-#endif // SWIG
-};
-
-#endif // BORNAGAIN_DEVICE_HISTO_SIMULATIONRESULT_H
diff --git a/Device/Histo/DiffUtil.cpp b/Device/IO/DiffUtil.cpp
similarity index 98%
rename from Device/Histo/DiffUtil.cpp
rename to Device/IO/DiffUtil.cpp
index a4c254dbf34..a1357e1643b 100644
--- a/Device/Histo/DiffUtil.cpp
+++ b/Device/IO/DiffUtil.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Device/Histo/DiffUtil.cpp
+//! @file      Device/IO/DiffUtil.cpp
 //! @brief     Implements namespace DataUtil.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Base/Axis/Frame.h"
 #include "Base/Axis/Scale.h"
 #include "Base/Math/Numeric.h"
diff --git a/Device/Histo/DiffUtil.h b/Device/IO/DiffUtil.h
similarity index 89%
rename from Device/Histo/DiffUtil.h
rename to Device/IO/DiffUtil.h
index eda4c13a82a..f8dfc2265d9 100644
--- a/Device/Histo/DiffUtil.h
+++ b/Device/IO/DiffUtil.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Device/Histo/DiffUtil.h
+//! @file      Device/IO/DiffUtil.h
 //! @brief     Defines namespace DataUtil.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_DEVICE_HISTO_DIFFUTIL_H
-#define BORNAGAIN_DEVICE_HISTO_DIFFUTIL_H
+#ifndef BORNAGAIN_DEVICE_IO_DIFFUTIL_H
+#define BORNAGAIN_DEVICE_IO_DIFFUTIL_H
 
 #include <memory>
 #include <vector>
@@ -38,4 +38,4 @@ bool checkRelativeDifference(const std::vector<double>& dat, const std::vector<d
                              double threshold);
 } // namespace DiffUtil
 
-#endif // BORNAGAIN_DEVICE_HISTO_DIFFUTIL_H
+#endif // BORNAGAIN_DEVICE_IO_DIFFUTIL_H
diff --git a/Device/IO/IOFactory.cpp b/Device/IO/IOFactory.cpp
index 12672aa5ec3..a1df203996f 100644
--- a/Device/IO/IOFactory.cpp
+++ b/Device/IO/IOFactory.cpp
@@ -17,7 +17,7 @@
 #include "Base/Util/PathUtil.h"
 #include "Base/Util/StringUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/Histo/SimulationResult.h"
 #include "Device/IO/ImportSettings.h"
 #include "Device/IO/ParseUtil.h"
diff --git a/GUI/View/PlotComparison/FitComparisonWidget.cpp b/GUI/View/PlotComparison/FitComparisonWidget.cpp
index 4a3767d4f17..9b1770a8695 100644
--- a/GUI/View/PlotComparison/FitComparisonWidget.cpp
+++ b/GUI/View/PlotComparison/FitComparisonWidget.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/PlotComparison/FitComparisonWidget.h"
 #include "Base/Util/Assert.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "GUI/Model/Axis/BasicAxisItem.h"
 #include "GUI/Model/Data/IntensityDataItem.h"
 #include "GUI/Model/Data/SpecularDataItem.h"
diff --git a/GUI/View/PlotComparison/FitComparisonWidget1D.cpp b/GUI/View/PlotComparison/FitComparisonWidget1D.cpp
index e9de953ecef..f59b3fa5f97 100644
--- a/GUI/View/PlotComparison/FitComparisonWidget1D.cpp
+++ b/GUI/View/PlotComparison/FitComparisonWidget1D.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/PlotComparison/FitComparisonWidget1D.h"
 #include "Base/Util/Assert.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "GUI/Model/Axis/AmplitudeAxisItem.h"
 #include "GUI/Model/Axis/BasicAxisItem.h"
 #include "GUI/Model/Data/SpecularDataItem.h"
diff --git a/Tests/Functional/Consistence/CompareTwoReferences.cpp b/Tests/Functional/Consistence/CompareTwoReferences.cpp
index b2a8632d431..a505d8fa3a7 100644
--- a/Tests/Functional/Consistence/CompareTwoReferences.cpp
+++ b/Tests/Functional/Consistence/CompareTwoReferences.cpp
@@ -16,7 +16,7 @@
 #include "Base/Util/Assert.h"
 #include "Base/Util/PathUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/IO/IOFactory.h"
 #include <iostream>
 #include <memory>
diff --git a/Tests/Functional/CoreSpecial/CoreIOPathTest.cpp b/Tests/Functional/CoreSpecial/CoreIOPathTest.cpp
index dde1d37d22f..2f81fc279ac 100644
--- a/Tests/Functional/CoreSpecial/CoreIOPathTest.cpp
+++ b/Tests/Functional/CoreSpecial/CoreIOPathTest.cpp
@@ -16,7 +16,7 @@
 #include "Base/Axis/MakeScale.h"
 #include "Base/Util/PathUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/IO/IOFactory.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <filesystem>
diff --git a/Tests/Functional/CoreSpecial/FourierTransformationTest.cpp b/Tests/Functional/CoreSpecial/FourierTransformationTest.cpp
index 3922a1966e8..5b00aaafc92 100644
--- a/Tests/Functional/CoreSpecial/FourierTransformationTest.cpp
+++ b/Tests/Functional/CoreSpecial/FourierTransformationTest.cpp
@@ -16,7 +16,7 @@
 #include "Base/Util/PathUtil.h"
 #include "Device/Data/DataUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/IO/IOFactory.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <iostream>
diff --git a/Tests/Suite/GUI/Check.cpp b/Tests/Suite/GUI/Check.cpp
index 5c82261359b..faf3e5c7009 100644
--- a/Tests/Suite/GUI/Check.cpp
+++ b/Tests/Suite/GUI/Check.cpp
@@ -16,7 +16,7 @@
 #include "BATesting.h"
 #include "Base/Util/PathUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/Histo/SimulationResult.h"
 #include "Device/IO/IOFactory.h"
 #include "GUI/Model/Device/InstrumentModel.h"
diff --git a/Tests/Suite/Persist/Check.cpp b/Tests/Suite/Persist/Check.cpp
index 7280932af78..fef12769683 100644
--- a/Tests/Suite/Persist/Check.cpp
+++ b/Tests/Suite/Persist/Check.cpp
@@ -17,7 +17,7 @@
 #include "Base/Util/Assert.h"
 #include "Base/Util/PathUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/Histo/SimulationResult.h"
 #include "Device/IO/IOFactory.h"
 #include "Sim/Simulation/ISimulation.h"
diff --git a/Tests/Suite/Py/Check.cpp b/Tests/Suite/Py/Check.cpp
index 14b80a3ed85..e6433bf845f 100644
--- a/Tests/Suite/Py/Check.cpp
+++ b/Tests/Suite/Py/Check.cpp
@@ -16,7 +16,7 @@
 #include "BATesting.h"
 #include "Base/Util/PathUtil.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/Histo/SimulationResult.h"
 #include "Device/IO/IOFactory.h"
 #include "Sim/Export/ExportToPython.h"
diff --git a/Tests/Unit/GUI/Utils.cpp b/Tests/Unit/GUI/Utils.cpp
index bba2462e2ad..7d34db9481b 100644
--- a/Tests/Unit/GUI/Utils.cpp
+++ b/Tests/Unit/GUI/Utils.cpp
@@ -15,7 +15,7 @@
 #include "Tests/Unit/GUI/Utils.h"
 #include "Base/Axis/MakeScale.h"
 #include "Device/Data/Datafield.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/IO/IOFactory.h"
 #include "GUI/Model/Data/DataItem.h"
 #include "GUI/Model/Device/RealItem.h"
diff --git a/Wrap/Swig/libBornAgainDevice.i b/Wrap/Swig/libBornAgainDevice.i
index 602ce32e99b..5b770cace8a 100644
--- a/Wrap/Swig/libBornAgainDevice.i
+++ b/Wrap/Swig/libBornAgainDevice.i
@@ -26,7 +26,7 @@
 #include "Device/Beam/FootprintGauss.h"
 #include "Device/Beam/FootprintSquare.h"
 #include "Device/Data/DataUtil.h"
-#include "Device/Histo/DiffUtil.h"
+#include "Device/IO/DiffUtil.h"
 #include "Device/Histo/SimulationResult.h"
 #include "Device/Detector/RectangularDetector.h"
 #include "Device/Detector/OffspecDetector.h"
@@ -51,7 +51,7 @@
 %include "fromParam.i"
 
 %include "Device/Data/Datafield.h"
-%include "Device/Histo/DiffUtil.h"
+%include "Device/IO/DiffUtil.h"
 %include "Device/Data/DataUtil.h"
 
 %include "Device/Beam/Beam.h"
diff --git a/auto/Wrap/libBornAgainDevice.py b/auto/Wrap/libBornAgainDevice.py
index 93d4405183d..d1a5e2a2483 100644
--- a/auto/Wrap/libBornAgainDevice.py
+++ b/auto/Wrap/libBornAgainDevice.py
@@ -2132,6 +2132,14 @@ class Datafield(object):
         """
         return _libBornAgainDevice.Datafield_yProjection(self, *args)
 
+    def setTitle(self, title):
+        r"""setTitle(Datafield self, std::string const & title)"""
+        return _libBornAgainDevice.Datafield_setTitle(self, title)
+
+    def title(self):
+        r"""title(Datafield self) -> std::string"""
+        return _libBornAgainDevice.Datafield_title(self)
+
 # Register Datafield in _libBornAgainDevice:
 _libBornAgainDevice.Datafield_swigregister(Datafield)
 
@@ -3053,17 +3061,5 @@ class SimulationResult(Datafield):
         r"""extracted_field(SimulationResult self) -> Datafield"""
         return _libBornAgainDevice.SimulationResult_extracted_field(self)
 
-    def axisMinMax(self, i):
-        r"""axisMinMax(SimulationResult self, size_t i) -> pvacuum_double_t"""
-        return _libBornAgainDevice.SimulationResult_axisMinMax(self, i)
-
-    def setTitle(self, title):
-        r"""setTitle(SimulationResult self, std::string const & title)"""
-        return _libBornAgainDevice.SimulationResult_setTitle(self, title)
-
-    def title(self):
-        r"""title(SimulationResult self) -> std::string"""
-        return _libBornAgainDevice.SimulationResult_title(self)
-
 # Register SimulationResult in _libBornAgainDevice:
 _libBornAgainDevice.SimulationResult_swigregister(SimulationResult)
diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp
index 2774da0e417..cc3b6f329a7 100644
--- a/auto/Wrap/libBornAgainDevice_wrap.cpp
+++ b/auto/Wrap/libBornAgainDevice_wrap.cpp
@@ -28641,6 +28641,65 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_Datafield_setTitle(PyObject *self, PyObject *args) {
+  PyObject *resultobj = 0;
+  Datafield *arg1 = (Datafield *) 0 ;
+  std::string *arg2 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  int res2 = SWIG_OLDOBJ ;
+  PyObject *swig_obj[2] ;
+  
+  if (!SWIG_Python_UnpackTuple(args, "Datafield_setTitle", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Datafield, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Datafield_setTitle" "', argument " "1"" of type '" "Datafield *""'"); 
+  }
+  arg1 = reinterpret_cast< Datafield * >(argp1);
+  {
+    std::string *ptr = (std::string *)0;
+    res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr);
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Datafield_setTitle" "', argument " "2"" of type '" "std::string const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Datafield_setTitle" "', argument " "2"" of type '" "std::string const &""'"); 
+    }
+    arg2 = ptr;
+  }
+  (arg1)->setTitle((std::string const &)*arg2);
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res2)) delete arg2;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res2)) delete arg2;
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Datafield_title(PyObject *self, PyObject *args) {
+  PyObject *resultobj = 0;
+  Datafield *arg1 = (Datafield *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  std::string result;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Datafield, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Datafield_title" "', argument " "1"" of type '" "Datafield *""'"); 
+  }
+  arg1 = reinterpret_cast< Datafield * >(argp1);
+  result = (arg1)->title();
+  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *Datafield_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
@@ -37097,95 +37156,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SimulationResult_axisMinMax(PyObject *self, PyObject *args) {
-  PyObject *resultobj = 0;
-  SimulationResult *arg1 = (SimulationResult *) 0 ;
-  size_t arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  size_t val2 ;
-  int ecode2 = 0 ;
-  PyObject *swig_obj[2] ;
-  std::pair< double,double > result;
-  
-  if (!SWIG_Python_UnpackTuple(args, "SimulationResult_axisMinMax", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SimulationResult, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SimulationResult_axisMinMax" "', argument " "1"" of type '" "SimulationResult const *""'"); 
-  }
-  arg1 = reinterpret_cast< SimulationResult * >(argp1);
-  ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SimulationResult_axisMinMax" "', argument " "2"" of type '" "size_t""'");
-  } 
-  arg2 = static_cast< size_t >(val2);
-  result = ((SimulationResult const *)arg1)->axisMinMax(arg2);
-  resultobj = swig::from(static_cast< std::pair< double,double > >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_SimulationResult_setTitle(PyObject *self, PyObject *args) {
-  PyObject *resultobj = 0;
-  SimulationResult *arg1 = (SimulationResult *) 0 ;
-  std::string *arg2 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  int res2 = SWIG_OLDOBJ ;
-  PyObject *swig_obj[2] ;
-  
-  if (!SWIG_Python_UnpackTuple(args, "SimulationResult_setTitle", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SimulationResult, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SimulationResult_setTitle" "', argument " "1"" of type '" "SimulationResult *""'"); 
-  }
-  arg1 = reinterpret_cast< SimulationResult * >(argp1);
-  {
-    std::string *ptr = (std::string *)0;
-    res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr);
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SimulationResult_setTitle" "', argument " "2"" of type '" "std::string const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SimulationResult_setTitle" "', argument " "2"" of type '" "std::string const &""'"); 
-    }
-    arg2 = ptr;
-  }
-  (arg1)->setTitle((std::string const &)*arg2);
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res2)) delete arg2;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res2)) delete arg2;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_SimulationResult_title(PyObject *self, PyObject *args) {
-  PyObject *resultobj = 0;
-  SimulationResult *arg1 = (SimulationResult *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  std::string result;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SimulationResult, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SimulationResult_title" "', argument " "1"" of type '" "SimulationResult *""'"); 
-  }
-  arg1 = reinterpret_cast< SimulationResult * >(argp1);
-  result = (arg1)->title();
-  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *SimulationResult_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
@@ -37925,6 +37895,8 @@ static PyMethodDef SwigMethods[] = {
 		"Datafield_yProjection(Datafield self, double xvalue) -> Datafield\n"
 		"Datafield_yProjection(Datafield self, double xlow, double xup) -> Datafield\n"
 		""},
+	 { "Datafield_setTitle", _wrap_Datafield_setTitle, METH_VARARGS, "Datafield_setTitle(Datafield self, std::string const & title)"},
+	 { "Datafield_title", _wrap_Datafield_title, METH_O, "Datafield_title(Datafield self) -> std::string"},
 	 { "Datafield_swigregister", Datafield_swigregister, METH_O, NULL},
 	 { "Datafield_swiginit", Datafield_swiginit, METH_VARARGS, NULL},
 	 { "meanRelVecDiff", _wrap_meanRelVecDiff, METH_VARARGS, "meanRelVecDiff(vdouble1d_t dat, vdouble1d_t ref) -> double"},
@@ -38201,9 +38173,6 @@ static PyMethodDef SwigMethods[] = {
 		""},
 	 { "delete_SimulationResult", _wrap_delete_SimulationResult, METH_O, "delete_SimulationResult(SimulationResult self)"},
 	 { "SimulationResult_extracted_field", _wrap_SimulationResult_extracted_field, METH_O, "SimulationResult_extracted_field(SimulationResult self) -> Datafield"},
-	 { "SimulationResult_axisMinMax", _wrap_SimulationResult_axisMinMax, METH_VARARGS, "SimulationResult_axisMinMax(SimulationResult self, size_t i) -> pvacuum_double_t"},
-	 { "SimulationResult_setTitle", _wrap_SimulationResult_setTitle, METH_VARARGS, "SimulationResult_setTitle(SimulationResult self, std::string const & title)"},
-	 { "SimulationResult_title", _wrap_SimulationResult_title, METH_O, "SimulationResult_title(SimulationResult self) -> std::string"},
 	 { "SimulationResult_swigregister", SimulationResult_swigregister, METH_O, NULL},
 	 { "SimulationResult_swiginit", SimulationResult_swiginit, METH_VARARGS, NULL},
 	 { NULL, NULL, 0, NULL }
-- 
GitLab