diff --git a/GUI/View/Realspace/RealspaceBuilder.cpp b/GUI/View/Realspace/RealspaceBuilder.cpp
index 74ec96b73a738f22f97fb098d873405106dd4660..2a512a8bc30bc266af78ef1e1f18a01f1a6d6ede 100644
--- a/GUI/View/Realspace/RealspaceBuilder.cpp
+++ b/GUI/View/Realspace/RealspaceBuilder.cpp
@@ -105,7 +105,7 @@ std::unique_ptr<const double2d_t> layerRoughnessMap(const LayerItem& layerItem,
         roughItem->certainInterlayerModel()->createModel();
 
     auto roughness = LayerRoughness(autocorrelation.get(), interlayer.get());
-    if (roughness.sigma() == 0)
+    if (roughness.rms() == 0)
         return result;
 
     int n = sceneGeometry.numRoughnessPointsAlongAxis;
diff --git a/Resample/Processed/ReSample.cpp b/Resample/Processed/ReSample.cpp
index 9c10b553f74761c3bc801501e1c3751cf3a42881..2d03aa05aaf3dcc6df3a57553274aab7afa5b96d 100644
--- a/Resample/Processed/ReSample.cpp
+++ b/Resample/Processed/ReSample.cpp
@@ -402,7 +402,7 @@ bool ReSample::polarizing() const
 bool ReSample::hasRoughness() const
 {
     for (const auto& slice : m_stack)
-        if (slice.topRoughness() && slice.topRoughness()->sigma() > 0)
+        if (slice.topRoughness() && slice.topRoughness()->rms() > 0)
             return true;
     return false;
 }
diff --git a/Resample/Slice/ProfileHelper.cpp b/Resample/Slice/ProfileHelper.cpp
index 0e25c53674886136c9072816f5cd0c1209b7c6f2..c969445e83c3afb840999ec14fb06a6fb352d7ac 100644
--- a/Resample/Slice/ProfileHelper.cpp
+++ b/Resample/Slice/ProfileHelper.cpp
@@ -27,7 +27,7 @@ double Transition(double x, const LayerRoughness* roughness)
     if (!roughness)
         return Math::Heaviside(x);
 
-    return roughness->interlayerModel()->transient(x, roughness->sigma());
+    return roughness->interlayerModel()->transient(x, roughness->rms());
 }
 
 const std::string SLD = "SLD";
@@ -113,9 +113,9 @@ std::pair<double, double> ProfileHelper::defaultLimits() const
     const LayerRoughness* bottomRoughness = m_stack.back().topRoughness();
 
     double top_margin =
-        topRoughness && topRoughness->sigma() > 0 ? 5.0 * topRoughness->sigma() : default_margin;
-    double bottom_margin = bottomRoughness && bottomRoughness->sigma() > 0
-                               ? 5.0 * bottomRoughness->sigma()
+        topRoughness && topRoughness->rms() > 0 ? 5.0 * topRoughness->rms() : default_margin;
+    double bottom_margin = bottomRoughness && bottomRoughness->rms() > 0
+                               ? 5.0 * bottomRoughness->rms()
                                : default_margin;
     double z_min = m_stack.back().hig() - bottom_margin;
     double z_max = m_stack.front().low() + top_margin;
diff --git a/Resample/Specular/ComputeFluxMagnetic.cpp b/Resample/Specular/ComputeFluxMagnetic.cpp
index 83e5b8a730254c0b409d43aeeb2bf7da8980bb8c..63b2380f5c5da6a009b218a376f8b5e65c8c8057 100644
--- a/Resample/Specular/ComputeFluxMagnetic.cpp
+++ b/Resample/Specular/ComputeFluxMagnetic.cpp
@@ -182,7 +182,7 @@ std::vector<MatrixFlux> computeTR(const SliceStack& slices, const std::vector<co
 
     for (size_t i = N - 1; i > 0; --i) {
         const auto* roughness = slices.bottomRoughness(i);
-        const double sigma = roughness ? roughness->sigma() : 0.;
+        const double sigma = roughness ? roughness->rms() : 0.;
         const auto* r_model = roughness ? roughness->interlayerModel() : nullptr;
 
         // compute the 2x2 blocks of the transfer matrix
@@ -288,7 +288,7 @@ SpinMatrix Compute::polarizedReflectivity(const SliceStack& slices,
     for (size_t i = N - 1; i > 0; --i) {
         MatrixFlux tr_i = createCoeff(i - 1);
         const auto* roughness = slices.bottomRoughness(i - 1);
-        const double sigma = roughness ? roughness->sigma() : 0.;
+        const double sigma = roughness ? roughness->rms() : 0.;
         const auto* r_model = roughness ? roughness->interlayerModel() : nullptr;
 
         // compute the 2x2 blocks of the transfer matrix
diff --git a/Resample/Specular/ComputeFluxScalar.cpp b/Resample/Specular/ComputeFluxScalar.cpp
index 7f8a70ddeacf043c87177eb10d8ed4be63b615d7..b4be0a72c9b4250a085e4fe62e48dc4c4c8c2a70 100644
--- a/Resample/Specular/ComputeFluxScalar.cpp
+++ b/Resample/Specular/ComputeFluxScalar.cpp
@@ -84,7 +84,7 @@ std::vector<Spinor> computeTR(const SliceStack& slices, const std::vector<comple
         const size_t jthis = X[i - 1];
         const size_t jlast = X[i];
         const auto* roughness = slices.bottomRoughness(jthis);
-        const double sigma = roughness ? roughness->sigma() : 0.;
+        const double sigma = roughness ? roughness->rms() : 0.;
         const auto* r_model = roughness ? roughness->interlayerModel() : nullptr;
 
         const auto [slp, slm] = transition(kz[jthis], kz[jlast], sigma, r_model);
@@ -138,7 +138,7 @@ complex_t Compute::scalarReflectivity(const SliceStack& slices, const std::vecto
 
     for (size_t i = N - 1; i > 0; i--) {
         const auto* roughness = slices.bottomRoughness(i - 1);
-        const double sigma = roughness ? roughness->sigma() : 0.;
+        const double sigma = roughness ? roughness->rms() : 0.;
         const auto* r_model = roughness ? roughness->interlayerModel() : nullptr;
 
         const auto [sp, sm] = ::transition(kz[i - 1], kz[i], sigma, r_model);
diff --git a/Sample/Interface/AutocorrelationModels.cpp b/Sample/Interface/AutocorrelationModels.cpp
index 78d7877b5d578353f7dbcea2912aed7e5eda9324..e95b678f6f86fe87e4409e915efba75361673980 100644
--- a/Sample/Interface/AutocorrelationModels.cpp
+++ b/Sample/Interface/AutocorrelationModels.cpp
@@ -28,7 +28,7 @@ AutocorrelationModel::AutocorrelationModel(double maxSpatFrequency)
 std::vector<std::string> AutocorrelationModel::validationErrs() const
 {
     std::vector<std::string> errs;
-    requestGt0(errs, m_max_spatial_frequency, "maxSpatFrequency");
+    requestGt0(errs, m_max_spatial_frequency, "maxSpatialFrequency");
     return errs;
 }
 
@@ -40,7 +40,7 @@ std::string AutocorrelationModel::pythonArguments() const
 
 //-------------------------------------------------------------------------------------------------
 
-//! @param sigma: rms of the roughness in nanometers
+//! @param sigma: height scale of the roughness in nanometers (usually close to rms)
 //! @param hurstParameter: hurst parameter which describes how jagged the interface,
 //! dimensionless (0.0, 1.0], where 0.0 gives more spikes, 1.0 more smoothness
 //! @param lateralCorrLength: lateral correlation length of the roughness in nanometers
@@ -115,3 +115,9 @@ double K_CorrelationModel::corrFunction(const R3& r) const
     return m_sigma * m_sigma * std::pow(2., 1 - H) / tgamma(H) * std::pow(R / clength, H)
            * gsl_sf_bessel_Knu(H, R / clength);
 }
+
+double K_CorrelationModel::rms() const
+{
+    // integration of spectral function: rms^2 = Integrate[PSD(f) * 2*pi*f, {f, 0, max_frequency}]
+    return 0;
+}
diff --git a/Sample/Interface/AutocorrelationModels.h b/Sample/Interface/AutocorrelationModels.h
index dc2a99961f10726dd84896ce7ba0e08b29892a83..ab49076278d7e75013cf53fb79feb7731099aff2 100644
--- a/Sample/Interface/AutocorrelationModels.h
+++ b/Sample/Interface/AutocorrelationModels.h
@@ -23,7 +23,7 @@
 class AutocorrelationModel : public ICloneable, public INode {
 public:
     AutocorrelationModel* clone() const override = 0;
-    virtual double sigma() const = 0;
+    virtual double rms() const = 0;
     virtual double spectralFunction(const R3& k) const = 0;
     virtual double corrFunction(const R3& k) const = 0;
 
@@ -60,10 +60,12 @@ public:
 
     double corrFunction(const R3& r) const override;
 
+    double rms() const override;
+
     //! Sets rms of roughness
     void setSigma(double sigma) { m_sigma = sigma; }
     //! Returns rms of roughness
-    double sigma() const override { return m_sigma; }
+    double sigma() const { return m_sigma; }
 
     //! Sets hurst parameter. It describes how jagged the surface is.
     void setHurstParameter(double hurstParameter) { m_hurst_parameter = hurstParameter; }
diff --git a/Sample/Interface/CrosscorrelationModels.cpp b/Sample/Interface/CrosscorrelationModels.cpp
index 7f9e47f789140b88dfa524b14706c542c1b1623f..d821c3e4ce8b1af99376b434f617e0e7a51e72ef 100644
--- a/Sample/Interface/CrosscorrelationModels.cpp
+++ b/Sample/Interface/CrosscorrelationModels.cpp
@@ -27,15 +27,15 @@ double cross_spectrum(const AutocorrelationModel* up, const AutocorrelationModel
 {
     ASSERT(up && low);
 
-    const double sigma_up = up->sigma();
-    const double sigma_low = low->sigma();
+    const double rms_up = up->rms();
+    const double rms_low = low->rms();
 
-    if (sigma_up <= 0 || sigma_low <= 0)
+    if (rms_up <= 0 || rms_low <= 0)
         return 0;
 
     const double spectrum_up = up->spectralFunction(qvec);
     const double spectrum_low = low->spectralFunction(qvec);
-    return 0.5 * ((sigma_low / sigma_up) * spectrum_up + (sigma_up / sigma_low) * spectrum_low);
+    return 0.5 * ((rms_low / rms_up) * spectrum_up + (rms_up / rms_low) * spectrum_low);
 }
 } // namespace
 
diff --git a/Sample/Interface/LayerRoughness.h b/Sample/Interface/LayerRoughness.h
index 711445d47578d001aa105634895866643faf7b35..796e868eb442862de08a9fd6045dd9a58be9974f 100644
--- a/Sample/Interface/LayerRoughness.h
+++ b/Sample/Interface/LayerRoughness.h
@@ -35,15 +35,8 @@ public:
     std::string className() const final { return "LayerRoughness"; }
     std::vector<const INode*> nodeChildren() const override;
 
-#ifndef SWIG
-    bool showInScriptOrGui() const;
-#endif
-
     //! Returns rms of roughness
-    double sigma() const
-    {
-        return m_autocorrelation_model->sigma();
-    }
+    double rms() const { return m_autocorrelation_model->rms(); }
 
     void setAutocorrelationModel(const AutocorrelationModel* autocorrelation);
     const AutocorrelationModel* autocorrelationModel() const
@@ -52,10 +45,7 @@ public:
     }
 
     void setInterlayerModel(const InterlayerModel* interlayer);
-    const InterlayerModel* interlayerModel() const
-    {
-        return m_interlayer_model.get();
-    }
+    const InterlayerModel* interlayerModel() const { return m_interlayer_model.get(); }
 
     void setCrosscorrelationModel(const CrosscorrelationModel* crosscorrelation);
     const CrosscorrelationModel* crosscorrelationModel() const
@@ -63,6 +53,10 @@ public:
         return m_crosscorrelation_model.get();
     }
 
+#ifndef SWIG
+    bool showInScriptOrGui() const;
+#endif
+
 private:
     std::unique_ptr<AutocorrelationModel> m_autocorrelation_model; // never nullptr
     std::unique_ptr<InterlayerModel> m_interlayer_model;           // never nullptr
diff --git a/Sample/Interface/RoughnessMap.cpp b/Sample/Interface/RoughnessMap.cpp
index d79718316c64e8cddf21420045421dcf1ed5a5ff..187d6a7554d54eec0643047a63761b42ff2d5302 100644
--- a/Sample/Interface/RoughnessMap.cpp
+++ b/Sample/Interface/RoughnessMap.cpp
@@ -70,7 +70,7 @@ double2d_t RoughnessMap::generateMap()
 double2d_t RoughnessMap::mapFromHeights() const
 {
     const size_t z_steps = 3999;
-    const double sigma = m_layerRoughness->sigma();
+    const double sigma = m_layerRoughness->rms();
     const double sigma_factor = m_layerRoughness->interlayerModel()->sigmaRange();
     const double z_limit = sigma * sigma_factor;
     const double step = 2 * z_limit / (z_steps - 1);
@@ -196,7 +196,7 @@ double2d_t RoughnessMap::applyHeightsToSpectrum(const double2d_t& h_map,
 
 void RoughnessMap::createMap()
 {
-    if (m_layerRoughness->sigma() < 1e-10) {
+    if (m_layerRoughness->rms() < 1e-10) {
         m_rough_map = double2d_t(m_y_points, std::vector<double>(m_x_points));
         return;
     }
diff --git a/Sim/Computation/RoughMultiLayerContribution.cpp b/Sim/Computation/RoughMultiLayerContribution.cpp
index 6d8d2e0fe55424ea3d5122c3ddd4838c93431fbd..2ddcea80f7ea4d2f0e29f42719a52f84b725e169 100644
--- a/Sim/Computation/RoughMultiLayerContribution.cpp
+++ b/Sim/Computation/RoughMultiLayerContribution.cpp
@@ -87,7 +87,7 @@ complex_t get_sum8terms(const ReSample& re_sample, size_t i_layer, const Diffuse
     const complex_t qz4_B = -qz1_B;
 
     const LayerRoughness* roughness = re_sample.averageSlices().bottomRoughness(i_layer);
-    const double sigma = roughness ? roughness->sigma() : 0.;
+    const double sigma = roughness ? roughness->rms() : 0.;
     const complex_t term1 = T_i_A * T_f_A * ::h_above(qz1_A * sigma);
     const complex_t term2 = T_i_A * R_f_A * ::h_above(qz2_A * sigma);
     const complex_t term3 = R_i_A * T_f_A * ::h_above(qz3_A * sigma);
diff --git a/Tests/Unit/Sample/MultiLayerTest.cpp b/Tests/Unit/Sample/MultiLayerTest.cpp
index 29b10dfff5259d5a7285d300a19c0218522908ef..dfd83c098499dfb9f9ade60abd1aefbf8bb59c2c 100644
--- a/Tests/Unit/Sample/MultiLayerTest.cpp
+++ b/Tests/Unit/Sample/MultiLayerTest.cpp
@@ -87,17 +87,17 @@ TEST_F(MultiLayerTest, LayerInterfaces)
     const LayerInterface* interface0 = mLayer.layerInterface(0);
     EXPECT_TRUE(nullptr != interface0);
     EXPECT_TRUE(nullptr != interface0->roughness());
-    EXPECT_EQ(interface0->roughness()->sigma(), 0.0);
+    EXPECT_EQ(interface0->roughness()->rms(), 0.0);
 
     const LayerInterface* interface1 = mLayer.layerInterface(1);
     EXPECT_TRUE(nullptr != interface1);
     EXPECT_TRUE(nullptr != interface1->roughness());
-    EXPECT_EQ(interface1->roughness()->sigma(), 0.0);
+    EXPECT_EQ(interface1->roughness()->rms(), 0.0);
 
     const LayerInterface* interface2 = mLayer.layerInterface(2);
     EXPECT_TRUE(nullptr != interface2);
     EXPECT_TRUE(nullptr != interface2->roughness());
-    EXPECT_EQ(interface2->roughness()->sigma(), 0.0);
+    EXPECT_EQ(interface2->roughness()->rms(), 0.0);
 }
 
 TEST_F(MultiLayerTest, Clone)
@@ -119,19 +119,19 @@ TEST_F(MultiLayerTest, Clone)
     const LayerInterface* interface0 = mLayerClone->layerInterface(0);
     EXPECT_TRUE(nullptr != interface0);
     EXPECT_TRUE(nullptr != interface0->roughness());
-    EXPECT_EQ(interface0->roughness()->sigma(), 0.0);
+    EXPECT_EQ(interface0->roughness()->rms(), 0.0);
     EXPECT_TRUE(nullptr == interface0->roughness()->crosscorrelationModel());
 
     const LayerInterface* interface1 = mLayerClone->layerInterface(1);
     EXPECT_TRUE(nullptr != interface1);
     EXPECT_TRUE(nullptr != interface1->roughness());
-    EXPECT_EQ(interface1->roughness()->sigma(), 0.0);
+    EXPECT_EQ(interface1->roughness()->rms(), 0.0);
     EXPECT_TRUE(nullptr == interface1->roughness()->crosscorrelationModel());
 
     const LayerInterface* interface2 = mLayerClone->layerInterface(2);
     EXPECT_TRUE(nullptr != interface2);
     EXPECT_TRUE(nullptr != interface2->roughness());
-    EXPECT_EQ(interface2->roughness()->sigma(), 0.0);
+    EXPECT_EQ(interface2->roughness()->rms(), 0.0);
     EXPECT_TRUE(nullptr == interface2->roughness()->crosscorrelationModel());
 
     delete mLayerClone;
@@ -157,12 +157,12 @@ TEST_F(MultiLayerTest, WithRoughness)
         dynamic_cast<const K_CorrelationModel*>(roughness0->autocorrelationModel());
     EXPECT_TRUE(roughness0_AC);
 
-    EXPECT_EQ(1.1, roughness0->sigma());
+    EXPECT_EQ(1.1, roughness0->rms());
     EXPECT_EQ(.3, roughness0_AC->hurst());
     EXPECT_EQ(0.1, roughness0_AC->lateralCorrLength());
 
     EXPECT_TRUE(roughness1);
-    EXPECT_EQ(roughness1->sigma(), 0.0);
+    EXPECT_EQ(roughness1->rms(), 0.0);
 }
 
 TEST_F(MultiLayerTest, CloneWithRoughness)
@@ -196,7 +196,7 @@ TEST_F(MultiLayerTest, CloneWithRoughness)
         dynamic_cast<const K_CorrelationModel*>(roughness0->autocorrelationModel());
     EXPECT_TRUE(roughness0_AC);
 
-    EXPECT_EQ(2.1, roughness0->sigma());
+    EXPECT_EQ(2.1, roughness0->rms());
     EXPECT_EQ(.3, roughness0_AC->hurst());
     EXPECT_EQ(12.1, roughness0_AC->lateralCorrLength());
 
@@ -204,7 +204,7 @@ TEST_F(MultiLayerTest, CloneWithRoughness)
         dynamic_cast<const K_CorrelationModel*>(roughness1->autocorrelationModel());
     EXPECT_TRUE(roughness1_AC);
 
-    EXPECT_EQ(1.1, roughness1->sigma());
+    EXPECT_EQ(1.1, roughness1->rms());
     EXPECT_EQ(.3, roughness1_AC->hurst());
     EXPECT_EQ(0.1, roughness1_AC->lateralCorrLength());
 
diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py
index 716bd55a52543777f9911861fa3747f823acb823..50d24f07ead2b332927725ad7ac74c16500f389e 100644
--- a/auto/Wrap/libBornAgainSample.py
+++ b/auto/Wrap/libBornAgainSample.py
@@ -4191,9 +4191,9 @@ class LayerRoughness(ISampleNode):
         r"""nodeChildren(LayerRoughness self) -> swig_dummy_type_const_inode_vector"""
         return _libBornAgainSample.LayerRoughness_nodeChildren(self)
 
-    def sigma(self):
-        r"""sigma(LayerRoughness self) -> double"""
-        return _libBornAgainSample.LayerRoughness_sigma(self)
+    def rms(self):
+        r"""rms(LayerRoughness self) -> double"""
+        return _libBornAgainSample.LayerRoughness_rms(self)
 
     def setAutocorrelationModel(self, autocorrelation):
         r"""setAutocorrelationModel(LayerRoughness self, AutocorrelationModel autocorrelation)"""
@@ -4326,9 +4326,9 @@ class AutocorrelationModel(libBornAgainBase.ICloneable, libBornAgainParam.INode)
         r"""clone(AutocorrelationModel self) -> AutocorrelationModel"""
         return _libBornAgainSample.AutocorrelationModel_clone(self)
 
-    def sigma(self):
-        r"""sigma(AutocorrelationModel self) -> double"""
-        return _libBornAgainSample.AutocorrelationModel_sigma(self)
+    def rms(self):
+        r"""rms(AutocorrelationModel self) -> double"""
+        return _libBornAgainSample.AutocorrelationModel_rms(self)
 
     def spectralFunction(self, k):
         r"""spectralFunction(AutocorrelationModel self, R3 k) -> double"""
@@ -4387,6 +4387,10 @@ class K_CorrelationModel(AutocorrelationModel):
         r"""corrFunction(K_CorrelationModel self, R3 r) -> double"""
         return _libBornAgainSample.K_CorrelationModel_corrFunction(self, r)
 
+    def rms(self):
+        r"""rms(K_CorrelationModel self) -> double"""
+        return _libBornAgainSample.K_CorrelationModel_rms(self)
+
     def setSigma(self, sigma):
         r"""setSigma(K_CorrelationModel self, double sigma)"""
         return _libBornAgainSample.K_CorrelationModel_setSigma(self, sigma)
diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp
index 07d646c2cfb211a5f8d68daef6577fc667066c6b..f782b5f0b269462e617650738c699e3e5c70a422 100644
--- a/auto/Wrap/libBornAgainSample_wrap.cpp
+++ b/auto/Wrap/libBornAgainSample_wrap.cpp
@@ -50738,7 +50738,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_LayerRoughness_sigma(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_LayerRoughness_rms(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   LayerRoughness *arg1 = (LayerRoughness *) 0 ;
   void *argp1 = 0 ;
@@ -50751,12 +50751,12 @@ SWIGINTERN PyObject *_wrap_LayerRoughness_sigma(PyObject *self, PyObject *args)
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_LayerRoughness, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LayerRoughness_sigma" "', argument " "1"" of type '" "LayerRoughness const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LayerRoughness_rms" "', argument " "1"" of type '" "LayerRoughness const *""'"); 
   }
   arg1 = reinterpret_cast< LayerRoughness * >(argp1);
   {
     try {
-      result = (double)((LayerRoughness const *)arg1)->sigma();
+      result = (double)((LayerRoughness const *)arg1)->rms();
     } catch (const std::exception& ex) {
       // message shown in the Python interpreter
       const std::string msg {
@@ -52085,7 +52085,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_AutocorrelationModel_sigma(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_AutocorrelationModel_rms(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   AutocorrelationModel *arg1 = (AutocorrelationModel *) 0 ;
   void *argp1 = 0 ;
@@ -52098,12 +52098,12 @@ SWIGINTERN PyObject *_wrap_AutocorrelationModel_sigma(PyObject *self, PyObject *
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_AutocorrelationModel, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AutocorrelationModel_sigma" "', argument " "1"" of type '" "AutocorrelationModel const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AutocorrelationModel_rms" "', argument " "1"" of type '" "AutocorrelationModel const *""'"); 
   }
   arg1 = reinterpret_cast< AutocorrelationModel * >(argp1);
   {
     try {
-      result = (double)((AutocorrelationModel const *)arg1)->sigma();
+      result = (double)((AutocorrelationModel const *)arg1)->rms();
     } catch (const std::exception& ex) {
       // message shown in the Python interpreter
       const std::string msg {
@@ -52879,6 +52879,40 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_K_CorrelationModel_rms(PyObject *self, PyObject *args) {
+  PyObject *resultobj = 0;
+  K_CorrelationModel *arg1 = (K_CorrelationModel *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  double result;
+  
+  (void)self;
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_K_CorrelationModel, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "K_CorrelationModel_rms" "', argument " "1"" of type '" "K_CorrelationModel const *""'"); 
+  }
+  arg1 = reinterpret_cast< K_CorrelationModel * >(argp1);
+  {
+    try {
+      result = (double)((K_CorrelationModel const *)arg1)->rms();
+    } catch (const std::exception& ex) {
+      // message shown in the Python interpreter
+      const std::string msg {
+        "BornAgain C++ Exception: " + std::string(ex.what())
+      };
+      SWIG_exception(SWIG_RuntimeError, msg.c_str());
+    }
+  }
+  resultobj = SWIG_From_double(static_cast< double >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_K_CorrelationModel_setSigma(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   K_CorrelationModel *arg1 = (K_CorrelationModel *) 0 ;
@@ -74592,7 +74626,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "LayerRoughness_clone", _wrap_LayerRoughness_clone, METH_O, "LayerRoughness_clone(LayerRoughness self) -> LayerRoughness"},
 	 { "LayerRoughness_className", _wrap_LayerRoughness_className, METH_O, "LayerRoughness_className(LayerRoughness self) -> std::string"},
 	 { "LayerRoughness_nodeChildren", _wrap_LayerRoughness_nodeChildren, METH_O, "LayerRoughness_nodeChildren(LayerRoughness self) -> swig_dummy_type_const_inode_vector"},
-	 { "LayerRoughness_sigma", _wrap_LayerRoughness_sigma, METH_O, "LayerRoughness_sigma(LayerRoughness self) -> double"},
+	 { "LayerRoughness_rms", _wrap_LayerRoughness_rms, METH_O, "LayerRoughness_rms(LayerRoughness self) -> double"},
 	 { "LayerRoughness_setAutocorrelationModel", _wrap_LayerRoughness_setAutocorrelationModel, METH_VARARGS, "LayerRoughness_setAutocorrelationModel(LayerRoughness self, AutocorrelationModel autocorrelation)"},
 	 { "LayerRoughness_autocorrelationModel", _wrap_LayerRoughness_autocorrelationModel, METH_O, "LayerRoughness_autocorrelationModel(LayerRoughness self) -> AutocorrelationModel"},
 	 { "LayerRoughness_setInterlayerModel", _wrap_LayerRoughness_setInterlayerModel, METH_VARARGS, "LayerRoughness_setInterlayerModel(LayerRoughness self, InterlayerModel interlayer)"},
@@ -74628,7 +74662,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "MultiLayer_swigregister", MultiLayer_swigregister, METH_O, NULL},
 	 { "MultiLayer_swiginit", MultiLayer_swiginit, METH_VARARGS, NULL},
 	 { "AutocorrelationModel_clone", _wrap_AutocorrelationModel_clone, METH_O, "AutocorrelationModel_clone(AutocorrelationModel self) -> AutocorrelationModel"},
-	 { "AutocorrelationModel_sigma", _wrap_AutocorrelationModel_sigma, METH_O, "AutocorrelationModel_sigma(AutocorrelationModel self) -> double"},
+	 { "AutocorrelationModel_rms", _wrap_AutocorrelationModel_rms, METH_O, "AutocorrelationModel_rms(AutocorrelationModel self) -> double"},
 	 { "AutocorrelationModel_spectralFunction", _wrap_AutocorrelationModel_spectralFunction, METH_VARARGS, "AutocorrelationModel_spectralFunction(AutocorrelationModel self, R3 k) -> double"},
 	 { "AutocorrelationModel_corrFunction", _wrap_AutocorrelationModel_corrFunction, METH_VARARGS, "AutocorrelationModel_corrFunction(AutocorrelationModel self, R3 k) -> double"},
 	 { "AutocorrelationModel_setMaxSpatialFrequency", _wrap_AutocorrelationModel_setMaxSpatialFrequency, METH_VARARGS, "AutocorrelationModel_setMaxSpatialFrequency(AutocorrelationModel self, double val)"},
@@ -74643,6 +74677,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "K_CorrelationModel_validate", _wrap_K_CorrelationModel_validate, METH_O, "K_CorrelationModel_validate(K_CorrelationModel self) -> std::string"},
 	 { "K_CorrelationModel_spectralFunction", _wrap_K_CorrelationModel_spectralFunction, METH_VARARGS, "K_CorrelationModel_spectralFunction(K_CorrelationModel self, R3 q) -> double"},
 	 { "K_CorrelationModel_corrFunction", _wrap_K_CorrelationModel_corrFunction, METH_VARARGS, "K_CorrelationModel_corrFunction(K_CorrelationModel self, R3 r) -> double"},
+	 { "K_CorrelationModel_rms", _wrap_K_CorrelationModel_rms, METH_O, "K_CorrelationModel_rms(K_CorrelationModel self) -> double"},
 	 { "K_CorrelationModel_setSigma", _wrap_K_CorrelationModel_setSigma, METH_VARARGS, "K_CorrelationModel_setSigma(K_CorrelationModel self, double sigma)"},
 	 { "K_CorrelationModel_sigma", _wrap_K_CorrelationModel_sigma, METH_O, "K_CorrelationModel_sigma(K_CorrelationModel self) -> double"},
 	 { "K_CorrelationModel_setHurstParameter", _wrap_K_CorrelationModel_setHurstParameter, METH_VARARGS, "K_CorrelationModel_setHurstParameter(K_CorrelationModel self, double hurstParameter)"},