diff --git a/Device/Histo/IHistogram.cpp b/Device/Histo/IHistogram.cpp
index fc37205a696ea33b138a27acd6d656699a980eba..2402d02b4d0294d000c0d2ed144a094bd364ca7d 100644
--- a/Device/Histo/IHistogram.cpp
+++ b/Device/Histo/IHistogram.cpp
@@ -123,6 +123,16 @@ double IHistogram::getYaxisValue(size_t i)
     return m_data.getAxisValue(i, 1);
 }
 
+const OutputData<CumulativeValue>& IHistogram::getData() const
+{
+    return m_data;
+}
+
+OutputData<CumulativeValue>& IHistogram::getData()
+{
+    return m_data;
+}
+
 double IHistogram::getBinContent(size_t i) const
 {
     return m_data[i].getContent();
diff --git a/Device/Histo/IHistogram.h b/Device/Histo/IHistogram.h
index f27aeef472ca6ebcae599a105ce3f8fc8483cf53..614aeb55df9c37bca32dbcc7e34acf6bbbfdb37c 100644
--- a/Device/Histo/IHistogram.h
+++ b/Device/Histo/IHistogram.h
@@ -30,7 +30,7 @@ public:
 
     IHistogram();
     IHistogram(const IHistogram& other);
-    virtual ~IHistogram() {}
+    virtual ~IHistogram() = default;
 
     IHistogram(const IAxis& axis_x);
     IHistogram(const IAxis& axis_x, const IAxis& axis_y);
@@ -86,12 +86,12 @@ public:
     //! Returns the center of bin i of the y axis.
     double getYaxisValue(size_t i);
 
+    const OutputData<CumulativeValue>& getData() const;
+    OutputData<CumulativeValue>& getData();
+
     //! Returns content (accumulated value) of bin i.
     double getBinContent(size_t i) const;
 
-    const OutputData<CumulativeValue>& getData() const { return m_data; }
-    OutputData<CumulativeValue>& getData() { return m_data; }
-
     //! Returns content (accumulated value) of the 2D histogram bin.
     double getBinContent(size_t binx, size_t biny) const;
 
diff --git a/auto/Wrap/doxygenDevice.i b/auto/Wrap/doxygenDevice.i
index 540177c44a0de8c059ba77b6f2bfaa22c1c3939d..b72cfdd6285377a8a403c9746d6dff371db1ec29 100644
--- a/auto/Wrap/doxygenDevice.i
+++ b/auto/Wrap/doxygenDevice.i
@@ -1184,7 +1184,7 @@ C++ includes: IHistogram.h
 %feature("docstring")  IHistogram::IHistogram "IHistogram::IHistogram(const IHistogram &other)
 ";
 
-%feature("docstring")  IHistogram::~IHistogram "virtual IHistogram::~IHistogram()
+%feature("docstring")  IHistogram::~IHistogram "virtual IHistogram::~IHistogram()=default
 ";
 
 %feature("docstring")  IHistogram::IHistogram "IHistogram::IHistogram(const IAxis &axis_x)
@@ -1276,15 +1276,15 @@ Returns the center of bin i of the x axis.
 Returns the center of bin i of the y axis. 
 ";
 
-%feature("docstring")  IHistogram::getBinContent "double IHistogram::getBinContent(size_t i) const
-
-Returns content (accumulated value) of bin i. 
+%feature("docstring")  IHistogram::getData "const OutputData< CumulativeValue > & IHistogram::getData() const
 ";
 
-%feature("docstring")  IHistogram::getData "const OutputData<CumulativeValue>& IHistogram::getData() const
+%feature("docstring")  IHistogram::getData "OutputData< CumulativeValue > & IHistogram::getData()
 ";
 
-%feature("docstring")  IHistogram::getData "OutputData<CumulativeValue>& IHistogram::getData()
+%feature("docstring")  IHistogram::getBinContent "double IHistogram::getBinContent(size_t i) const
+
+Returns content (accumulated value) of bin i. 
 ";
 
 %feature("docstring")  IHistogram::getBinContent "double IHistogram::getBinContent(size_t binx, size_t biny) const
diff --git a/auto/Wrap/libBornAgainDevice.py b/auto/Wrap/libBornAgainDevice.py
index 4345258f590fc0fe7a008bc65225f3bac3168521..d099567a6641d090c9a8e13e3077cf5fe50a0144 100644
--- a/auto/Wrap/libBornAgainDevice.py
+++ b/auto/Wrap/libBornAgainDevice.py
@@ -5430,7 +5430,7 @@ class IHistogram(object):
         r"""
         getData(IHistogram self) -> OutputData< CumulativeValue > const
         getData(IHistogram self) -> OutputData< CumulativeValue > &
-        OutputData<CumulativeValue>& IHistogram::getData()
+        OutputData< CumulativeValue > & IHistogram::getData()
 
         """
         return _libBornAgainDevice.IHistogram_getData(self, *args)
diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp
index b35671b51cf8f7fdff329ef3b0626a0c201d8991..82a5cfbaa2cc9090bc78bb55da4991d95c490f36 100644
--- a/auto/Wrap/libBornAgainDevice_wrap.cpp
+++ b/auto/Wrap/libBornAgainDevice_wrap.cpp
@@ -41434,35 +41434,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_IHistogram_getBinContent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
-  PyObject *resultobj = 0;
-  IHistogram *arg1 = (IHistogram *) 0 ;
-  size_t arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  size_t val2 ;
-  int ecode2 = 0 ;
-  double result;
-  
-  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IHistogram, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IHistogram_getBinContent" "', argument " "1"" of type '" "IHistogram const *""'"); 
-  }
-  arg1 = reinterpret_cast< IHistogram * >(argp1);
-  ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IHistogram_getBinContent" "', argument " "2"" of type '" "size_t""'");
-  } 
-  arg2 = static_cast< size_t >(val2);
-  result = (double)((IHistogram const *)arg1)->getBinContent(arg2);
-  resultobj = SWIG_From_double(static_cast< double >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_IHistogram_getData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   IHistogram *arg1 = (IHistogram *) 0 ;
@@ -41541,6 +41512,35 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_IHistogram_getBinContent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
+  PyObject *resultobj = 0;
+  IHistogram *arg1 = (IHistogram *) 0 ;
+  size_t arg2 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  size_t val2 ;
+  int ecode2 = 0 ;
+  double result;
+  
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IHistogram, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IHistogram_getBinContent" "', argument " "1"" of type '" "IHistogram const *""'"); 
+  }
+  arg1 = reinterpret_cast< IHistogram * >(argp1);
+  ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IHistogram_getBinContent" "', argument " "2"" of type '" "size_t""'");
+  } 
+  arg2 = static_cast< size_t >(val2);
+  result = (double)((IHistogram const *)arg1)->getBinContent(arg2);
+  resultobj = SWIG_From_double(static_cast< double >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_IHistogram_getBinContent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   IHistogram *arg1 = (IHistogram *) 0 ;
@@ -48185,7 +48185,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "IsGISAXSDetector_swiginit", IsGISAXSDetector_swiginit, METH_VARARGS, NULL},
 	 { "delete_IHistogram", _wrap_delete_IHistogram, METH_O, "\n"
 		"delete_IHistogram(IHistogram self)\n"
-		"virtual IHistogram::~IHistogram()\n"
+		"virtual IHistogram::~IHistogram()=default\n"
 		"\n"
 		""},
 	 { "IHistogram_clone", _wrap_IHistogram_clone, METH_O, "\n"
@@ -48308,7 +48308,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "IHistogram_getData", _wrap_IHistogram_getData, METH_VARARGS, "\n"
 		"IHistogram_getData(IHistogram self) -> OutputData< CumulativeValue > const\n"
 		"IHistogram_getData(IHistogram self) -> OutputData< CumulativeValue > &\n"
-		"OutputData<CumulativeValue>& IHistogram::getData()\n"
+		"OutputData< CumulativeValue > & IHistogram::getData()\n"
 		"\n"
 		""},
 	 { "IHistogram_getBinContent", _wrap_IHistogram_getBinContent, METH_VARARGS, "\n"