diff --git a/Base/Axis/Frame.cpp b/Base/Axis/Frame.cpp
index a0be8e6bc83fc715fe0b86faf3ffaa3f0433634a..77a7bbad88bfbcc08f604f376c88fab63dbfe2f1 100644
--- a/Base/Axis/Frame.cpp
+++ b/Base/Axis/Frame.cpp
@@ -25,11 +25,6 @@ Frame::Frame(const std::vector<IAxis*>& axes)
         m_size *= axis(k).size();
 }
 
-const IAxis& Frame::axis(size_t k_axis) const
-{
-    return *m_axes[k_axis];
-}
-
 size_t Frame::projectedSize(size_t k_axis) const
 {
     return m_axes[k_axis]->size();
diff --git a/Base/Axis/Frame.h b/Base/Axis/Frame.h
index 9c8a0f45253e15f3280291b73e2ce6b072364b55..831c642ff6d52a1d1f49a60069dc5641c7667ebe 100644
--- a/Base/Axis/Frame.h
+++ b/Base/Axis/Frame.h
@@ -39,8 +39,11 @@ public:
     //! Returns number of bins along axis.
     size_t projectedSize(size_t k_axis) const;
 
+    //! Returns cloned axes.
+    std::vector<IAxis*> cloned_axes() const { return m_axes.cloned_vector(); }
+
     //! Returns axis with given serial number
-    const IAxis& axis(size_t k_axis) const;
+    const IAxis& axis(size_t k_axis) const { return *m_axes[k_axis]; }
 
     //! Returns the value of selected axis for given i_flat.
     //! @param i_flat The global index of this data structure.
@@ -70,8 +73,6 @@ public:
     //! @return Closest global index
     size_t findGlobalIndex(const std::vector<double>& coordinates) const;
 
-    std::vector<IAxis*> cloned_axes() const { return m_axes.cloned_vector(); }
-
     //! Returns true if both Frame%s have same rank, and all axes have same sizes.
     bool hasSameSizes(const Frame&) const;
 
diff --git a/Device/Histo/Histogram1D.cpp b/Device/Histo/Histogram1D.cpp
index eaf40640d4cd5377eae8eefcfe8bf6e7c736cceb..9c6842d0c5187040c011c56e676d68199ef1ea31 100644
--- a/Device/Histo/Histogram1D.cpp
+++ b/Device/Histo/Histogram1D.cpp
@@ -25,11 +25,6 @@ Histogram1D::Histogram1D(const Powerfield<double>& data)
 {
 }
 
-Histogram1D::Histogram1D(Powerfield<CumulativeValue>* data)
-    : IHistogram(data)
-{
-}
-
 Histogram1D* Histogram1D::clone() const
 {
     return new Histogram1D(*this);
@@ -73,12 +68,12 @@ Histogram1D* Histogram1D::crop(double xmin, double xmax)
 {
     const std::unique_ptr<IAxis> xaxis{xAxis().clone()};
     xaxis->clip(xmin, xmax);
-    auto out = new Powerfield<CumulativeValue>(*xaxis);
+    std::vector<CumulativeValue> out(m_frame->size());
     size_t iout = 0;
     for (size_t i = 0; i < m_frame->size(); ++i) {
         const double x = m_frame->projectedCoord(i, 0);
         if (xaxis->contains(x))
-            (*out)[iout++] = m_vec[i];
+            out[iout++] = m_vec[i];
     }
-    return new Histogram1D(out);
+    return new Histogram1D(m_frame->cloned_axes(), out);
 }
diff --git a/Device/Histo/Histogram1D.h b/Device/Histo/Histogram1D.h
index 8013ed284b5ac56cd67ca2a7e88ba450db1ccaea..41af31bbabbb7b44ad993d3f772333f935c5ac54 100644
--- a/Device/Histo/Histogram1D.h
+++ b/Device/Histo/Histogram1D.h
@@ -25,7 +25,8 @@ public:
     //! Constructor for 1D histograms from basic Powerfield object
     Histogram1D(const Powerfield<double>& data);
 
-    Histogram1D(Powerfield<CumulativeValue>* data);
+    Histogram1D(std::vector<IAxis*> axes, const std::vector<CumulativeValue>& data)
+        : IHistogram(axes, data) {}
 
     //! Returns clone of histogram
     Histogram1D* clone() const override;
diff --git a/Device/Histo/Histogram2D.cpp b/Device/Histo/Histogram2D.cpp
index 608101477945847d213b715b98f805893252f98d..30dbb1734e8ce2f743bcd00e7178ef6fe58f5656 100644
--- a/Device/Histo/Histogram2D.cpp
+++ b/Device/Histo/Histogram2D.cpp
@@ -24,11 +24,6 @@ Histogram2D::Histogram2D(const Powerfield<double>& data)
 {
 }
 
-Histogram2D::Histogram2D(Powerfield<CumulativeValue>* data)
-    : IHistogram(data)
-{
-}
-
 Histogram2D* Histogram2D::clone() const
 {
     return new Histogram2D(*this);
@@ -70,24 +65,6 @@ Histogram1D* Histogram2D::projectionY(double xlow, double xup)
     return create_projectionY(xbinlow, xbinup);
 }
 
-Histogram2D* Histogram2D::crop(double xmin, double ymin, double xmax, double ymax)
-{
-    const std::unique_ptr<IAxis> xaxis{xAxis().clone()};
-    const std::unique_ptr<IAxis> yaxis{yAxis().clone()};
-    xaxis->clip(xmin, xmax);
-    yaxis->clip(ymin, ymax);
-
-    auto* out = new Powerfield<CumulativeValue>(*xaxis, *yaxis);
-    size_t iout = 0;
-    for (size_t i_flat = 0; i_flat < m_frame->size(); ++i_flat) {
-        double x = m_frame->projectedCoord(i_flat, 0);
-        double y = m_frame->projectedCoord(i_flat, 1);
-        if (xaxis->contains(x) && yaxis->contains(y))
-            (*out)[iout++] = m_vec[i_flat];
-    }
-    return new Histogram2D(out);
-}
-
 Histogram1D* Histogram2D::create_projectionX(int ybinlow, int ybinup)
 {
     Powerfield<double> out(this->xAxis());
@@ -126,3 +103,21 @@ Histogram1D* Histogram2D::create_projectionY(int xbinlow, int xbinup)
 
     return new Histogram1D(out);
 }
+
+Histogram2D* Histogram2D::crop(double xmin, double ymin, double xmax, double ymax)
+{
+    const std::unique_ptr<IAxis> xaxis{xAxis().clone()};
+    const std::unique_ptr<IAxis> yaxis{yAxis().clone()};
+    xaxis->clip(xmin, xmax);
+    yaxis->clip(ymin, ymax);
+
+    std::vector<CumulativeValue> out(m_frame->size());
+    size_t iout = 0;
+    for (size_t i_flat = 0; i_flat < m_frame->size(); ++i_flat) {
+        double x = m_frame->projectedCoord(i_flat, 0);
+        double y = m_frame->projectedCoord(i_flat, 1);
+        if (xaxis->contains(x) && yaxis->contains(y))
+            out[iout++] = m_vec[i_flat];
+    }
+    return new Histogram2D(m_frame->cloned_axes(), out);
+}
diff --git a/Device/Histo/Histogram2D.h b/Device/Histo/Histogram2D.h
index 98761b036d1af63c4398836defbb9846ae9b8f4c..7fd59992d377911c5aad1a5914cf02395d2825cf 100644
--- a/Device/Histo/Histogram2D.h
+++ b/Device/Histo/Histogram2D.h
@@ -26,7 +26,8 @@ public:
     //! Constructor for 2D histograms from basic Powerfield object
     Histogram2D(const Powerfield<double>& data);
 
-    Histogram2D(Powerfield<CumulativeValue>* data);
+    Histogram2D(std::vector<IAxis*> axes, const std::vector<CumulativeValue>& data)
+        : IHistogram(axes, data) {}
 
     //! Returns clone of histogram
     Histogram2D* clone() const override;
diff --git a/Device/Histo/IHistogram.cpp b/Device/Histo/IHistogram.cpp
index 3861a9ada46f5e3cda5e9d5e691ce69dcdd5d8db..3ea0ed806b099702834ad582ce34f77f4ce005d8 100644
--- a/Device/Histo/IHistogram.cpp
+++ b/Device/Histo/IHistogram.cpp
@@ -45,10 +45,14 @@ IHistogram::IHistogram(const IAxis& axis_x, const IAxis& axis_y)
 {
 }
 
-IHistogram::IHistogram(Powerfield<CumulativeValue>* data)
-    : m_frame(new Frame(data->cloned_axes()))
+IHistogram::IHistogram(std::vector<IAxis*> axes, const std::vector<CumulativeValue>& data)
+    : m_frame(new Frame(axes))
     , m_vec(m_frame->size())
 {
+    ASSERT(m_frame->size() == data.size());
+    m_vec.resize(m_frame->size());
+    for (size_t i = 0; i < m_frame->size(); ++i)
+        m_vec[i] = data[i];
 }
 
 IHistogram::~IHistogram() = default;
diff --git a/Device/Histo/IHistogram.h b/Device/Histo/IHistogram.h
index f71d7e6913aca54b65ab8134146135ad1fa3c242..c0b2ecd2a04e2f1f4a367f7e454d5fe8c427b78f 100644
--- a/Device/Histo/IHistogram.h
+++ b/Device/Histo/IHistogram.h
@@ -38,7 +38,7 @@ public:
     IHistogram(std::vector<IAxis*> axes, std::vector<double> data);
     IHistogram(const IAxis& axis_x);
     IHistogram(const IAxis& axis_x, const IAxis& axis_y);
-    IHistogram(Powerfield<CumulativeValue>* data);
+    IHistogram(std::vector<IAxis*> axes, const std::vector<CumulativeValue>& data);
 
     IHistogram(const IHistogram& other);
 
diff --git a/auto/Wrap/doxygenBase.i b/auto/Wrap/doxygenBase.i
index 04711bb51f916ded5cd7ec5d706ac6d2a6366fe7..c546257c385c41c3fcf94837271e16ea92a92e9b 100644
--- a/auto/Wrap/doxygenBase.i
+++ b/auto/Wrap/doxygenBase.i
@@ -369,7 +369,12 @@ Returns total number of bins.
 Returns number of bins along axis. 
 ";
 
-%feature("docstring")  Frame::axis "const IAxis & Frame::axis(size_t k_axis) const
+%feature("docstring")  Frame::cloned_axes "std::vector<IAxis*> Frame::cloned_axes() const
+
+Returns cloned axes. 
+";
+
+%feature("docstring")  Frame::axis "const IAxis& Frame::axis(size_t k_axis) const
 
 Returns axis with given serial number. 
 ";
@@ -445,9 +450,6 @@ Vector of axes coordinates for all specified axes in this dataset
 Closest global index 
 ";
 
-%feature("docstring")  Frame::cloned_axes "std::vector<IAxis*> Frame::cloned_axes() const
-";
-
 %feature("docstring")  Frame::hasSameSizes "bool Frame::hasSameSizes(const Frame &) const
 
 Returns true if both  Frames have same rank, and all axes have same sizes. 
diff --git a/auto/Wrap/doxygenDevice.i b/auto/Wrap/doxygenDevice.i
index d5d1dcdd639bb0a2067019cce573bc61438544a9..a762d3113831e8226d9530ee2fcd55721f0c4461 100644
--- a/auto/Wrap/doxygenDevice.i
+++ b/auto/Wrap/doxygenDevice.i
@@ -571,7 +571,7 @@ C++ includes: Histogram1D.h
 Constructor for 1D histograms from basic  Powerfield object. 
 ";
 
-%feature("docstring")  Histogram1D::Histogram1D "Histogram1D::Histogram1D(Powerfield< CumulativeValue > *data)
+%feature("docstring")  Histogram1D::Histogram1D "Histogram1D::Histogram1D(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)
 ";
 
 %feature("docstring")  Histogram1D::clone "Histogram1D * Histogram1D::clone() const override
@@ -627,7 +627,7 @@ C++ includes: Histogram2D.h
 Constructor for 2D histograms from basic  Powerfield object. 
 ";
 
-%feature("docstring")  Histogram2D::Histogram2D "Histogram2D::Histogram2D(Powerfield< CumulativeValue > *data)
+%feature("docstring")  Histogram2D::Histogram2D "Histogram2D::Histogram2D(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)
 ";
 
 %feature("docstring")  Histogram2D::clone "Histogram2D * Histogram2D::clone() const override
@@ -1080,7 +1080,7 @@ C++ includes: IHistogram.h
 %feature("docstring")  IHistogram::IHistogram "IHistogram::IHistogram(const IAxis &axis_x, const IAxis &axis_y)
 ";
 
-%feature("docstring")  IHistogram::IHistogram "IHistogram::IHistogram(Powerfield< CumulativeValue > *data)
+%feature("docstring")  IHistogram::IHistogram "IHistogram::IHistogram(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)
 ";
 
 %feature("docstring")  IHistogram::IHistogram "IHistogram::IHistogram(const IHistogram &other)
diff --git a/auto/Wrap/libBornAgainBase.py b/auto/Wrap/libBornAgainBase.py
index 35577951fd526a8929345884f75b254c94b0256e..e672f96357da64557101584604c0f4b0328459d1 100644
--- a/auto/Wrap/libBornAgainBase.py
+++ b/auto/Wrap/libBornAgainBase.py
@@ -2803,10 +2803,20 @@ class Frame(object):
         """
         return _libBornAgainBase.Frame_projectedSize(self, k_axis)
 
+    def cloned_axes(self):
+        r"""
+        cloned_axes(Frame self) -> std::vector< IAxis *,std::allocator< IAxis * > >
+        std::vector<IAxis*> Frame::cloned_axes() const
+
+        Returns cloned axes. 
+
+        """
+        return _libBornAgainBase.Frame_cloned_axes(self)
+
     def axis(self, k_axis):
         r"""
         axis(Frame self, size_t k_axis) -> IAxis
-        const IAxis & Frame::axis(size_t k_axis) const
+        const IAxis& Frame::axis(size_t k_axis) const
 
         Returns axis with given serial number. 
 
@@ -2909,14 +2919,6 @@ class Frame(object):
         """
         return _libBornAgainBase.Frame_findGlobalIndex(self, coordinates)
 
-    def cloned_axes(self):
-        r"""
-        cloned_axes(Frame self) -> std::vector< IAxis *,std::allocator< IAxis * > >
-        std::vector<IAxis*> Frame::cloned_axes() const
-
-        """
-        return _libBornAgainBase.Frame_cloned_axes(self)
-
     def hasSameSizes(self, arg2):
         r"""
         hasSameSizes(Frame self, Frame arg2) -> bool
diff --git a/auto/Wrap/libBornAgainBase_wrap.cpp b/auto/Wrap/libBornAgainBase_wrap.cpp
index fc77dc4abca7de7363d7c9b1f0c37491dae6e805..86caec5b1e27fc5f46b44ca778329d2b8d4e6bcd 100644
--- a/auto/Wrap/libBornAgainBase_wrap.cpp
+++ b/auto/Wrap/libBornAgainBase_wrap.cpp
@@ -27375,6 +27375,29 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_Frame_cloned_axes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  Frame *arg1 = (Frame *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  SwigValueWrapper< std::vector< IAxis *,std::allocator< IAxis * > > > result;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Frame, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Frame_cloned_axes" "', argument " "1"" of type '" "Frame const *""'"); 
+  }
+  arg1 = reinterpret_cast< Frame * >(argp1);
+  result = ((Frame const *)arg1)->cloned_axes();
+  resultobj = SWIG_NewPointerObj((new std::vector< IAxis *,std::allocator< IAxis * > >(static_cast< const std::vector< IAxis *,std::allocator< IAxis * > >& >(result))), SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_Frame_axis(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Frame *arg1 = (Frame *) 0 ;
@@ -27581,29 +27604,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Frame_cloned_axes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  Frame *arg1 = (Frame *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  SwigValueWrapper< std::vector< IAxis *,std::allocator< IAxis * > > > result;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Frame, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Frame_cloned_axes" "', argument " "1"" of type '" "Frame const *""'"); 
-  }
-  arg1 = reinterpret_cast< Frame * >(argp1);
-  result = ((Frame const *)arg1)->cloned_axes();
-  resultobj = SWIG_NewPointerObj((new std::vector< IAxis *,std::allocator< IAxis * > >(static_cast< const std::vector< IAxis *,std::allocator< IAxis * > >& >(result))), SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_Frame_hasSameSizes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Frame *arg1 = (Frame *) 0 ;
@@ -30256,9 +30256,16 @@ static PyMethodDef SwigMethods[] = {
 		"Returns number of bins along axis. \n"
 		"\n"
 		""},
+	 { "Frame_cloned_axes", _wrap_Frame_cloned_axes, METH_O, "\n"
+		"Frame_cloned_axes(Frame self) -> std::vector< IAxis *,std::allocator< IAxis * > >\n"
+		"std::vector<IAxis*> Frame::cloned_axes() const\n"
+		"\n"
+		"Returns cloned axes. \n"
+		"\n"
+		""},
 	 { "Frame_axis", _wrap_Frame_axis, METH_VARARGS, "\n"
 		"Frame_axis(Frame self, size_t k_axis) -> IAxis\n"
-		"const IAxis & Frame::axis(size_t k_axis) const\n"
+		"const IAxis& Frame::axis(size_t k_axis) const\n"
 		"\n"
 		"Returns axis with given serial number. \n"
 		"\n"
@@ -30344,11 +30351,6 @@ static PyMethodDef SwigMethods[] = {
 		"Closest global index \n"
 		"\n"
 		""},
-	 { "Frame_cloned_axes", _wrap_Frame_cloned_axes, METH_O, "\n"
-		"Frame_cloned_axes(Frame self) -> std::vector< IAxis *,std::allocator< IAxis * > >\n"
-		"std::vector<IAxis*> Frame::cloned_axes() const\n"
-		"\n"
-		""},
 	 { "Frame_hasSameSizes", _wrap_Frame_hasSameSizes, METH_VARARGS, "\n"
 		"Frame_hasSameSizes(Frame self, Frame arg2) -> bool\n"
 		"bool Frame::hasSameSizes(const Frame &) const\n"
diff --git a/auto/Wrap/libBornAgainDevice.py b/auto/Wrap/libBornAgainDevice.py
index e1844d8baa0922b312202082c5beea70448823d0..618bdb22ef1a77ec6beb177d58aaeff7898c1361 100644
--- a/auto/Wrap/libBornAgainDevice.py
+++ b/auto/Wrap/libBornAgainDevice.py
@@ -4575,8 +4575,8 @@ class Histogram1D(IHistogram):
     def __init__(self, *args):
         r"""
         __init__(Histogram1D self, IntensityData data) -> Histogram1D
-        __init__(Histogram1D self, Powerfield< CumulativeValue > * data) -> Histogram1D
-        Histogram1D::Histogram1D(Powerfield< CumulativeValue > *data)
+        __init__(Histogram1D self, std::vector< IAxis *,std::allocator< IAxis * > > axes, std::vector< CumulativeValue,std::allocator< CumulativeValue > > const & data) -> Histogram1D
+        Histogram1D::Histogram1D(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)
 
         """
         _libBornAgainDevice.Histogram1D_swiginit(self, _libBornAgainDevice.new_Histogram1D(*args))
@@ -4685,8 +4685,8 @@ class Histogram2D(IHistogram):
     def __init__(self, *args):
         r"""
         __init__(Histogram2D self, IntensityData data) -> Histogram2D
-        __init__(Histogram2D self, Powerfield< CumulativeValue > * data) -> Histogram2D
-        Histogram2D::Histogram2D(Powerfield< CumulativeValue > *data)
+        __init__(Histogram2D self, std::vector< IAxis *,std::allocator< IAxis * > > axes, std::vector< CumulativeValue,std::allocator< CumulativeValue > > const & data) -> Histogram2D
+        Histogram2D::Histogram2D(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)
 
         """
         _libBornAgainDevice.Histogram2D_swiginit(self, _libBornAgainDevice.new_Histogram2D(*args))
diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp
index 3532aa5ac3f4a810ab9a8debc22c19d80bff9189..47ad6199fcfdbda834fd1a276807318d83f5259b 100644
--- a/auto/Wrap/libBornAgainDevice_wrap.cpp
+++ b/auto/Wrap/libBornAgainDevice_wrap.cpp
@@ -3127,56 +3127,56 @@ namespace Swig {
 #define SWIGTYPE_p_OwningVectorT_IAxis_t swig_types[27]
 #define SWIGTYPE_p_Polygon swig_types[28]
 #define SWIGTYPE_p_PolygonPrivate swig_types[29]
-#define SWIGTYPE_p_PowerfieldT_CumulativeValue_t swig_types[30]
-#define SWIGTYPE_p_PowerfieldT_double_t swig_types[31]
-#define SWIGTYPE_p_RealLimits swig_types[32]
-#define SWIGTYPE_p_Rectangle swig_types[33]
-#define SWIGTYPE_p_RectangularDetector swig_types[34]
-#define SWIGTYPE_p_RectangularPixel swig_types[35]
-#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[36]
-#define SWIGTYPE_p_SimulationResult swig_types[37]
-#define SWIGTYPE_p_SphericalDetector swig_types[38]
-#define SWIGTYPE_p_SpinMatrix swig_types[39]
-#define SWIGTYPE_p_Vec3T_double_t swig_types[40]
-#define SWIGTYPE_p_Vec3T_int_t swig_types[41]
-#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[42]
-#define SWIGTYPE_p_VerticalLine swig_types[43]
-#define SWIGTYPE_p_allocator_type swig_types[44]
-#define SWIGTYPE_p_char swig_types[45]
-#define SWIGTYPE_p_const_iterator swig_types[46]
-#define SWIGTYPE_p_corr_matrix_t swig_types[47]
-#define SWIGTYPE_p_difference_type swig_types[48]
-#define SWIGTYPE_p_double swig_types[49]
-#define SWIGTYPE_p_first_type swig_types[50]
-#define SWIGTYPE_p_int swig_types[51]
-#define SWIGTYPE_p_iterator swig_types[52]
-#define SWIGTYPE_p_key_type swig_types[53]
-#define SWIGTYPE_p_long_long swig_types[54]
-#define SWIGTYPE_p_mapped_type swig_types[55]
-#define SWIGTYPE_p_p_ICoordSystem swig_types[56]
-#define SWIGTYPE_p_p_PyObject swig_types[57]
-#define SWIGTYPE_p_parameters_t swig_types[58]
-#define SWIGTYPE_p_second_type swig_types[59]
-#define SWIGTYPE_p_short swig_types[60]
-#define SWIGTYPE_p_signed_char swig_types[61]
-#define SWIGTYPE_p_size_type swig_types[62]
-#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[63]
-#define SWIGTYPE_p_std__allocatorT_double_t swig_types[64]
-#define SWIGTYPE_p_std__allocatorT_int_t swig_types[65]
-#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[66]
-#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[67]
-#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[68]
-#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[69]
-#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[70]
-#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[71]
-#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[72]
-#define SWIGTYPE_p_std__complexT_double_t swig_types[73]
-#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[74]
-#define SWIGTYPE_p_std__invalid_argument swig_types[75]
-#define SWIGTYPE_p_std__lessT_std__string_t swig_types[76]
-#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[77]
-#define SWIGTYPE_p_std__pairT_double_double_t swig_types[78]
-#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[79]
+#define SWIGTYPE_p_PowerfieldT_double_t swig_types[30]
+#define SWIGTYPE_p_RealLimits swig_types[31]
+#define SWIGTYPE_p_Rectangle swig_types[32]
+#define SWIGTYPE_p_RectangularDetector swig_types[33]
+#define SWIGTYPE_p_RectangularPixel swig_types[34]
+#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[35]
+#define SWIGTYPE_p_SimulationResult swig_types[36]
+#define SWIGTYPE_p_SphericalDetector swig_types[37]
+#define SWIGTYPE_p_SpinMatrix swig_types[38]
+#define SWIGTYPE_p_Vec3T_double_t swig_types[39]
+#define SWIGTYPE_p_Vec3T_int_t swig_types[40]
+#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[41]
+#define SWIGTYPE_p_VerticalLine swig_types[42]
+#define SWIGTYPE_p_allocator_type swig_types[43]
+#define SWIGTYPE_p_char swig_types[44]
+#define SWIGTYPE_p_const_iterator swig_types[45]
+#define SWIGTYPE_p_corr_matrix_t swig_types[46]
+#define SWIGTYPE_p_difference_type swig_types[47]
+#define SWIGTYPE_p_double swig_types[48]
+#define SWIGTYPE_p_first_type swig_types[49]
+#define SWIGTYPE_p_int swig_types[50]
+#define SWIGTYPE_p_iterator swig_types[51]
+#define SWIGTYPE_p_key_type swig_types[52]
+#define SWIGTYPE_p_long_long swig_types[53]
+#define SWIGTYPE_p_mapped_type swig_types[54]
+#define SWIGTYPE_p_p_ICoordSystem swig_types[55]
+#define SWIGTYPE_p_p_PyObject swig_types[56]
+#define SWIGTYPE_p_parameters_t swig_types[57]
+#define SWIGTYPE_p_second_type swig_types[58]
+#define SWIGTYPE_p_short swig_types[59]
+#define SWIGTYPE_p_signed_char swig_types[60]
+#define SWIGTYPE_p_size_type swig_types[61]
+#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[62]
+#define SWIGTYPE_p_std__allocatorT_double_t swig_types[63]
+#define SWIGTYPE_p_std__allocatorT_int_t swig_types[64]
+#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[65]
+#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[66]
+#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[67]
+#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[68]
+#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[69]
+#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[70]
+#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[71]
+#define SWIGTYPE_p_std__complexT_double_t swig_types[72]
+#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[73]
+#define SWIGTYPE_p_std__invalid_argument swig_types[74]
+#define SWIGTYPE_p_std__lessT_std__string_t swig_types[75]
+#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[76]
+#define SWIGTYPE_p_std__pairT_double_double_t swig_types[77]
+#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[78]
+#define SWIGTYPE_p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t swig_types[79]
 #define SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t swig_types[80]
 #define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[81]
 #define SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t swig_types[82]
@@ -37415,18 +37415,37 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_Histogram1D__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
-  Powerfield< CumulativeValue > *arg1 = (Powerfield< CumulativeValue > *) 0 ;
-  void *argp1 = 0 ;
+  SwigValueWrapper< std::vector< IAxis *,std::allocator< IAxis * > > > arg1 ;
+  std::vector< CumulativeValue,std::allocator< CumulativeValue > > *arg2 = 0 ;
+  void *argp1 ;
   int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
   Histogram1D *result = 0 ;
   
-  if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PowerfieldT_CumulativeValue_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Histogram1D" "', argument " "1"" of type '" "Powerfield< CumulativeValue > *""'"); 
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  {
+    res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t,  0  | 0);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Histogram1D" "', argument " "1"" of type '" "std::vector< IAxis *,std::allocator< IAxis * > >""'"); 
+    }  
+    if (!argp1) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Histogram1D" "', argument " "1"" of type '" "std::vector< IAxis *,std::allocator< IAxis * > >""'");
+    } else {
+      std::vector< IAxis *,std::allocator< IAxis * > > * temp = reinterpret_cast< std::vector< IAxis *,std::allocator< IAxis * > > * >(argp1);
+      arg1 = *temp;
+      if (SWIG_IsNewObj(res1)) delete temp;
+    }
+  }
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t,  0  | 0);
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Histogram1D" "', argument " "2"" of type '" "std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &""'"); 
+  }
+  if (!argp2) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Histogram1D" "', argument " "2"" of type '" "std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &""'"); 
   }
-  arg1 = reinterpret_cast< Powerfield< CumulativeValue > * >(argp1);
-  result = (Histogram1D *)new Histogram1D(arg1);
+  arg2 = reinterpret_cast< std::vector< CumulativeValue,std::allocator< CumulativeValue > > * >(argp2);
+  result = (Histogram1D *)new Histogram1D(arg1,(std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &)*arg2);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Histogram1D, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
@@ -37436,11 +37455,11 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_Histogram1D(PyObject *self, PyObject *args) {
   Py_ssize_t argc;
-  PyObject *argv[2] = {
+  PyObject *argv[3] = {
     0
   };
   
-  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Histogram1D", 0, 1, argv))) SWIG_fail;
+  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Histogram1D", 0, 2, argv))) SWIG_fail;
   --argc;
   if (argc == 1) {
     int _v;
@@ -37450,13 +37469,16 @@ SWIGINTERN PyObject *_wrap_new_Histogram1D(PyObject *self, PyObject *args) {
       return _wrap_new_Histogram1D__SWIG_0(self, argc, argv);
     }
   }
-  if (argc == 1) {
+  if (argc == 2) {
     int _v;
-    void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_PowerfieldT_CumulativeValue_t, 0);
+    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t, SWIG_POINTER_NO_NULL | 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_new_Histogram1D__SWIG_1(self, argc, argv);
+      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t, SWIG_POINTER_NO_NULL | 0);
+      _v = SWIG_CheckState(res);
+      if (_v) {
+        return _wrap_new_Histogram1D__SWIG_1(self, argc, argv);
+      }
     }
   }
   
@@ -37464,7 +37486,7 @@ fail:
   SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Histogram1D'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    Histogram1D::Histogram1D(Powerfield< double > const &)\n"
-    "    Histogram1D::Histogram1D(Powerfield< CumulativeValue > *)\n");
+    "    Histogram1D::Histogram1D(std::vector< IAxis *,std::allocator< IAxis * > >,std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &)\n");
   return 0;
 }
 
@@ -37750,18 +37772,37 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_Histogram2D__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
-  Powerfield< CumulativeValue > *arg1 = (Powerfield< CumulativeValue > *) 0 ;
-  void *argp1 = 0 ;
+  SwigValueWrapper< std::vector< IAxis *,std::allocator< IAxis * > > > arg1 ;
+  std::vector< CumulativeValue,std::allocator< CumulativeValue > > *arg2 = 0 ;
+  void *argp1 ;
   int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
   Histogram2D *result = 0 ;
   
-  if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PowerfieldT_CumulativeValue_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Histogram2D" "', argument " "1"" of type '" "Powerfield< CumulativeValue > *""'"); 
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  {
+    res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t,  0  | 0);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Histogram2D" "', argument " "1"" of type '" "std::vector< IAxis *,std::allocator< IAxis * > >""'"); 
+    }  
+    if (!argp1) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Histogram2D" "', argument " "1"" of type '" "std::vector< IAxis *,std::allocator< IAxis * > >""'");
+    } else {
+      std::vector< IAxis *,std::allocator< IAxis * > > * temp = reinterpret_cast< std::vector< IAxis *,std::allocator< IAxis * > > * >(argp1);
+      arg1 = *temp;
+      if (SWIG_IsNewObj(res1)) delete temp;
+    }
+  }
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t,  0  | 0);
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Histogram2D" "', argument " "2"" of type '" "std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &""'"); 
+  }
+  if (!argp2) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Histogram2D" "', argument " "2"" of type '" "std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &""'"); 
   }
-  arg1 = reinterpret_cast< Powerfield< CumulativeValue > * >(argp1);
-  result = (Histogram2D *)new Histogram2D(arg1);
+  arg2 = reinterpret_cast< std::vector< CumulativeValue,std::allocator< CumulativeValue > > * >(argp2);
+  result = (Histogram2D *)new Histogram2D(arg1,(std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &)*arg2);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Histogram2D, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
@@ -37771,11 +37812,11 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_Histogram2D(PyObject *self, PyObject *args) {
   Py_ssize_t argc;
-  PyObject *argv[2] = {
+  PyObject *argv[3] = {
     0
   };
   
-  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Histogram2D", 0, 1, argv))) SWIG_fail;
+  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Histogram2D", 0, 2, argv))) SWIG_fail;
   --argc;
   if (argc == 1) {
     int _v;
@@ -37785,13 +37826,16 @@ SWIGINTERN PyObject *_wrap_new_Histogram2D(PyObject *self, PyObject *args) {
       return _wrap_new_Histogram2D__SWIG_0(self, argc, argv);
     }
   }
-  if (argc == 1) {
+  if (argc == 2) {
     int _v;
-    void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_PowerfieldT_CumulativeValue_t, 0);
+    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t, SWIG_POINTER_NO_NULL | 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_new_Histogram2D__SWIG_1(self, argc, argv);
+      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t, SWIG_POINTER_NO_NULL | 0);
+      _v = SWIG_CheckState(res);
+      if (_v) {
+        return _wrap_new_Histogram2D__SWIG_1(self, argc, argv);
+      }
     }
   }
   
@@ -37799,7 +37843,7 @@ fail:
   SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Histogram2D'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    Histogram2D::Histogram2D(Powerfield< double > const &)\n"
-    "    Histogram2D::Histogram2D(Powerfield< CumulativeValue > *)\n");
+    "    Histogram2D::Histogram2D(std::vector< IAxis *,std::allocator< IAxis * > >,std::vector< CumulativeValue,std::allocator< CumulativeValue > > const &)\n");
   return 0;
 }
 
@@ -41849,8 +41893,8 @@ static PyMethodDef SwigMethods[] = {
 	 { "IHistogram_swigregister", IHistogram_swigregister, METH_O, NULL},
 	 { "new_Histogram1D", _wrap_new_Histogram1D, METH_VARARGS, "\n"
 		"Histogram1D(IntensityData data)\n"
-		"new_Histogram1D(Powerfield< CumulativeValue > * data) -> Histogram1D\n"
-		"Histogram1D::Histogram1D(Powerfield< CumulativeValue > *data)\n"
+		"new_Histogram1D(std::vector< IAxis *,std::allocator< IAxis * > > axes, std::vector< CumulativeValue,std::allocator< CumulativeValue > > const & data) -> Histogram1D\n"
+		"Histogram1D::Histogram1D(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)\n"
 		"\n"
 		""},
 	 { "Histogram1D_clone", _wrap_Histogram1D_clone, METH_O, "\n"
@@ -41915,8 +41959,8 @@ static PyMethodDef SwigMethods[] = {
 	 { "Histogram1D_swiginit", Histogram1D_swiginit, METH_VARARGS, NULL},
 	 { "new_Histogram2D", _wrap_new_Histogram2D, METH_VARARGS, "\n"
 		"Histogram2D(IntensityData data)\n"
-		"new_Histogram2D(Powerfield< CumulativeValue > * data) -> Histogram2D\n"
-		"Histogram2D::Histogram2D(Powerfield< CumulativeValue > *data)\n"
+		"new_Histogram2D(std::vector< IAxis *,std::allocator< IAxis * > > axes, std::vector< CumulativeValue,std::allocator< CumulativeValue > > const & data) -> Histogram2D\n"
+		"Histogram2D::Histogram2D(std::vector< IAxis * > axes, const std::vector< CumulativeValue > &data)\n"
 		"\n"
 		""},
 	 { "Histogram2D_clone", _wrap_Histogram2D_clone, METH_O, "\n"
@@ -42254,7 +42298,6 @@ static swig_type_info _swigt__p_MaskPattern = {"_p_MaskPattern", "MaskPattern *"
 static swig_type_info _swigt__p_OwningVectorT_IAxis_t = {"_p_OwningVectorT_IAxis_t", "OwningVector< IAxis > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Polygon = {"_p_Polygon", "Polygon *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_PolygonPrivate = {"_p_PolygonPrivate", "PolygonPrivate *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_PowerfieldT_CumulativeValue_t = {"_p_PowerfieldT_CumulativeValue_t", "Powerfield< CumulativeValue > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_PowerfieldT_double_t = {"_p_PowerfieldT_double_t", "Powerfield< double > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_RealLimits = {"_p_RealLimits", "RealLimits *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Rectangle = {"_p_Rectangle", "Rectangle *", 0, 0, (void*)0, 0};
@@ -42304,6 +42347,7 @@ static swig_type_info _swigt__p_std__lessT_std__string_t = {"_p_std__lessT_std__
 static swig_type_info _swigt__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t = {"_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t", "std::map< std::string,double,std::less< std::string >,std::allocator< std::pair< std::string const,double > > > *|std::map< std::string,double > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__pairT_double_double_t = {"_p_std__pairT_double_double_t", "std::pair< double,double > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t = {"_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t", "std::vector< AxisInfo,std::allocator< AxisInfo > > *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t = {"_p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t", "std::vector< CumulativeValue,std::allocator< CumulativeValue > > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t = {"_p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t", "std::vector< IAxis *,std::allocator< IAxis * > > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t = {"_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t", "std::vector< INode const *,std::allocator< INode const * > > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t = {"_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t", "std::vector< ParaMeta,std::allocator< ParaMeta > > *", 0, 0, (void*)0, 0};
@@ -42356,7 +42400,6 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_OwningVectorT_IAxis_t,
   &_swigt__p_Polygon,
   &_swigt__p_PolygonPrivate,
-  &_swigt__p_PowerfieldT_CumulativeValue_t,
   &_swigt__p_PowerfieldT_double_t,
   &_swigt__p_RealLimits,
   &_swigt__p_Rectangle,
@@ -42406,6 +42449,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t,
   &_swigt__p_std__pairT_double_double_t,
   &_swigt__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t,
+  &_swigt__p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t,
   &_swigt__p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t,
   &_swigt__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t,
   &_swigt__p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t,
@@ -42458,7 +42502,6 @@ static swig_cast_info _swigc__p_MaskPattern[] = {  {&_swigt__p_MaskPattern, 0, 0
 static swig_cast_info _swigc__p_OwningVectorT_IAxis_t[] = {  {&_swigt__p_OwningVectorT_IAxis_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Polygon[] = {  {&_swigt__p_Polygon, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_PolygonPrivate[] = {  {&_swigt__p_PolygonPrivate, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_PowerfieldT_CumulativeValue_t[] = {  {&_swigt__p_PowerfieldT_CumulativeValue_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_PowerfieldT_double_t[] = {  {&_swigt__p_PowerfieldT_double_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_RealLimits[] = {  {&_swigt__p_RealLimits, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Rectangle[] = {  {&_swigt__p_Rectangle, 0, 0, 0},{0, 0, 0, 0}};
@@ -42508,6 +42551,7 @@ static swig_cast_info _swigc__p_std__lessT_std__string_t[] = {  {&_swigt__p_std_
 static swig_cast_info _swigc__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t[] = {  {&_swigt__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__pairT_double_double_t[] = {  {&_swigt__p_std__pairT_double_double_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t[] = {  {&_swigt__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t[] = {  {&_swigt__p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t[] = {  {&_swigt__p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t[] = {  {&_swigt__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t[] = {  {&_swigt__p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t, 0, 0, 0},{0, 0, 0, 0}};
@@ -42560,7 +42604,6 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_OwningVectorT_IAxis_t,
   _swigc__p_Polygon,
   _swigc__p_PolygonPrivate,
-  _swigc__p_PowerfieldT_CumulativeValue_t,
   _swigc__p_PowerfieldT_double_t,
   _swigc__p_RealLimits,
   _swigc__p_Rectangle,
@@ -42610,6 +42653,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t,
   _swigc__p_std__pairT_double_double_t,
   _swigc__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t,
+  _swigc__p_std__vectorT_CumulativeValue_std__allocatorT_CumulativeValue_t_t,
   _swigc__p_std__vectorT_IAxis_p_std__allocatorT_IAxis_p_t_t,
   _swigc__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t,
   _swigc__p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t,