diff --git a/Base/Axis/Frame.cpp b/Base/Axis/Frame.cpp
index 38f86555934e5ddd575ce9eccec5f45eea0eab6e..5e957604ad7c98f9a50c68bc2e5ed77d5639dbb1 100644
--- a/Base/Axis/Frame.cpp
+++ b/Base/Axis/Frame.cpp
@@ -42,7 +42,7 @@ size_t Frame::projectedSize(size_t k_axis) const
 double Frame::projectedCoord(size_t i_flat, size_t k_axis) const
 {
     auto axis_index = projectedIndex(i_flat, k_axis);
-    return (*m_axes[k_axis])[axis_index];
+    return m_axes[k_axis]->binCenter(axis_index);
 }
 
 std::vector<int> Frame::allIndices(size_t i_flat) const
diff --git a/Base/Axis/IAxis.h b/Base/Axis/IAxis.h
index 9af934d6c6a33989b2f327a3fc5ff0b3826ad336..af2984911afc74c13de11c1f967322377d51adfa 100644
--- a/Base/Axis/IAxis.h
+++ b/Base/Axis/IAxis.h
@@ -64,9 +64,6 @@ public:
 
     virtual std::vector<double> binBoundaries() const;
 
-    //! indexed accessor retrieves a sample
-    double operator[](size_t index) const { return binCenter(index); }
-
     //! retrieve a 1d bin for the given index
     virtual Bin1D bin(size_t index) const = 0;
 
diff --git a/Device/Resolution/ConvolutionDetectorResolution.cpp b/Device/Resolution/ConvolutionDetectorResolution.cpp
index aa650e256eb1a278f261252e07733754bbcb8329..4ff19b01ff9ac991cdcd1f1e86385dc6e24368ae 100644
--- a/Device/Resolution/ConvolutionDetectorResolution.cpp
+++ b/Device/Resolution/ConvolutionDetectorResolution.cpp
@@ -98,11 +98,12 @@ void ConvolutionDetectorResolution::apply1dConvolution(Datafield* intensity_map)
         throw std::runtime_error(
             "ConvolutionDetectorResolution::apply1dConvolution -> Error! "
             "Size of axis for intensity map does not correspond to size of data in the map.");
-    double step_size = std::abs(axis[0] - axis[axis.size() - 1]) / (data_size - 1);
-    double mid_value = axis[axis.size() / 2]; // because Convolve expects zero at midpoint
+    double step_size =
+        std::abs(axis.binCenter(0) - axis.binCenter(axis.size() - 1)) / (data_size - 1);
+    double mid_value = axis.binCenter(axis.size() / 2); // because Convolve expects zero at midpoint
     std::vector<double> kernel;
     for (size_t index = 0; index < data_size; ++index)
-        kernel.push_back(getIntegratedPDF1d(axis[index] - mid_value, step_size));
+        kernel.push_back(getIntegratedPDF1d(axis.binCenter(index) - mid_value, step_size));
     // Calculate convolution
     std::vector<double> result;
     Convolve().fftconvolve(source_vector, kernel, result);
@@ -141,16 +142,20 @@ void ConvolutionDetectorResolution::apply2dConvolution(Datafield* intensity_map)
     // Construct kernel vector from resolution function
     std::vector<std::vector<double>> kernel;
     kernel.resize(axis_size_1);
-    double mid_value_1 = axis_1[axis_size_1 / 2]; // because Convolve expects zero at midpoint
-    double mid_value_2 = axis_2[axis_size_2 / 2]; // because Convolve expects zero at midpoint
-    double step_size_1 = std::abs(axis_1[0] - axis_1[axis_size_1 - 1]) / (axis_size_1 - 1);
-    double step_size_2 = std::abs(axis_2[0] - axis_2[axis_size_2 - 1]) / (axis_size_2 - 1);
+    double mid_value_1 =
+        axis_1.binCenter(axis_size_1 / 2); // because Convolve expects zero at midpoint
+    double mid_value_2 =
+        axis_2.binCenter(axis_size_2 / 2); // because Convolve expects zero at midpoint
+    double step_size_1 =
+        std::abs(axis_1.binCenter(0) - axis_1.binCenter(axis_size_1 - 1)) / (axis_size_1 - 1);
+    double step_size_2 =
+        std::abs(axis_2.binCenter(0) - axis_2.binCenter(axis_size_2 - 1)) / (axis_size_2 - 1);
     for (size_t index_1 = 0; index_1 < axis_size_1; ++index_1) {
-        double value_1 = axis_1[index_1] - mid_value_1;
+        double value_1 = axis_1.binCenter(index_1) - mid_value_1;
         std::vector<double> row_vector;
         row_vector.resize(axis_size_2, 0.0);
         for (size_t index_2 = 0; index_2 < axis_size_2; ++index_2) {
-            double value_2 = axis_2[index_2] - mid_value_2;
+            double value_2 = axis_2.binCenter(index_2) - mid_value_2;
             double z_value = getIntegratedPDF2d(value_1, step_size_1, value_2, step_size_2);
             row_vector[index_2] = z_value;
         }
diff --git a/Sim/Simulation/DepthprobeSimulation.cpp b/Sim/Simulation/DepthprobeSimulation.cpp
index 1bff14290a395eeac778ad8eaf94492f105c8ce5..98083dbc0f1f395631305fa0d3dbd95651aa78f6 100644
--- a/Sim/Simulation/DepthprobeSimulation.cpp
+++ b/Sim/Simulation/DepthprobeSimulation.cpp
@@ -120,9 +120,9 @@ void DepthprobeSimulation::runComputation(const ReSample& re_sample, size_t i, d
             size_t ip1_z = start_z_ind;
             for (; ip1_z > 0; --ip1_z) {
                 const size_t i_z = ip1_z - 1;
-                if (i_layer + 1 != n_layers && (*m_z_axis)[i_z] <= z_layer_bottom)
+                if (i_layer + 1 != n_layers && m_z_axis->binCenter(i_z) <= z_layer_bottom)
                     break;
-                const double z = (*m_z_axis)[i_z] - z_layer_top;
+                const double z = m_z_axis->binCenter(i_z) - z_layer_top;
                 complex_t psi;
                 if ((m_flags & 3) == ZDirection_None)
                     psi = R * exp_I(kz_out * z) + T * exp_I(kz_in * z);
diff --git a/Tests/Unit/Device/FixedBinAxisTest.cpp b/Tests/Unit/Device/FixedBinAxisTest.cpp
index 52a8d575e972446301fa5954ee57621748e2595e..6107b99ca0c8a73967472602f72bb3869b50451a 100644
--- a/Tests/Unit/Device/FixedBinAxisTest.cpp
+++ b/Tests/Unit/Device/FixedBinAxisTest.cpp
@@ -10,25 +10,25 @@ TEST(FixedBinAxisTest, IndexedAccessor)
     EXPECT_EQ(100u, a1.size());
     EXPECT_EQ(0.0, a1.min());
     EXPECT_EQ(10.0, a1.max());
-    EXPECT_DOUBLE_EQ(0.05, a1[0]);
-    EXPECT_DOUBLE_EQ(0.15, a1[1]);
-    EXPECT_DOUBLE_EQ(6.55, a1[65]);
-    EXPECT_DOUBLE_EQ(9.95, a1[99]);
+    EXPECT_DOUBLE_EQ(0.05, a1.binCenter(0));
+    EXPECT_DOUBLE_EQ(0.15, a1.binCenter(1));
+    EXPECT_DOUBLE_EQ(6.55, a1.binCenter(65));
+    EXPECT_DOUBLE_EQ(9.95, a1.binCenter(99));
 
     FixedBinAxis a2("name", 3, -1.5, 1.5);
-    EXPECT_DOUBLE_EQ(-1.0, a2[0]);
-    EXPECT_DOUBLE_EQ(0.0, a2[1]);
-    EXPECT_DOUBLE_EQ(1.0, a2[2]);
-    EXPECT_THROW(a2[3], std::runtime_error);
+    EXPECT_DOUBLE_EQ(-1.0, a2.binCenter(0));
+    EXPECT_DOUBLE_EQ(0.0, a2.binCenter(1));
+    EXPECT_DOUBLE_EQ(1.0, a2.binCenter(2));
+    EXPECT_THROW(a2.binCenter(3), std::runtime_error);
 }
 
 TEST(FixedBinAxisTest, VectorOfUnitLength)
 {
-    FixedBinAxis vec("name", 1, 1.0, 2.0);
-    EXPECT_EQ(1u, vec.size());
-    EXPECT_EQ(double(1.0), vec.min());
-    EXPECT_EQ(double(2.0), vec.max());
-    EXPECT_EQ(1.5, vec[0]);
+    FixedBinAxis axis("name", 1, 1.0, 2.0);
+    EXPECT_EQ(1u, axis.size());
+    EXPECT_EQ(double(1.0), axis.min());
+    EXPECT_EQ(double(2.0), axis.max());
+    EXPECT_EQ(1.5, axis.binCenter(0));
 }
 
 TEST(FixedBinAxisTest, FindClosestIndex)
diff --git a/Tests/Unit/Device/PointwiseAxisTest.cpp b/Tests/Unit/Device/PointwiseAxisTest.cpp
index b339f8de2f60f6d7cbdcadcff4e71cb4f17b28dc..82176082a15b29b72b7f1df526b19ebaf7179ebb 100644
--- a/Tests/Unit/Device/PointwiseAxisTest.cpp
+++ b/Tests/Unit/Device/PointwiseAxisTest.cpp
@@ -24,15 +24,15 @@ TEST(PointwiseAxisTest, BasicProperties)
     EXPECT_EQ(4u, a1.size());
     EXPECT_EQ(0.0, a1.min());
     EXPECT_EQ(8.0, a1.max());
-    EXPECT_EQ(0.0, a1[0]);
-    EXPECT_EQ(1.0, a1[1]);
-    EXPECT_EQ(4.0, a1[2]);
-    EXPECT_EQ(8.0, a1[3]);
-    EXPECT_EQ(a1[0], a1.binCenter(0));
-    EXPECT_EQ(a1[1], a1.binCenter(1));
-    EXPECT_EQ(a1[2], a1.binCenter(2));
-    EXPECT_EQ(a1[3], a1.binCenter(3));
-    EXPECT_THROW(a1[4], std::runtime_error);
+    EXPECT_EQ(0.0, a1.binCenter(0));
+    EXPECT_EQ(1.0, a1.binCenter(1));
+    EXPECT_EQ(4.0, a1.binCenter(2));
+    EXPECT_EQ(8.0, a1.binCenter(3));
+    EXPECT_EQ(a1.binCenter(0), a1.binCenter(0));
+    EXPECT_EQ(a1.binCenter(1), a1.binCenter(1));
+    EXPECT_EQ(a1.binCenter(2), a1.binCenter(2));
+    EXPECT_EQ(a1.binCenter(3), a1.binCenter(3));
+    EXPECT_THROW(a1.binCenter(4), std::runtime_error);
     EXPECT_THROW(a1.binCenter(4), std::runtime_error);
     EXPECT_TRUE(coordinates == a1.binCenters());
 }
@@ -142,8 +142,8 @@ TEST(PointwiseAxisTest, ClippedAxis)
     clip3->clip(1.5, 2.5);
     EXPECT_TRUE(*clip3 != axis);
     EXPECT_EQ(clip3->size(), 2u);
-    EXPECT_EQ(clip3->operator[](0), 2.0);
-    EXPECT_EQ(clip3->operator[](1), 2.5);
+    EXPECT_EQ(clip3->binCenter(0), 2.0);
+    EXPECT_EQ(clip3->binCenter(1), 2.5);
 
     EXPECT_THROW(axis.clone()->clip(1.5, 2.0), std::runtime_error);
     EXPECT_THROW(axis.clone()->clip(5.0, 1.0), std::runtime_error);
@@ -155,10 +155,10 @@ TEST(PointwiseAxisTest, FixedBinAxisComparison)
     PointwiseAxis pointwise_axis("name", std::vector<double>{0.5, 1.5, 2.5, 3.5});
 
     EXPECT_EQ(fixed_axis.size(), pointwise_axis.size());
-    EXPECT_DOUBLE_EQ(fixed_axis[0], pointwise_axis[0]);
-    EXPECT_DOUBLE_EQ(fixed_axis[1], pointwise_axis[1]);
-    EXPECT_DOUBLE_EQ(fixed_axis[2], pointwise_axis[2]);
-    EXPECT_DOUBLE_EQ(fixed_axis[3], pointwise_axis[3]);
+    EXPECT_DOUBLE_EQ(fixed_axis.binCenter(0), pointwise_axis.binCenter(0));
+    EXPECT_DOUBLE_EQ(fixed_axis.binCenter(1), pointwise_axis.binCenter(1));
+    EXPECT_DOUBLE_EQ(fixed_axis.binCenter(2), pointwise_axis.binCenter(2));
+    EXPECT_DOUBLE_EQ(fixed_axis.binCenter(3), pointwise_axis.binCenter(3));
 
     Bin1D bin1 = fixed_axis.bin(1);
     Bin1D bin1_ = pointwise_axis.bin(1);
diff --git a/Tests/Unit/Device/VariableBinAxisTest.cpp b/Tests/Unit/Device/VariableBinAxisTest.cpp
index 36826aac24e5ace276ed347a691c49bfb70560ae..7606c091d7a530a1a25a5ee1517a16322101668a 100644
--- a/Tests/Unit/Device/VariableBinAxisTest.cpp
+++ b/Tests/Unit/Device/VariableBinAxisTest.cpp
@@ -11,7 +11,7 @@ TEST(VariableBinAxisTest, VectorOfUnitLength)
     EXPECT_EQ(size_t(1), axis.size());
     EXPECT_EQ(0.0, axis.min());
     EXPECT_EQ(1.0, axis.max());
-    EXPECT_EQ(0.5, axis[0]);
+    EXPECT_EQ(0.5, axis.binCenter(0));
 }
 
 TEST(VariableBinAxisTest, ValidityOfCOnstructor)
@@ -41,18 +41,18 @@ TEST(VariableBinAxisTest, IndexedAccessor)
     EXPECT_EQ(100u, a1.size());
     EXPECT_EQ(0.0, a1.min());
     EXPECT_EQ(10.0, a1.max());
-    EXPECT_DOUBLE_EQ(0.05, a1[0]);
-    EXPECT_DOUBLE_EQ(0.15, a1[1]);
-    EXPECT_DOUBLE_EQ(6.55, a1[65]);
-    EXPECT_DOUBLE_EQ(9.95, a1[99]);
+    EXPECT_DOUBLE_EQ(0.05, a1.binCenter(0));
+    EXPECT_DOUBLE_EQ(0.15, a1.binCenter(1));
+    EXPECT_DOUBLE_EQ(6.55, a1.binCenter(65));
+    EXPECT_DOUBLE_EQ(9.95, a1.binCenter(99));
 
     static const double arr[] = {-1.5, -0.5, 0.5, 1.5};
     std::vector<double> v2(arr, arr + sizeof(arr) / sizeof(arr[0]));
     VariableBinAxis a2("name", v2);
-    EXPECT_DOUBLE_EQ(-1.0, a2[0]);
-    EXPECT_DOUBLE_EQ(0.0, a2[1]);
-    EXPECT_DOUBLE_EQ(1.0, a2[2]);
-    EXPECT_THROW(a2[3], std::runtime_error);
+    EXPECT_DOUBLE_EQ(-1.0, a2.binCenter(0));
+    EXPECT_DOUBLE_EQ(0.0, a2.binCenter(1));
+    EXPECT_DOUBLE_EQ(1.0, a2.binCenter(2));
+    EXPECT_THROW(a2.binCenter(3), std::runtime_error);
 }
 
 TEST(VariableBinAxisTest, FindClosestIndex)
diff --git a/Tests/Unit/Sim/CoordSystem1DTest.cpp b/Tests/Unit/Sim/CoordSystem1DTest.cpp
index 4204d7599cab8c60c714a3a434b51a98d0467c96..8b5b6ba9c836139b7f82d0239e848f7c95014b60 100644
--- a/Tests/Unit/Sim/CoordSystem1DTest.cpp
+++ b/Tests/Unit/Sim/CoordSystem1DTest.cpp
@@ -170,24 +170,24 @@ TEST_F(CoordSystem1DTest, NonDefaultUnitsInInput)
 {
     PointwiseAxis axis("x", std::vector<double>{0.0, 0.5, 1.0});
 
-    EXPECT_FAILED_ASSERT(AngularReflectometryCoords(m_wavelength, axis, Coords::NBINS));
-
-    AngularReflectometryCoords converter(m_wavelength, axis, Coords::DEGREES);
-    auto axis_deg_output = converter.createConvertedAxis(0, Coords::DEGREES);
-    EXPECT_TRUE(axis.size() == axis_deg_output->size());
-    EXPECT_DOUBLE_EQ(axis[0], (*axis_deg_output)[0]);
-    EXPECT_DOUBLE_EQ(axis[1], (*axis_deg_output)[1]);
-    EXPECT_DOUBLE_EQ(axis[2], (*axis_deg_output)[2]);
+    {
+        AngularReflectometryCoords converter(m_wavelength, axis, Coords::DEGREES);
+        auto out = converter.createConvertedAxis(0, Coords::DEGREES);
+        EXPECT_TRUE(axis.size() == out->size());
+        EXPECT_DOUBLE_EQ(axis.binCenter(0), out->binCenter(0));
+        EXPECT_DOUBLE_EQ(axis.binCenter(1), out->binCenter(1));
+        EXPECT_DOUBLE_EQ(axis.binCenter(2), out->binCenter(2));
+    }
 
     auto values = axis.binCenters();
     std::for_each(values.begin(), values.end(), [this](double& value) { value = getQ(value); });
     PointwiseAxis q_axis("q", values);
-    AngularReflectometryCoords converter2(m_wavelength, q_axis, Coords::QSPACE);
-    auto axis_rad_output = converter2.createConvertedAxis(0, Coords::RADIANS);
-    EXPECT_TRUE(axis.size() == axis_rad_output->size());
-    EXPECT_DOUBLE_EQ(axis[0], (*axis_rad_output)[0]);
-    EXPECT_DOUBLE_EQ(axis[1], (*axis_rad_output)[1]);
-    EXPECT_DOUBLE_EQ(axis[2], (*axis_rad_output)[2]);
-
-    EXPECT_FAILED_ASSERT(AngularReflectometryCoords(m_wavelength, q_axis, Coords::RQ4));
+    {
+        AngularReflectometryCoords converter(m_wavelength, q_axis, Coords::QSPACE);
+        auto out = converter.createConvertedAxis(0, Coords::RADIANS);
+        EXPECT_TRUE(axis.size() == out->size());
+        EXPECT_DOUBLE_EQ(axis.binCenter(0), out->binCenter(0));
+        EXPECT_DOUBLE_EQ(axis.binCenter(1), out->binCenter(1));
+        EXPECT_DOUBLE_EQ(axis.binCenter(2), out->binCenter(2));
+    }
 }
diff --git a/Wrap/Swig/libBornAgainBase.i b/Wrap/Swig/libBornAgainBase.i
index 9d40548c07e2d515fe99ee4ef4ed95aa2b83f3e4..8c461a0fbc9387948ca3501e5219e713dd517e33 100644
--- a/Wrap/Swig/libBornAgainBase.i
+++ b/Wrap/Swig/libBornAgainBase.i
@@ -16,7 +16,6 @@
 
 %include "commons.i"
 
-
 %{
 #include <heinz/Complex.h>
 #include "Base/Types/ICloneable.h"
@@ -51,11 +50,3 @@
 
 %template(R3) Vec3<double>;
 %template(C3) Vec3<std::complex<double>>;
-
-%extend FixedBinAxis {
-    double __getitem__(unsigned int i) { return (*($self))[i]; }
-};
-
-%extend VariableBinAxis {
-    double __getitem__(unsigned int i) { return (*($self))[i]; }
-};
diff --git a/auto/Wrap/libBornAgainBase.py b/auto/Wrap/libBornAgainBase.py
index ca236c59cee583022d072533bac56ab110dc0f90..cd1176014b68807f902bc485a88047bd2e077e39 100644
--- a/auto/Wrap/libBornAgainBase.py
+++ b/auto/Wrap/libBornAgainBase.py
@@ -1959,10 +1959,6 @@ class VariableBinAxis(IAxis):
         r"""clip(VariableBinAxis self, double lower, double upper)"""
         return _libBornAgainBase.VariableBinAxis_clip(self, lower, upper)
 
-    def __getitem__(self, i):
-        r"""__getitem__(VariableBinAxis self, unsigned int i) -> double"""
-        return _libBornAgainBase.VariableBinAxis___getitem__(self, i)
-
 # Register VariableBinAxis in _libBornAgainBase:
 _libBornAgainBase.VariableBinAxis_swigregister(VariableBinAxis)
 class FixedBinAxis(IAxis):
@@ -2019,10 +2015,6 @@ class FixedBinAxis(IAxis):
         r"""clip(FixedBinAxis self, double lower, double upper)"""
         return _libBornAgainBase.FixedBinAxis_clip(self, lower, upper)
 
-    def __getitem__(self, i):
-        r"""__getitem__(FixedBinAxis self, unsigned int i) -> double"""
-        return _libBornAgainBase.FixedBinAxis___getitem__(self, i)
-
 # Register FixedBinAxis in _libBornAgainBase:
 _libBornAgainBase.FixedBinAxis_swigregister(FixedBinAxis)
 class PointwiseAxis(IAxis):
diff --git a/auto/Wrap/libBornAgainBase_wrap.cpp b/auto/Wrap/libBornAgainBase_wrap.cpp
index 665142aad6ba10255989459c2e81dc3876fa74fc..fcef81cd507cee04e88a4a04b06f5d582c60244f 100644
--- a/auto/Wrap/libBornAgainBase_wrap.cpp
+++ b/auto/Wrap/libBornAgainBase_wrap.cpp
@@ -7015,11 +7015,9 @@ SWIGINTERNINLINE PyObject*
   return PyInt_FromSize_t((size_t) value);
 }
 
-SWIGINTERN double VariableBinAxis___getitem__(VariableBinAxis *self,unsigned int i){ return (*(self))[i]; }
 
 #include <memory>
 
-SWIGINTERN double FixedBinAxis___getitem__(FixedBinAxis *self,unsigned int i){ return (*(self))[i]; }
 
 
 /* ---------------------------------------------------
@@ -26166,36 +26164,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VariableBinAxis___getitem__(PyObject *self, PyObject *args) {
-  PyObject *resultobj = 0;
-  VariableBinAxis *arg1 = (VariableBinAxis *) 0 ;
-  unsigned int arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  unsigned int val2 ;
-  int ecode2 = 0 ;
-  PyObject *swig_obj[2] ;
-  double result;
-  
-  if (!SWIG_Python_UnpackTuple(args, "VariableBinAxis___getitem__", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_VariableBinAxis, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VariableBinAxis___getitem__" "', argument " "1"" of type '" "VariableBinAxis *""'"); 
-  }
-  arg1 = reinterpret_cast< VariableBinAxis * >(argp1);
-  ecode2 = SWIG_AsVal_unsigned_SS_int(swig_obj[1], &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VariableBinAxis___getitem__" "', argument " "2"" of type '" "unsigned int""'");
-  } 
-  arg2 = static_cast< unsigned int >(val2);
-  result = (double)VariableBinAxis___getitem__(arg1,arg2);
-  resultobj = SWIG_From_double(static_cast< double >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *VariableBinAxis_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
@@ -26629,36 +26597,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_FixedBinAxis___getitem__(PyObject *self, PyObject *args) {
-  PyObject *resultobj = 0;
-  FixedBinAxis *arg1 = (FixedBinAxis *) 0 ;
-  unsigned int arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  unsigned int val2 ;
-  int ecode2 = 0 ;
-  PyObject *swig_obj[2] ;
-  double result;
-  
-  if (!SWIG_Python_UnpackTuple(args, "FixedBinAxis___getitem__", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FixedBinAxis, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FixedBinAxis___getitem__" "', argument " "1"" of type '" "FixedBinAxis *""'"); 
-  }
-  arg1 = reinterpret_cast< FixedBinAxis * >(argp1);
-  ecode2 = SWIG_AsVal_unsigned_SS_int(swig_obj[1], &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FixedBinAxis___getitem__" "', argument " "2"" of type '" "unsigned int""'");
-  } 
-  arg2 = static_cast< unsigned int >(val2);
-  result = (double)FixedBinAxis___getitem__(arg1,arg2);
-  resultobj = SWIG_From_double(static_cast< double >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *FixedBinAxis_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
@@ -29446,7 +29384,6 @@ static PyMethodDef SwigMethods[] = {
 	 { "VariableBinAxis_binCenters", _wrap_VariableBinAxis_binCenters, METH_O, "VariableBinAxis_binCenters(VariableBinAxis self) -> vdouble1d_t"},
 	 { "VariableBinAxis_binBoundaries", _wrap_VariableBinAxis_binBoundaries, METH_O, "VariableBinAxis_binBoundaries(VariableBinAxis self) -> vdouble1d_t"},
 	 { "VariableBinAxis_clip", _wrap_VariableBinAxis_clip, METH_VARARGS, "VariableBinAxis_clip(VariableBinAxis self, double lower, double upper)"},
-	 { "VariableBinAxis___getitem__", _wrap_VariableBinAxis___getitem__, METH_VARARGS, "VariableBinAxis___getitem__(VariableBinAxis self, unsigned int i) -> double"},
 	 { "VariableBinAxis_swigregister", VariableBinAxis_swigregister, METH_O, NULL},
 	 { "VariableBinAxis_swiginit", VariableBinAxis_swiginit, METH_VARARGS, NULL},
 	 { "delete_FixedBinAxis", _wrap_delete_FixedBinAxis, METH_O, "delete_FixedBinAxis(FixedBinAxis self)"},
@@ -29464,7 +29401,6 @@ static PyMethodDef SwigMethods[] = {
 	 { "FixedBinAxis_binCenters", _wrap_FixedBinAxis_binCenters, METH_O, "FixedBinAxis_binCenters(FixedBinAxis self) -> vdouble1d_t"},
 	 { "FixedBinAxis_binBoundaries", _wrap_FixedBinAxis_binBoundaries, METH_O, "FixedBinAxis_binBoundaries(FixedBinAxis self) -> vdouble1d_t"},
 	 { "FixedBinAxis_clip", _wrap_FixedBinAxis_clip, METH_VARARGS, "FixedBinAxis_clip(FixedBinAxis self, double lower, double upper)"},
-	 { "FixedBinAxis___getitem__", _wrap_FixedBinAxis___getitem__, METH_VARARGS, "FixedBinAxis___getitem__(FixedBinAxis self, unsigned int i) -> double"},
 	 { "FixedBinAxis_swigregister", FixedBinAxis_swigregister, METH_O, NULL},
 	 { "FixedBinAxis_swiginit", FixedBinAxis_swiginit, METH_VARARGS, NULL},
 	 { "PointwiseAxis_clone", _wrap_PointwiseAxis_clone, METH_O, "PointwiseAxis_clone(PointwiseAxis self) -> PointwiseAxis"},