diff --git a/Core/Simulation/ISimulation.h b/Core/Simulation/ISimulation.h
index f6e235e9951110a7be5ff3460563a77a383c9bc6..90ce97bd4579cc022e3d9275a31b44a1dc2a0e6c 100644
--- a/Core/Simulation/ISimulation.h
+++ b/Core/Simulation/ISimulation.h
@@ -12,8 +12,8 @@
 //
 // ************************************************************************** //
 
-#ifndef BORNAGAIN_CORE_SIMULATION_SIMULATION_H
-#define BORNAGAIN_CORE_SIMULATION_SIMULATION_H
+#ifndef BORNAGAIN_CORE_SIMULATION_ISIMULATION_H
+#define BORNAGAIN_CORE_SIMULATION_ISIMULATION_H
 
 #include "Core/Computation/ProgressHandler.h"
 #include "Device/Detector/IDetector2D.h"
@@ -156,4 +156,4 @@ private:
     std::unique_ptr<IBackground> m_background;
 };
 
-#endif // BORNAGAIN_CORE_SIMULATION_SIMULATION_H
+#endif // BORNAGAIN_CORE_SIMULATION_ISIMULATION_H
diff --git a/Core/Simulation/ISimulation2D.h b/Core/Simulation/ISimulation2D.h
index 3f777ec175b2ad058ced8cead774c0a4e69bb34b..43e67d278ddb5f7aab4f34ff447bb8a1ff5fb0da 100644
--- a/Core/Simulation/ISimulation2D.h
+++ b/Core/Simulation/ISimulation2D.h
@@ -12,8 +12,8 @@
 //
 // ************************************************************************** //
 
-#ifndef BORNAGAIN_CORE_SIMULATION_SIMULATION2D_H
-#define BORNAGAIN_CORE_SIMULATION_SIMULATION2D_H
+#ifndef BORNAGAIN_CORE_SIMULATION_ISIMULATION2D_H
+#define BORNAGAIN_CORE_SIMULATION_ISIMULATION2D_H
 
 #include "Core/Simulation/ISimulation.h"
 
@@ -100,4 +100,4 @@ private:
     std::unique_ptr<DetectorContext> m_detector_context;
 };
 
-#endif // BORNAGAIN_CORE_SIMULATION_SIMULATION2D_H
+#endif // BORNAGAIN_CORE_SIMULATION_ISIMULATION2D_H
diff --git a/Examples/Demos/simul_demo_cyl_SSCA.py b/Examples/Demos/simul_demo_cyl_SSCA.py
index 9e1db66fa4574f519769accc165b75dea99e8a2d..e469a40df3d7a1ca65df3be7abd8453930cfc2ac 100644
--- a/Examples/Demos/simul_demo_cyl_SSCA.py
+++ b/Examples/Demos/simul_demo_cyl_SSCA.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: Size Space Coupling Approximation
+Simulation demo: Size Space Coupling Approximation
 '''
 
 import numpy
diff --git a/Examples/Demos/simul_demo_cylsphere.py b/Examples/Demos/simul_demo_cylsphere.py
index 462e8d121d956bef0fde4fd37b8df79924d66015..1b7f60f258aa464c60d38ec027dae0aa15e1ee6c 100644
--- a/Examples/Demos/simul_demo_cylsphere.py
+++ b/Examples/Demos/simul_demo_cylsphere.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: Cylinder and/or sphere on substrate
+Simulation demo: Cylinder and/or sphere on substrate
 '''
 
 import numpy
diff --git a/Examples/Demos/simul_demo_lattice1.py b/Examples/Demos/simul_demo_lattice1.py
index d6a84612439eb26caded52dd404e9036bada5be0..7b433807041b314e360380f93b8df4bfa4b63c35 100644
--- a/Examples/Demos/simul_demo_lattice1.py
+++ b/Examples/Demos/simul_demo_lattice1.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: 2d lattice structure of particles
+Simulation demo: 2d lattice structure of particles
 '''
 
 import numpy
diff --git a/Examples/Demos/simul_demo_lattice2.py b/Examples/Demos/simul_demo_lattice2.py
index d1e0c1f3e76728d2627d7f0df0da42b085cfb2a4..67b89d1f7ce838f39800bcc9fbe467e62c5bf34c 100644
--- a/Examples/Demos/simul_demo_lattice2.py
+++ b/Examples/Demos/simul_demo_lattice2.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: Cylinder form factor without interference
+Simulation demo: Cylinder form factor without interference
 '''
 
 import numpy
diff --git a/Examples/Demos/simul_demo_movie.py b/Examples/Demos/simul_demo_movie.py
index c842fa970442ece15bb734112d2059d2e9cab48d..dfb7de2e43d6de760e40bb5df3ff1bd33f0a081e 100644
--- a/Examples/Demos/simul_demo_movie.py
+++ b/Examples/Demos/simul_demo_movie.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: movie of growing particles on substrate
+Simulation demo: movie of growing particles on substrate
 '''
 
 import os, sys
diff --git a/Examples/Demos/simul_demo_movie2.py b/Examples/Demos/simul_demo_movie2.py
index 7f31249da581d5221c1def033a4442b8ab38ffc4..72b73ae6537c23914c12b09ff4e64321fba7f3c8 100644
--- a/Examples/Demos/simul_demo_movie2.py
+++ b/Examples/Demos/simul_demo_movie2.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: make movie
+Simulation demo: make movie
 '''
 
 import os, sys
diff --git a/Examples/Demos/simul_demo_movie3.py b/Examples/Demos/simul_demo_movie3.py
index 1ba3c36bfd0e15b8065c4f579bb6fe6dc299ba7f..0037480b61ed8e0b5de18e734746005381e4d40b 100644
--- a/Examples/Demos/simul_demo_movie3.py
+++ b/Examples/Demos/simul_demo_movie3.py
@@ -1,5 +1,5 @@
 '''
-ISimulation demo: Size Space Coupling Approximation
+Simulation demo: Size Space Coupling Approximation
 '''
 
 import os, sys
diff --git a/Examples/python/fitting/ex03_ExtendedExamples/specular/RealLifeReflectometryFitting.py b/Examples/python/fitting/ex03_ExtendedExamples/specular/RealLifeReflectometryFitting.py
index 5ef8ce8d8e379f3a57f2401ce94aa05039be3e14..5ac85e84fd6f10383fa96e01117f031c0f58b436 100644
--- a/Examples/python/fitting/ex03_ExtendedExamples/specular/RealLifeReflectometryFitting.py
+++ b/Examples/python/fitting/ex03_ExtendedExamples/specular/RealLifeReflectometryFitting.py
@@ -257,7 +257,7 @@ def plot_result(sim_result, ref_result, bin_start=0, bin_end=-1):
     ylabel = "Intensity"
     plt.xlabel(xlabel, fontsize=16)
     plt.ylabel(ylabel, fontsize=16)
-    plt.legend(['Experimental data', 'ISimulation', 'Reference'],
+    plt.legend(['Experimental data', 'Simulation', 'Reference'],
                loc='upper right', fontsize=16)
 
     plt.show()
diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference1DLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference1DLattice.py
index 4015a974f7c4e9a7f15dd2875fd4c205b9443e6f..20d98c6b4fdc6287278d2bc48918a24617afd82d 100644
--- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference1DLattice.py
+++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference1DLattice.py
@@ -1,5 +1,5 @@
 """
-ISimulation of grating using very long boxes and 1D lattice.
+Simulation of grating using very long boxes and 1D lattice.
 Monte-carlo integration is used to get rid of
 large-particle form factor oscillations.
 """
diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/RectangularGrating.py b/Examples/python/simulation/ex03_InterferenceFunctions/RectangularGrating.py
index d4443ce01dd0770f52d7a134a32355c30fe7d636..b3765dcbcdede787317c8be2efb1dcdd68132ba2 100644
--- a/Examples/python/simulation/ex03_InterferenceFunctions/RectangularGrating.py
+++ b/Examples/python/simulation/ex03_InterferenceFunctions/RectangularGrating.py
@@ -1,5 +1,5 @@
 """
-ISimulation of grating using very long boxes and 1D lattice.
+Simulation of grating using very long boxes and 1D lattice.
 Monte-carlo integration is used to get rid of
 large-particle form factor oscillations.
 """
diff --git a/Examples/python/simulation/ex04_ComplexShapes/ParticlesCrossingInterface.py b/Examples/python/simulation/ex04_ComplexShapes/ParticlesCrossingInterface.py
index ee16b973c928e20b88b918a5f55a7915396b2ca3..c9cb50390a330e13f640388143418b8ba25a9b1c 100644
--- a/Examples/python/simulation/ex04_ComplexShapes/ParticlesCrossingInterface.py
+++ b/Examples/python/simulation/ex04_ComplexShapes/ParticlesCrossingInterface.py
@@ -7,7 +7,7 @@ with the difference, that z-position of particles is adjusted to move them sligh
 down from vacuum layer and to make them cross substrate/air interface.
 
 Note:
-1) ISimulation kernel automatically detects particles crossing interface and
+1) Simulation kernel automatically detects particles crossing interface and
 adjusts calculations accordingly.
 
 2) Particle crossing interface requires more time to simulate.
diff --git a/Examples/python/simulation/ex05_BeamAndDetector/RectangularDetector.py b/Examples/python/simulation/ex05_BeamAndDetector/RectangularDetector.py
index 8c2f94a2d9fa7fb9f27dee75a127721b24507048..7bf9045b8811932c7fe99c611ccec180435f0348 100644
--- a/Examples/python/simulation/ex05_BeamAndDetector/RectangularDetector.py
+++ b/Examples/python/simulation/ex05_BeamAndDetector/RectangularDetector.py
@@ -1,5 +1,5 @@
 """
-ISimulation with rectangular detector. Pilatus3-1M detector is used as an example.
+Simulation with rectangular detector. Pilatus3-1M detector is used as an example.
 Results will be compared against simulation with spherical detector.
 """
 import numpy
diff --git a/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetry.py b/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetry.py
index 8d6d72c5e38e32fb39bc89b2f441c9c11189e560..6a6e15442313e458d2435ed8b85f56f3d433ceb4 100644
--- a/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetry.py
+++ b/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetry.py
@@ -41,7 +41,7 @@ RhoMconst = 2.910429812376859e-12
 
 
 ####################################################################
-#                  Create Sample and ISimulation                    #
+#                  Create Sample and Simulation                    #
 ####################################################################
     
     
diff --git a/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetryFit.py b/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetryFit.py
index f7af21c3dc79e42b45dd4d07ecd7af25f320f633..3e193e00606552d88ffb3580cf3a031964e6d6a1 100644
--- a/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetryFit.py
+++ b/Examples/python/simulation/ex06_Reflectometry/PolarizedSpinAsymmetryFit.py
@@ -41,7 +41,7 @@ RhoMconst = 2.910429812376859e-12
 
 
 ####################################################################
-#                  Create Sample and ISimulation                    #
+#                  Create Sample and Simulation                    #
 ####################################################################
 
 
diff --git a/Examples/python/simulation/ex07_Miscellaneous/FindPeaks.py b/Examples/python/simulation/ex07_Miscellaneous/FindPeaks.py
index 9fc5a724805545dbf9168dc0e33744bbedcca3f2..67e819af38a7e163a3ddec33c1b5550762edf7e8 100644
--- a/Examples/python/simulation/ex07_Miscellaneous/FindPeaks.py
+++ b/Examples/python/simulation/ex07_Miscellaneous/FindPeaks.py
@@ -1,5 +1,5 @@
 """
-ISimulation of grating using very long boxes and 1D lattice.
+Simulation of grating using very long boxes and 1D lattice.
 Monte-carlo integration is used to get rid of
 large-particle form factor oscillations.
 """
diff --git a/Examples/python/simulation/ex07_Miscellaneous/MagneticSpheres.py b/Examples/python/simulation/ex07_Miscellaneous/MagneticSpheres.py
index 55aef6b1b08b31ef698abef9ef4c845f30e00d5f..a1a126cb466cdf9d95b32aaa5eacbf9f25932418 100644
--- a/Examples/python/simulation/ex07_Miscellaneous/MagneticSpheres.py
+++ b/Examples/python/simulation/ex07_Miscellaneous/MagneticSpheres.py
@@ -1,5 +1,5 @@
 """
-ISimulation demo: magnetic spheres in substrate
+Simulation demo: magnetic spheres in substrate
 """
 import bornagain as ba
 from bornagain import deg, angstrom, nm
diff --git a/Sample/Aggregate/InterferenceFunction3DLattice.cpp b/Sample/Aggregate/InterferenceFunction3DLattice.cpp
index 80a1e165a50f8e872d3997db694bb2083aada1d7..73188ec40c4b33dd124915de7cf730466a248890 100644
--- a/Sample/Aggregate/InterferenceFunction3DLattice.cpp
+++ b/Sample/Aggregate/InterferenceFunction3DLattice.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "Sample/Aggregate/InterferenceFunction3DLattice.h"
-#include "Base/Types/Exceptions.h"
+#include "Base/Utils/Assert.h"
 #include "Sample/Correlations/IPeakShape.h"
 #include <algorithm>
 
@@ -57,9 +57,7 @@ void InterferenceFunction3DLattice::onChange()
 
 double InterferenceFunction3DLattice::iff_without_dw(const kvector_t q) const
 {
-    if (!m_peak_shape)
-        throw std::runtime_error("InterferenceFunction3DLattice::evaluate: "
-                                 "no peak shape defined");
+    ASSERT(m_peak_shape);
     kvector_t center = q;
     double radius = 2.1 * m_rec_radius;
     double inner_radius = 0.0;
@@ -69,12 +67,11 @@ double InterferenceFunction3DLattice::iff_without_dw(const kvector_t q) const
         radius += q.mag();
     }
     auto rec_vectors = m_lattice.reciprocalLatticeVectorsWithinRadius(center, radius);
+
     double result = 0.0;
-    for (const auto& q_rec : rec_vectors) {
-        if (!(q_rec.mag() < inner_radius)) {
+    for (const auto& q_rec : rec_vectors)
+        if (!(q_rec.mag() < inner_radius))
             result += m_peak_shape->evaluate(q, q_rec);
-        }
-    }
     return result;
 }
 
diff --git a/Sample/Correlations/IPeakShape.cpp b/Sample/Correlations/IPeakShape.cpp
index 65aabb7b4f272ef6e0ab01b54821d24574f04609..e1fbdb85be05331725c38a9405d66de2090cbba2 100644
--- a/Sample/Correlations/IPeakShape.cpp
+++ b/Sample/Correlations/IPeakShape.cpp
@@ -158,16 +158,16 @@ GaussFisherPeakShape* GaussFisherPeakShape::clone() const
 
 double GaussFisherPeakShape::evaluate(const kvector_t q, const kvector_t q_lattice_point) const
 {
-    double q_r = q.mag();
-    double q_lat_r = q_lattice_point.mag();
-    double dq2 = (q_r - q_lat_r) * (q_r - q_lat_r);
+    const double q_r = q.mag();
+    const double q_lat_r = q_lattice_point.mag();
+    const double dq2 = (q_r - q_lat_r) * (q_r - q_lat_r);
     if (q_lat_r == 0.0)
         return m_max_intensity * Gauss3D(dq2, m_radial_size);
-    double norm_factor = m_radial_size / std::sqrt(M_TWOPI);
-    double radial_part = norm_factor * std::exp(-dq2 * m_radial_size * m_radial_size / 2.0);
+    const double norm_factor = m_radial_size / std::sqrt(M_TWOPI);
+    const double radial_part = norm_factor * std::exp(-dq2 * m_radial_size * m_radial_size / 2.0);
     double angular_part = 1.0;
     if (q_r * q_lat_r > 0.0) {
-        double dot_norm = q.dot(q_lattice_point) / q_r / q_lat_r;
+        const double dot_norm = q.dot(q_lattice_point) / q_r / q_lat_r;
         angular_part = FisherDistribution(dot_norm, m_kappa) / (q_r * q_r);
     }
     return m_max_intensity * radial_part * angular_part;
@@ -192,15 +192,15 @@ LorentzFisherPeakShape* LorentzFisherPeakShape::clone() const
 
 double LorentzFisherPeakShape::evaluate(const kvector_t q, const kvector_t q_lattice_point) const
 {
-    double q_r = q.mag();
-    double q_lat_r = q_lattice_point.mag();
-    double dq2 = (q_r - q_lat_r) * (q_r - q_lat_r);
+    const double q_r = q.mag();
+    const double q_lat_r = q_lattice_point.mag();
+    const double dq2 = (q_r - q_lat_r) * (q_r - q_lat_r);
     if (q_lat_r == 0.0)
         return m_max_intensity * Cauchy3D(dq2, m_radial_size);
-    double radial_part = m_radial_size / (1.0 + dq2 * m_radial_size * m_radial_size) / M_PI;
+    const double radial_part = m_radial_size / (1.0 + dq2 * m_radial_size * m_radial_size) / M_PI;
     double angular_part = 1.0;
     if (q_r * q_lat_r > 0.0) {
-        double dot_norm = q.dot(q_lattice_point) / q_r / q_lat_r;
+        const double dot_norm = q.dot(q_lattice_point) / q_r / q_lat_r;
         angular_part = FisherDistribution(dot_norm, m_kappa) / (q_r * q_r);
     }
     return m_max_intensity * radial_part * angular_part;
@@ -232,20 +232,20 @@ MisesFisherGaussPeakShape* MisesFisherGaussPeakShape::clone() const
 double MisesFisherGaussPeakShape::evaluate(const kvector_t q, const kvector_t q_lattice_point) const
 {
     // radial part
-    double q_r = q.mag();
-    double q_lat_r = q_lattice_point.mag();
-    double dq2 = (q_r - q_lat_r) * (q_r - q_lat_r);
+    const double q_r = q.mag();
+    const double q_lat_r = q_lattice_point.mag();
+    const double dq2 = (q_r - q_lat_r) * (q_r - q_lat_r);
     if (q_lat_r == 0.0 || q_r == 0.0)
         return m_max_intensity * Gauss3D(dq2, m_radial_size);
-    double norm_factor = m_radial_size / std::sqrt(M_TWOPI);
-    double radial_part = norm_factor * std::exp(-dq2 * m_radial_size * m_radial_size / 2.0);
+    const double norm_factor = m_radial_size / std::sqrt(M_TWOPI);
+    const double radial_part = norm_factor * std::exp(-dq2 * m_radial_size * m_radial_size / 2.0);
     // angular part
     m_uy = m_zenith.cross(q_lattice_point);
     kvector_t zxq = m_zenith.cross(q);
     m_up = q_lattice_point.unit();
     if (m_uy.mag2() <= 0.0 || zxq.mag2() <= 0.0) {
-        double x = q.unit().dot(m_up);
-        double angular_part = FisherDistribution(x, m_kappa_1);
+        const double x = q.unit().dot(m_up);
+        const double angular_part = FisherDistribution(x, m_kappa_1);
         return m_max_intensity * radial_part * angular_part;
     }
     m_uy = m_uy.unit();
@@ -253,9 +253,9 @@ double MisesFisherGaussPeakShape::evaluate(const kvector_t q, const kvector_t q_
     kvector_t q_ortho = q - q.dot(m_zenith) * m_zenith;
     m_phi = std::acos(q_ortho.unit().dot(m_ux));
     m_theta = std::acos(q.unit().dot(m_zenith));
-    double pre_1 = FisherPrefactor(m_kappa_1);
-    double pre_2 = MisesPrefactor(m_kappa_2);
-    double integral = RealIntegrator().integrate(
+    const double pre_1 = FisherPrefactor(m_kappa_1);
+    const double pre_2 = MisesPrefactor(m_kappa_2);
+    const double integral = RealIntegrator().integrate(
         [&](double phi) -> double { return integrand(phi); }, 0.0, M_TWOPI);
     return m_max_intensity * radial_part * pre_1 * pre_2 * integral;
 }
@@ -264,9 +264,9 @@ double MisesFisherGaussPeakShape::integrand(double phi) const
 {
     kvector_t u_q = std::sin(m_theta) * std::cos(phi) * m_ux
                     + std::sin(m_theta) * std::sin(phi) * m_uy + std::cos(m_theta) * m_zenith;
-    double fisher = std::exp(m_kappa_1 * (u_q.dot(m_up) - 1.0));
-    double vonmises = std::exp(m_kappa_2 * (std::cos(m_phi - phi) - 1.0));
-    return fisher * vonmises;
+    const double fisher = std::exp(m_kappa_1 * (u_q.dot(m_up) - 1.0));
+    const double mises = std::exp(m_kappa_2 * (std::cos(m_phi - phi) - 1.0));
+    return fisher * mises;
 }
 
 // ************************************************************************** //
@@ -294,7 +294,7 @@ double MisesGaussPeakShape::evaluate(const kvector_t q, const kvector_t q_lattic
     m_uy = m_zenith.cross(q_lattice_point);
     kvector_t zxq = m_zenith.cross(q);
     if (m_uy.mag2() <= 0.0 || zxq.mag2() <= 0.0) {
-        double dq2 = (q - q_lattice_point).mag2();
+        const double dq2 = (q - q_lattice_point).mag2();
         return m_max_intensity * Gauss3D(dq2, m_radial_size);
     }
     m_qr = q.mag();
@@ -304,8 +304,8 @@ double MisesGaussPeakShape::evaluate(const kvector_t q, const kvector_t q_lattic
     kvector_t q_ortho = q - q.dot(m_zenith) * m_zenith;
     m_phi = std::acos(q_ortho.unit().dot(m_ux));
     m_theta = std::acos(q.unit().dot(m_zenith));
-    double pre = MisesPrefactor(m_kappa);
-    double integral = RealIntegrator().integrate(
+    const double pre = MisesPrefactor(m_kappa);
+    const double integral = RealIntegrator().integrate(
         [&](double phi) -> double { return integrand(phi); }, 0.0, M_TWOPI);
     return m_max_intensity * pre * integral;
 }
@@ -315,8 +315,8 @@ double MisesGaussPeakShape::integrand(double phi) const
     kvector_t q_rot = m_qr
                       * (std::sin(m_theta) * std::cos(phi) * m_ux
                          + std::sin(m_theta) * std::sin(phi) * m_uy + std::cos(m_theta) * m_zenith);
-    double dq2 = (q_rot - m_p).mag2();
-    double gauss = Gauss3D(dq2, m_radial_size);
-    double vonmises = std::exp(m_kappa * (std::cos(m_phi - phi) - 1.0));
-    return gauss * vonmises;
+    const double dq2 = (q_rot - m_p).mag2();
+    const double gauss = Gauss3D(dq2, m_radial_size);
+    const double mises = std::exp(m_kappa * (std::cos(m_phi - phi) - 1.0));
+    return gauss * mises;
 }
diff --git a/Sample/Lattice/ILatticeOrientation.cpp b/Sample/Lattice/ILatticeOrientation.cpp
index db239c6a3dd97495eb7a9a3c2fe87d73ce442bd4..212d83c6eb839f9c61a8c968b8107f7358b85126 100644
--- a/Sample/Lattice/ILatticeOrientation.cpp
+++ b/Sample/Lattice/ILatticeOrientation.cpp
@@ -56,7 +56,7 @@ void MillerIndexOrientation::usePrimitiveLattice(const Lattice& lattice)
                               lattice.getBasisVectorC());
 }
 
-Transform3D MillerIndexOrientation::transformationMatrix() const
+Transform3D MillerIndexOrientation::transformation() const
 {
     auto dir_1 = m_prim_lattice.getMillerDirection(m_ind1.h, m_ind1.k, m_ind1.l);
     auto dir_2 = m_prim_lattice.getMillerDirection(m_ind2.h, m_ind2.k, m_ind2.l);
diff --git a/Sample/Lattice/ILatticeOrientation.h b/Sample/Lattice/ILatticeOrientation.h
index 75b8d14a36ab41b48200381c2ed1df4d6065e306..9b6c519627265a018bf809a760d2a14bc4d1a823 100644
--- a/Sample/Lattice/ILatticeOrientation.h
+++ b/Sample/Lattice/ILatticeOrientation.h
@@ -18,6 +18,9 @@
 #include "Base/Vector/Transform3D.h"
 #include "Sample/Lattice/Lattice.h"
 
+//! Pure virtual base of classes that specify a lattice orientation.
+//! Currently only inherited by MillerIndexOrientation.
+
 class ILatticeOrientation
 {
 public:
@@ -27,7 +30,7 @@ public:
 
     virtual void usePrimitiveLattice(const Lattice& lattice) = 0;
 
-    virtual Transform3D transformationMatrix() const = 0;
+    virtual Transform3D transformation() const = 0;
 };
 
 //! A direction in reciprocal space, specified by double-valued indices hkl.
@@ -54,7 +57,7 @@ public:
 
     void usePrimitiveLattice(const Lattice& lattice) override;
 
-    Transform3D transformationMatrix() const override;
+    Transform3D transformation() const override;
 
 private:
     bool checkAlignment() const;
diff --git a/Sample/Lattice/Lattice.cpp b/Sample/Lattice/Lattice.cpp
index 7e413749b5745fd2a7fbc9ba53cb9174a74756d2..3192afb274ba08673803bfe0ade556f8bd235cd6 100644
--- a/Sample/Lattice/Lattice.cpp
+++ b/Sample/Lattice/Lattice.cpp
@@ -59,7 +59,7 @@ Lattice::~Lattice()
     delete m_selection_rule;
 }
 
-Lattice Lattice::createTransformedLattice(const Transform3D& transform) const
+Lattice Lattice::transformed(const Transform3D& transform) const
 {
     kvector_t a1 = transform.transformed(m_a);
     kvector_t a2 = transform.transformed(m_b);
diff --git a/Sample/Lattice/Lattice.h b/Sample/Lattice/Lattice.h
index 64a6b3f0f0d9a884cb63a00a940f598a4f1c5764..ab640a2a1959228f266d784c3c25eb19b544e1d7 100644
--- a/Sample/Lattice/Lattice.h
+++ b/Sample/Lattice/Lattice.h
@@ -35,7 +35,7 @@ public:
     void accept(INodeVisitor* visitor) const override { visitor->visit(this); }
 
     //! Creates transformed lattice
-    Lattice createTransformedLattice(const Transform3D& transform) const;
+    Lattice transformed(const Transform3D& transform) const;
 
     //! Initializes cached data
     void initialize() const;
diff --git a/Sample/Lattice/LatticeUtils.cpp b/Sample/Lattice/LatticeUtils.cpp
index 79568358765afa91d7aa4b457eaa106fdd2b81e6..d1fd9a8b02d1b4eb98b2b3cb946e8c0046234e38 100644
--- a/Sample/Lattice/LatticeUtils.cpp
+++ b/Sample/Lattice/LatticeUtils.cpp
@@ -18,30 +18,30 @@
 Lattice LatticeUtils::createFCCLattice(double lattice_constant,
                                        const ILatticeOrientation& orientation)
 {
-    Lattice prim_cubic = Lattice::createCubicLattice(1.0);
+    const Lattice prim_cubic = Lattice::createCubicLattice(1.0);
     std::unique_ptr<ILatticeOrientation> P_orientation(orientation.clone());
     P_orientation->usePrimitiveLattice(prim_cubic);
-    auto rotation = P_orientation->transformationMatrix();
-    Lattice fcc = Lattice::createFCCLattice(lattice_constant);
-    return fcc.createTransformedLattice(rotation);
+    const Transform3D trafo = P_orientation->transformation();
+    const Lattice fcc = Lattice::createFCCLattice(lattice_constant);
+    return fcc.transformed(trafo);
 }
 
 Lattice LatticeUtils::createHCPLattice(double a, double c, const ILatticeOrientation& orientation)
 {
-    Lattice prim_hexagonal = Lattice::createHexagonalLattice(1.0, c / a);
+    const Lattice prim_hexagonal = Lattice::createHexagonalLattice(1.0, c / a);
     std::unique_ptr<ILatticeOrientation> P_orientation(orientation.clone());
     P_orientation->usePrimitiveLattice(prim_hexagonal);
-    auto rotation = P_orientation->transformationMatrix();
-    Lattice hcp = Lattice::createHCPLattice(a, c);
-    return hcp.createTransformedLattice(rotation);
+    const Transform3D trafo = P_orientation->transformation();
+    const Lattice hcp = Lattice::createHCPLattice(a, c);
+    return hcp.transformed(trafo);
 }
 
 Lattice LatticeUtils::createBCTLattice(double a, double c, const ILatticeOrientation& orientation)
 {
-    Lattice prim_tetragonal = Lattice::createTetragonalLattice(1.0, c / a);
+    const Lattice prim_tetragonal = Lattice::createTetragonalLattice(1.0, c / a);
     std::unique_ptr<ILatticeOrientation> P_orientation(orientation.clone());
     P_orientation->usePrimitiveLattice(prim_tetragonal);
-    auto rotation = P_orientation->transformationMatrix();
-    Lattice hcp = Lattice::createBCTLattice(a, c);
-    return hcp.createTransformedLattice(rotation);
+    const Transform3D trafo = P_orientation->transformation();
+    const Lattice hcp = Lattice::createBCTLattice(a, c);
+    return hcp.transformed(trafo);
 }
diff --git a/Sample/Particle/Crystal.cpp b/Sample/Particle/Crystal.cpp
index 9f539cd1ddda262368cf386840d7a9ea329df6e6..5d68e28fbbd837d514a4b55368086b22b864d701 100644
--- a/Sample/Particle/Crystal.cpp
+++ b/Sample/Particle/Crystal.cpp
@@ -72,7 +72,7 @@ std::vector<HomogeneousRegion> Crystal::homogeneousRegions() const
 Lattice Crystal::transformedLattice(const IRotation* p_rotation) const
 {
     if (p_rotation)
-        return m_lattice.createTransformedLattice(p_rotation->getTransform3D());
+        return m_lattice.transformed(p_rotation->getTransform3D());
     else
         return m_lattice;
 }
diff --git a/Tests/Functional/Python/PyCore/sliced_composition.py b/Tests/Functional/Python/PyCore/sliced_composition.py
index 854044511732518748d416b2c08dcfb8758d8b2b..a4e9b46bd8509b02709dfeb9057d0b475c70a00d 100644
--- a/Tests/Functional/Python/PyCore/sliced_composition.py
+++ b/Tests/Functional/Python/PyCore/sliced_composition.py
@@ -85,8 +85,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testComposition(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: spherical particle on top of substrate
-        ISimulation #2: spherical composition on top of substrate, where top and bottom are made of same material
+        Simulation #1: spherical particle on top of substrate
+        Simulation #2: spherical composition on top of substrate, where top and bottom are made of same material
         """
 
         # spherical particle
@@ -104,8 +104,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testCompositionBuilds(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: spherical particle composition on top of substrate
-        ISimulation #2: same, but made using rotation
+        Simulation #1: spherical particle composition on top of substrate
+        Simulation #2: same, but made using rotation
         """
 
         composition = self.get_composition(mParticle, mSubstrate)
@@ -123,8 +123,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testInvisibleComposition(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: no particles at all
-        ISimulation #2: spherical composition on top of substrate crossing the interface
+        Simulation #1: no particles at all
+        Simulation #2: spherical composition on top of substrate crossing the interface
         Bottom part of composition is made of substrate material, top part from vacuum layer material
         """
 
@@ -145,8 +145,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testSlicedComposition(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: spherical particle on top of substrate
-        ISimulation #2: spherical composition on top of substrate, where top and bottom are made of same material
+        Simulation #1: spherical particle on top of substrate
+        Simulation #2: spherical composition on top of substrate, where top and bottom are made of same material
         Both particles are inserted in vacuum layer with shift to go below interface
         """
 
@@ -169,8 +169,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testSphericalCupOnTopOfSubstrate(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: truncated sphere on top of substrate.
-        ISimulation #2: spherical particle composition crossing the interface.
+        Simulation #1: truncated sphere on top of substrate.
+        Simulation #2: spherical particle composition crossing the interface.
         Bottom part of composition is made from substrate material.
         both cases should look like a truncated sphere on top of substrate.
         """
diff --git a/Tests/Functional/Python/PyCore/sliced_spheres.py b/Tests/Functional/Python/PyCore/sliced_spheres.py
index 0542b2d5c986043b603794692f9c9108e475f971..1195f1df170735d0ded43919fc0ce1a8cbafbb3b 100644
--- a/Tests/Functional/Python/PyCore/sliced_spheres.py
+++ b/Tests/Functional/Python/PyCore/sliced_spheres.py
@@ -47,8 +47,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testSphericalCupOnTopOfSubstrate(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: truncated sphere on top of substrate.
-        ISimulation #2: spherical particle crossing the interface.
+        Simulation #1: truncated sphere on top of substrate.
+        Simulation #2: spherical particle crossing the interface.
         Both particles are made of same material as substrate. From scattering point of view,
         both cases should look like a truncated sphere on top of substrate.
         """
@@ -95,8 +95,8 @@ class SlicedSpheresTest(unittest.TestCase):
     def testSpheresCrossingInterface(self):
         """
         Compares two simulation intended to  provide identical results.
-        ISimulation #1: full sphere inserted in vacuum layer to cross interface
-        ISimulation #2: full sphere inserted in substrate layer to cross interface
+        Simulation #1: full sphere inserted in vacuum layer to cross interface
+        Simulation #2: full sphere inserted in substrate layer to cross interface
         Both spheres are made of same material.
         """
         mParticle = ba.HomogeneousMaterial("Ag", 1.245e-5, 5.419e-7)
diff --git a/Tests/UnitTests/Core/Sample/LatticeTest.cpp b/Tests/UnitTests/Core/Sample/LatticeTest.cpp
index 96dbe38768082474f9f295182a896b57c06f1c6d..4ffd2473a22787d7ca4a5fb63a304ad6efa0fe13 100644
--- a/Tests/UnitTests/Core/Sample/LatticeTest.cpp
+++ b/Tests/UnitTests/Core/Sample/LatticeTest.cpp
@@ -75,7 +75,7 @@ TEST_F(LatticeTest, transformTest)
 
     // use rotation by 90 degrees around z axis as a transformation
     Transform3D tr = Transform3D::createRotateZ(M_TWOPI / 4);
-    Lattice ltr = l1.createTransformedLattice(tr);
+    Lattice ltr = l1.transformed(tr);
 
     // use EXPECT_NEAR as transform (matrix multiplication) uses double value for rotation angle
     // e.g. Rotating the vector (1,0,0) by 2*PI about z would give something like (0.99999,0,0)
diff --git a/Wrap/python/plot_utils.py b/Wrap/python/plot_utils.py
index 4f45e6bbf40b35120c39f7e7eed38f3d5e99bd23..f0161beb3932617d752e82b5c95678dcaae8b078 100644
--- a/Wrap/python/plot_utils.py
+++ b/Wrap/python/plot_utils.py
@@ -29,7 +29,7 @@ label_fontsize = 16
 def get_axes_limits(result, units):
     """
     Returns axes range as expected by pyplot.imshow.
-    :param result: SimulationResult object from a ISimulation
+    :param result: SimulationResult object from a Simulation
     :param units: units to use
     :return: axes ranges as a flat list
     """
@@ -73,7 +73,7 @@ def translate_axis_label(label):
 def get_axes_labels(result, units):
     """
     Returns axes range as expected by pyplot.imshow.
-    :param result: SimulationResult object from a ISimulation
+    :param result: SimulationResult object from a Simulation
     :param units: units to use
     :return: axes ranges as a flat list
     """
diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i
index a948f8eb0275c39971ff9bd65976651fd4f93837..bedb5409bc49fa109285d649b9529c9b58781506 100644
--- a/auto/Wrap/doxygenSample.i
+++ b/auto/Wrap/doxygenSample.i
@@ -3640,7 +3640,12 @@ Calculates the intensity for scalar particles/interactions.
 
 
 // File: classILatticeOrientation.xml
-%feature("docstring") ILatticeOrientation "";
+%feature("docstring") ILatticeOrientation "
+
+Pure virtual base of classes that specify a lattice orientation. Currently only inherited by  MillerIndexOrientation.
+
+C++ includes: ILatticeOrientation.h
+";
 
 %feature("docstring")  ILatticeOrientation::~ILatticeOrientation "ILatticeOrientation::~ILatticeOrientation()
 ";
@@ -3651,7 +3656,7 @@ Calculates the intensity for scalar particles/interactions.
 %feature("docstring")  ILatticeOrientation::usePrimitiveLattice "virtual void ILatticeOrientation::usePrimitiveLattice(const Lattice &lattice)=0
 ";
 
-%feature("docstring")  ILatticeOrientation::transformationMatrix "virtual Transform3D ILatticeOrientation::transformationMatrix() const =0
+%feature("docstring")  ILatticeOrientation::transformation "virtual Transform3D ILatticeOrientation::transformation() const =0
 ";
 
 
@@ -4898,7 +4903,7 @@ C++ includes: Lattice.h
 %feature("docstring")  Lattice::accept "void Lattice::accept(INodeVisitor *visitor) const override
 ";
 
-%feature("docstring")  Lattice::createTransformedLattice "Lattice Lattice::createTransformedLattice(const Transform3D &transform) const
+%feature("docstring")  Lattice::transformed "Lattice Lattice::transformed(const Transform3D &transform) const
 
 Creates transformed lattice. 
 ";
@@ -5853,7 +5858,7 @@ This constructor is best explained by an example. Arguments QX, (1,1,0), QY, (0,
 %feature("docstring")  MillerIndexOrientation::usePrimitiveLattice "void MillerIndexOrientation::usePrimitiveLattice(const Lattice &lattice) override
 ";
 
-%feature("docstring")  MillerIndexOrientation::transformationMatrix "Transform3D MillerIndexOrientation::transformationMatrix() const override
+%feature("docstring")  MillerIndexOrientation::transformation "Transform3D MillerIndexOrientation::transformation() const override
 ";
 
 
diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py
index 3c6988c5fda786e0333741bb43737b8e301be141..697a6fd0aba96c9639ebc86253b405b0c74ff293 100644
--- a/auto/Wrap/libBornAgainSample.py
+++ b/auto/Wrap/libBornAgainSample.py
@@ -11382,7 +11382,14 @@ class FormFactorSphereLogNormalRadius(IFormFactorBorn):
 _libBornAgainSample.FormFactorSphereLogNormalRadius_swigregister(FormFactorSphereLogNormalRadius)
 
 class ILatticeOrientation(object):
-    r"""Proxy of C++ ILatticeOrientation class."""
+    r"""
+
+
+    Pure virtual base of classes that specify a lattice orientation. Currently only inherited by  MillerIndexOrientation.
+
+    C++ includes: ILatticeOrientation.h
+
+    """
 
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
@@ -11407,13 +11414,13 @@ class ILatticeOrientation(object):
         """
         return _libBornAgainSample.ILatticeOrientation_usePrimitiveLattice(self, lattice)
 
-    def transformationMatrix(self):
+    def transformation(self):
         r"""
-        transformationMatrix(ILatticeOrientation self) -> Transform3D
-        virtual Transform3D ILatticeOrientation::transformationMatrix() const =0
+        transformation(ILatticeOrientation self) -> Transform3D
+        virtual Transform3D ILatticeOrientation::transformation() const =0
 
         """
-        return _libBornAgainSample.ILatticeOrientation_transformationMatrix(self)
+        return _libBornAgainSample.ILatticeOrientation_transformation(self)
 
 # Register ILatticeOrientation in _libBornAgainSample:
 _libBornAgainSample.ILatticeOrientation_swigregister(ILatticeOrientation)
@@ -11492,13 +11499,13 @@ class MillerIndexOrientation(ILatticeOrientation):
         """
         return _libBornAgainSample.MillerIndexOrientation_usePrimitiveLattice(self, lattice)
 
-    def transformationMatrix(self):
+    def transformation(self):
         r"""
-        transformationMatrix(MillerIndexOrientation self) -> Transform3D
-        Transform3D MillerIndexOrientation::transformationMatrix() const override
+        transformation(MillerIndexOrientation self) -> Transform3D
+        Transform3D MillerIndexOrientation::transformation() const override
 
         """
-        return _libBornAgainSample.MillerIndexOrientation_transformationMatrix(self)
+        return _libBornAgainSample.MillerIndexOrientation_transformation(self)
 
 # Register MillerIndexOrientation in _libBornAgainSample:
 _libBornAgainSample.MillerIndexOrientation_swigregister(MillerIndexOrientation)
@@ -11612,15 +11619,15 @@ class Lattice(libBornAgainParam.INode):
         """
         return _libBornAgainSample.Lattice_accept(self, visitor)
 
-    def createTransformedLattice(self, transform):
+    def transformed(self, transform):
         r"""
-        createTransformedLattice(Lattice self, Transform3D const & transform) -> Lattice
-        Lattice Lattice::createTransformedLattice(const Transform3D &transform) const
+        transformed(Lattice self, Transform3D const & transform) -> Lattice
+        Lattice Lattice::transformed(const Transform3D &transform) const
 
         Creates transformed lattice. 
 
         """
-        return _libBornAgainSample.Lattice_createTransformedLattice(self, transform)
+        return _libBornAgainSample.Lattice_transformed(self, transform)
 
     def initialize(self):
         r"""
diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp
index b4b7786a4ee479f798afaf55032573558cb1154d..4360cb94ec10271257bf6cb5c0f5567935c4ed37 100644
--- a/auto/Wrap/libBornAgainSample_wrap.cpp
+++ b/auto/Wrap/libBornAgainSample_wrap.cpp
@@ -67868,7 +67868,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_ILatticeOrientation_transformationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_ILatticeOrientation_transformation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   ILatticeOrientation *arg1 = (ILatticeOrientation *) 0 ;
   void *argp1 = 0 ;
@@ -67880,10 +67880,10 @@ SWIGINTERN PyObject *_wrap_ILatticeOrientation_transformationMatrix(PyObject *SW
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ILatticeOrientation, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ILatticeOrientation_transformationMatrix" "', argument " "1"" of type '" "ILatticeOrientation const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ILatticeOrientation_transformation" "', argument " "1"" of type '" "ILatticeOrientation const *""'"); 
   }
   arg1 = reinterpret_cast< ILatticeOrientation * >(argp1);
-  result = ((ILatticeOrientation const *)arg1)->transformationMatrix();
+  result = ((ILatticeOrientation const *)arg1)->transformation();
   resultobj = SWIG_NewPointerObj((new Transform3D(static_cast< const Transform3D& >(result))), SWIGTYPE_p_Transform3D, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
@@ -68264,7 +68264,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_MillerIndexOrientation_transformationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_MillerIndexOrientation_transformation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   MillerIndexOrientation *arg1 = (MillerIndexOrientation *) 0 ;
   void *argp1 = 0 ;
@@ -68276,10 +68276,10 @@ SWIGINTERN PyObject *_wrap_MillerIndexOrientation_transformationMatrix(PyObject
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MillerIndexOrientation, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MillerIndexOrientation_transformationMatrix" "', argument " "1"" of type '" "MillerIndexOrientation const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MillerIndexOrientation_transformation" "', argument " "1"" of type '" "MillerIndexOrientation const *""'"); 
   }
   arg1 = reinterpret_cast< MillerIndexOrientation * >(argp1);
-  result = ((MillerIndexOrientation const *)arg1)->transformationMatrix();
+  result = ((MillerIndexOrientation const *)arg1)->transformation();
   resultobj = SWIG_NewPointerObj((new Transform3D(static_cast< const Transform3D& >(result))), SWIGTYPE_p_Transform3D, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
@@ -68713,7 +68713,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Lattice_createTransformedLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Lattice_transformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Lattice *arg1 = (Lattice *) 0 ;
   Transform3D *arg2 = 0 ;
@@ -68724,21 +68724,21 @@ SWIGINTERN PyObject *_wrap_Lattice_createTransformedLattice(PyObject *SWIGUNUSED
   PyObject *swig_obj[2] ;
   SwigValueWrapper< Lattice > result;
   
-  if (!SWIG_Python_UnpackTuple(args, "Lattice_createTransformedLattice", 2, 2, swig_obj)) SWIG_fail;
+  if (!SWIG_Python_UnpackTuple(args, "Lattice_transformed", 2, 2, swig_obj)) SWIG_fail;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Lattice, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Lattice_createTransformedLattice" "', argument " "1"" of type '" "Lattice const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Lattice_transformed" "', argument " "1"" of type '" "Lattice const *""'"); 
   }
   arg1 = reinterpret_cast< Lattice * >(argp1);
   res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_Transform3D,  0  | 0);
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Lattice_createTransformedLattice" "', argument " "2"" of type '" "Transform3D const &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Lattice_transformed" "', argument " "2"" of type '" "Transform3D const &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Lattice_createTransformedLattice" "', argument " "2"" of type '" "Transform3D const &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Lattice_transformed" "', argument " "2"" of type '" "Transform3D const &""'"); 
   }
   arg2 = reinterpret_cast< Transform3D * >(argp2);
-  result = ((Lattice const *)arg1)->createTransformedLattice((Transform3D const &)*arg2);
+  result = ((Lattice const *)arg1)->transformed((Transform3D const &)*arg2);
   resultobj = SWIG_NewPointerObj((new Lattice(static_cast< const Lattice& >(result))), SWIGTYPE_p_Lattice, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
@@ -76881,9 +76881,9 @@ static PyMethodDef SwigMethods[] = {
 		"virtual void ILatticeOrientation::usePrimitiveLattice(const Lattice &lattice)=0\n"
 		"\n"
 		""},
-	 { "ILatticeOrientation_transformationMatrix", _wrap_ILatticeOrientation_transformationMatrix, METH_O, "\n"
-		"ILatticeOrientation_transformationMatrix(ILatticeOrientation self) -> Transform3D\n"
-		"virtual Transform3D ILatticeOrientation::transformationMatrix() const =0\n"
+	 { "ILatticeOrientation_transformation", _wrap_ILatticeOrientation_transformation, METH_O, "\n"
+		"ILatticeOrientation_transformation(ILatticeOrientation self) -> Transform3D\n"
+		"virtual Transform3D ILatticeOrientation::transformation() const =0\n"
 		"\n"
 		""},
 	 { "ILatticeOrientation_swigregister", ILatticeOrientation_swigregister, METH_O, NULL},
@@ -76923,9 +76923,9 @@ static PyMethodDef SwigMethods[] = {
 		"void MillerIndexOrientation::usePrimitiveLattice(const Lattice &lattice) override\n"
 		"\n"
 		""},
-	 { "MillerIndexOrientation_transformationMatrix", _wrap_MillerIndexOrientation_transformationMatrix, METH_O, "\n"
-		"MillerIndexOrientation_transformationMatrix(MillerIndexOrientation self) -> Transform3D\n"
-		"Transform3D MillerIndexOrientation::transformationMatrix() const override\n"
+	 { "MillerIndexOrientation_transformation", _wrap_MillerIndexOrientation_transformation, METH_O, "\n"
+		"MillerIndexOrientation_transformation(MillerIndexOrientation self) -> Transform3D\n"
+		"Transform3D MillerIndexOrientation::transformation() const override\n"
 		"\n"
 		""},
 	 { "MillerIndexOrientation_swigregister", MillerIndexOrientation_swigregister, METH_O, NULL},
@@ -76985,9 +76985,9 @@ static PyMethodDef SwigMethods[] = {
 		"void Lattice::accept(INodeVisitor *visitor) const override\n"
 		"\n"
 		""},
-	 { "Lattice_createTransformedLattice", _wrap_Lattice_createTransformedLattice, METH_VARARGS, "\n"
-		"Lattice_createTransformedLattice(Lattice self, Transform3D const & transform) -> Lattice\n"
-		"Lattice Lattice::createTransformedLattice(const Transform3D &transform) const\n"
+	 { "Lattice_transformed", _wrap_Lattice_transformed, METH_VARARGS, "\n"
+		"Lattice_transformed(Lattice self, Transform3D const & transform) -> Lattice\n"
+		"Lattice Lattice::transformed(const Transform3D &transform) const\n"
 		"\n"
 		"Creates transformed lattice. \n"
 		"\n"