diff --git a/Core/Simulation/ISimulation.cpp b/Core/Simulation/ISimulation.cpp
index f1c7c02483a62a207207fd6ed1d8179224b1e88a..9c2910a0d2b0e8749f021bc79c8916d3939863b0 100644
--- a/Core/Simulation/ISimulation.cpp
+++ b/Core/Simulation/ISimulation.cpp
@@ -272,11 +272,6 @@ const MultiLayer* ISimulation::sample() const
     return m_sample_provider->sample();
 }
 
-void ISimulation::setSampleBuilder(const std::shared_ptr<class ISampleBuilder>& sample_builder)
-{
-    m_sample_provider->setBuilder(sample_builder);
-}
-
 void ISimulation::setBackground(const IBackground& bg)
 {
     m_background.reset(bg.clone());
diff --git a/Core/Simulation/ISimulation.h b/Core/Simulation/ISimulation.h
index 56c2e85fd1e5e5721afd418f00da242d1cb11999..c1ef4b4dbcf741bc2c3ef0bebe21a58b0278385b 100644
--- a/Core/Simulation/ISimulation.h
+++ b/Core/Simulation/ISimulation.h
@@ -23,7 +23,6 @@ template <class T> class OutputData;
 class IBackground;
 class IComputation;
 class ICoordSystem;
-class ISampleBuilder;
 class MultiLayer;
 class ProcessedSample;
 class ProgressHandler;
@@ -60,8 +59,6 @@ public:
     void setSample(const MultiLayer& sample);
     const MultiLayer* sample() const;
 
-    void setSampleBuilder(const std::shared_ptr<ISampleBuilder>& sample_builder);
-
     void setBackground(const IBackground& bg);
     const IBackground* background() const { return m_background.get(); }
 
diff --git a/Sample/SampleBuilderEngine/SampleProvider.cpp b/Sample/SampleBuilderEngine/SampleProvider.cpp
index 7c030ccd7b5a5debdd8ae72d74b5447c0746378e..e8ac00924d46afcc35e4f278c2f463d22183997f 100644
--- a/Sample/SampleBuilderEngine/SampleProvider.cpp
+++ b/Sample/SampleBuilderEngine/SampleProvider.cpp
@@ -23,14 +23,6 @@ void SampleProvider::setSample(const MultiLayer& multilayer)
 {
     m_multilayer.reset(multilayer.clone());
     m_multilayer->setParent(parent());
-    m_sample_builder_node.reset();
-}
-
-void SampleProvider::setBuilder(const std::shared_ptr<ISampleBuilder>& sample_builder)
-{
-    m_sample_builder_node.setSampleBuilder(sample_builder);
-    m_sample_builder_node.setParent(parent());
-    m_multilayer.reset();
 }
 
 //! Returns current sample.
@@ -44,9 +36,6 @@ const MultiLayer* SampleProvider::sample() const
 
 void SampleProvider::updateSample()
 {
-    if (m_sample_builder_node)
-        m_multilayer = m_sample_builder_node.createMultiLayer();
-
     if (!m_multilayer)
         throw std::runtime_error(
             "SampleProvider::updateSample called before sample or builder was set");
@@ -54,8 +43,6 @@ void SampleProvider::updateSample()
 
 std::vector<const INode*> SampleProvider::getChildren() const
 {
-    if (m_sample_builder_node)
-        return {&m_sample_builder_node};
     if (m_multilayer)
         return {m_multilayer.get()};
     return {};
@@ -64,8 +51,6 @@ std::vector<const INode*> SampleProvider::getChildren() const
 void SampleProvider::setParent(const INode* newParent)
 {
     INode::setParent(newParent);
-    if (m_sample_builder_node)
-        m_sample_builder_node.setParent(parent());
-    else if (m_multilayer)
+    if (m_multilayer)
         m_multilayer->setParent(parent());
 }
diff --git a/Sample/SampleBuilderEngine/SampleProvider.h b/Sample/SampleBuilderEngine/SampleProvider.h
index 58bf609bc03340a4660db32c3a6f30bdbbc54a59..48c884b402c45db10263798a51b3ed314a7b1935 100644
--- a/Sample/SampleBuilderEngine/SampleProvider.h
+++ b/Sample/SampleBuilderEngine/SampleProvider.h
@@ -38,8 +38,6 @@ public:
 
     void setSample(const MultiLayer& multilayer);
 
-    void setBuilder(const std::shared_ptr<ISampleBuilder>& sample_builder);
-
     const MultiLayer* sample() const;
 
     void updateSample();
@@ -52,7 +50,6 @@ public:
 
 private:
     std::unique_ptr<MultiLayer> m_multilayer;
-    SampleBuilderNode m_sample_builder_node;
 };
 
 #endif // BORNAGAIN_SAMPLE_SAMPLEBUILDERENGINE_SAMPLEPROVIDER_H
diff --git a/auto/Wrap/doxygenCore.i b/auto/Wrap/doxygenCore.i
index 5e13096d280dc653288032c30e9ca3887bc795b1..1cc660ca8dccbd03bd73ef13e61c7e264e9b9e61 100644
--- a/auto/Wrap/doxygenCore.i
+++ b/auto/Wrap/doxygenCore.i
@@ -942,9 +942,6 @@ The MultiLayer object will not be owned by the  ISimulation object.
 %feature("docstring")  ISimulation::sample "const MultiLayer * ISimulation::sample() const
 ";
 
-%feature("docstring")  ISimulation::setSampleBuilder "void ISimulation::setSampleBuilder(const std::shared_ptr< ISampleBuilder > &sample_builder)
-";
-
 %feature("docstring")  ISimulation::setBackground "void ISimulation::setBackground(const IBackground &bg)
 ";
 
@@ -1845,18 +1842,6 @@ Returns a flat array of user weights cut to the ROI area.
 ";
 
 
-// File: classSimulationFactory.xml
-%feature("docstring") SimulationFactory "
-
-Registry to create standard pre-defined simulations. Used in functional tests, performance measurements, etc.
-
-C++ includes: SimulationFactory.h
-";
-
-%feature("docstring")  SimulationFactory::SimulationFactory "SimulationFactory::SimulationFactory()
-";
-
-
 // File: classSimulationToPython.xml
 %feature("docstring") SimulationToPython "
 
@@ -1994,40 +1979,37 @@ C++ includes: VarianceFunctions.h
 // File: namespace_0d19.xml
 
 
-// File: namespace_0d23.xml
+// File: namespace_0d32.xml
 
 
-// File: namespace_0d36.xml
+// File: namespace_0d34.xml
 
 
-// File: namespace_0d38.xml
+// File: namespace_0d36.xml
 
 
-// File: namespace_0d40.xml
+// File: namespace_0d39.xml
 
 
-// File: namespace_0d43.xml
+// File: namespace_0d46.xml
 
 
-// File: namespace_0d50.xml
+// File: namespace_0d48.xml
 
 
 // File: namespace_0d52.xml
 
 
-// File: namespace_0d56.xml
+// File: namespace_0d62.xml
 
 
-// File: namespace_0d66.xml
+// File: namespace_0d67.xml
 
 
-// File: namespace_0d71.xml
+// File: namespace_0d72.xml
 
 
-// File: namespace_0d76.xml
-
-
-// File: namespace_0d84.xml
+// File: namespace_0d80.xml
 
 
 // File: namespace_0d9.xml
@@ -2136,111 +2118,6 @@ Prints an axis.
 ";
 
 
-// File: namespaceStdSimulations.xml
-%feature("docstring")  StdSimulations::MiniGISAS "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISAS(const MultiLayer &sample)
-
-GISAS simulation with small detector and phi[-2,2], theta[0,2]. 
-";
-
-%feature("docstring")  StdSimulations::MiniGISAS_v2 "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISAS_v2(const MultiLayer &sample)
-
-GISAS simulation with small detector and phi[-1,1], theta[0,1]. 
-";
-
-%feature("docstring")  StdSimulations::MiniZPolarizedGISAS "std::unique_ptr< GISASSimulation > StdSimulations::MiniZPolarizedGISAS(const MultiLayer &sample, const std::string &polCase)
-";
-
-%feature("docstring")  StdSimulations::BasicGISAS "std::unique_ptr< GISASSimulation > StdSimulations::BasicGISAS(const MultiLayer &sample)
-
-Basic GISAS simulation with the detector phi[0,2], theta[0,2]. 
-";
-
-%feature("docstring")  StdSimulations::SpinflipGISAS "std::unique_ptr< GISASSimulation > StdSimulations::SpinflipGISAS(const MultiLayer &sample)
-
-Basic GISAS simulation for spin flip channel. 
-";
-
-%feature("docstring")  StdSimulations::MiniGISASBeamDivergence "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISASBeamDivergence(const MultiLayer &sample)
-
-GISAS simulation with beam divergence applied. 
-";
-
-%feature("docstring")  StdSimulations::MiniGISASDetectorResolution "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISASDetectorResolution(const MultiLayer &sample)
-
-GISAS simulation with detector resolution. 
-";
-
-%feature("docstring")  StdSimulations::MiniGISASSpecularPeak "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISASSpecularPeak(const MultiLayer &sample)
-
-GISAS simulation with small detector and including specular peak. 
-";
-
-%feature("docstring")  StdSimulations::GISASWithMasks "std::unique_ptr< GISASSimulation > StdSimulations::GISASWithMasks(const MultiLayer &sample)
-
-GISAS simulation with multiple masks on the detector plane. 
-";
-
-%feature("docstring")  StdSimulations::MaxiGISAS "std::unique_ptr< GISASSimulation > StdSimulations::MaxiGISAS(const MultiLayer &sample)
-
-GISAS simulation with large detector to test performance. 
-";
-
-%feature("docstring")  StdSimulations::MaxiGISAS00 "std::unique_ptr< GISASSimulation > StdSimulations::MaxiGISAS00(const MultiLayer &sample)
-
-Basic GISAS for polarization studies. 
-";
-
-%feature("docstring")  StdSimulations::RectDetectorGeneric "std::unique_ptr< GISASSimulation > StdSimulations::RectDetectorGeneric(const MultiLayer &sample)
-
-GISAS simulation with generic rectangular detector. 
-";
-
-%feature("docstring")  StdSimulations::RectDetectorPerpToSample "std::unique_ptr< GISASSimulation > StdSimulations::RectDetectorPerpToSample(const MultiLayer &sample)
-
-GISAS simulation with the rectangular detector perpendicular to the sample. 
-";
-
-%feature("docstring")  StdSimulations::RectDetectorPerpToDirectBeam "std::unique_ptr< GISASSimulation > StdSimulations::RectDetectorPerpToDirectBeam(const MultiLayer &sample)
-
-GISAS simulation with the rectangular detector perpendicular to the direct beam. 
-";
-
-%feature("docstring")  StdSimulations::RectDetectorPerpToReflectedBeam "std::unique_ptr< GISASSimulation > StdSimulations::RectDetectorPerpToReflectedBeam(const MultiLayer &sample)
-
-GISAS simulation with the rectangular detector perpendicular to the reflected beam. 
-";
-
-%feature("docstring")  StdSimulations::RectDetectorPerpToReflectedBeamDpos "std::unique_ptr< GISASSimulation > StdSimulations::RectDetectorPerpToReflectedBeamDpos(const MultiLayer &sample)
-
-GISAS simulation with the rectangular detector perpendicular to the reflected beam when the coordinates of direct beam are known. 
-";
-
-%feature("docstring")  StdSimulations::MiniGISASMonteCarlo "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISASMonteCarlo(const MultiLayer &sample)
-
-GISAS simulation with Monte-Carlo integration switched ON. 
-";
-
-%feature("docstring")  StdSimulations::SphericalDetWithRoi "std::unique_ptr< GISASSimulation > StdSimulations::SphericalDetWithRoi(const MultiLayer &sample)
-
-GISAS simulation with spherical detector, region of interest and mask. 
-";
-
-%feature("docstring")  StdSimulations::RectDetWithRoi "std::unique_ptr< GISASSimulation > StdSimulations::RectDetWithRoi(const MultiLayer &sample)
-
-GISAS simulation with rectangular detector, region of interest and mask. 
-";
-
-%feature("docstring")  StdSimulations::MiniGISASFit "std::unique_ptr< GISASSimulation > StdSimulations::MiniGISASFit(const MultiLayer &sample)
-
-ISimulation with fitting. Beam intensity set to provide reasonably large values in detector channels. 
-";
-
-%feature("docstring")  StdSimulations::ExtraLongWavelengthGISAS "std::unique_ptr< GISASSimulation > StdSimulations::ExtraLongWavelengthGISAS(const MultiLayer &sample)
-
-GISAS simulation with an extra long wavelength. 
-";
-
-
 // File: ConstantBackground_8cpp.xml
 
 
@@ -2304,18 +2181,6 @@ GISAS simulation with an extra long wavelength.
 // File: RoughMultiLayerContribution_8h.xml
 
 
-// File: SimulationFactory_8cpp.xml
-
-
-// File: SimulationFactory_8h.xml
-
-
-// File: StandardSimulations_8cpp.xml
-
-
-// File: StandardSimulations_8h.xml
-
-
 // File: ComponentKeyHandler_8cpp.xml
 
 
@@ -2511,9 +2376,6 @@ GISAS simulation with an extra long wavelength.
 // File: dir_c6310732a22f63c0c2fc5595561e68f1.xml
 
 
-// File: dir_85e14b520ac412852f19a797669a90ef.xml
-
-
 // File: dir_cca9b87b2505f372a6ce58947a507789.xml
 
 
diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i
index 2eb254c93ca1405ed60edb260e88720d1489a2e6..30119f08a9cb3ef6c44876664defeed219e4202e 100644
--- a/auto/Wrap/doxygenSample.i
+++ b/auto/Wrap/doxygenSample.i
@@ -5591,9 +5591,6 @@ C++ includes: SampleProvider.h
 %feature("docstring")  SampleProvider::setSample "void SampleProvider::setSample(const MultiLayer &multilayer)
 ";
 
-%feature("docstring")  SampleProvider::setBuilder "void SampleProvider::setBuilder(const std::shared_ptr< ISampleBuilder > &sample_builder)
-";
-
 %feature("docstring")  SampleProvider::sample "const MultiLayer * SampleProvider::sample() const
 
 Returns current sample. 
diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py
index b6c5838303c581c374dfa59f70b654a16c69fff5..3867b5a82474d85e029b473a6497b984c69582dd 100644
--- a/auto/Wrap/libBornAgainCore.py
+++ b/auto/Wrap/libBornAgainCore.py
@@ -3518,14 +3518,6 @@ class ISimulation(libBornAgainParam.INode):
         """
         return _libBornAgainCore.ISimulation_sample(self)
 
-    def setSampleBuilder(self, sample_builder):
-        r"""
-        setSampleBuilder(ISimulation self, std::shared_ptr< ISampleBuilder > const & sample_builder)
-        void ISimulation::setSampleBuilder(const std::shared_ptr< ISampleBuilder > &sample_builder)
-
-        """
-        return _libBornAgainCore.ISimulation_setSampleBuilder(self, sample_builder)
-
     def setBackground(self, bg):
         r"""
         setBackground(ISimulation self, IBackground bg)
diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp
index 6ce1384e82a20ba2e764f3fb62dbdefba2569414..57ce13d24895f2f0b6dd6a74bd35aa7ed1b074d7 100644
--- a/auto/Wrap/libBornAgainCore_wrap.cpp
+++ b/auto/Wrap/libBornAgainCore_wrap.cpp
@@ -3181,29 +3181,28 @@ namespace Swig {
 #define SWIGTYPE_p_std__lessT_std__string_t swig_types[81]
 #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[82]
 #define SWIGTYPE_p_std__pairT_double_double_t swig_types[83]
-#define SWIGTYPE_p_std__shared_ptrT_ISampleBuilder_t swig_types[84]
-#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[85]
-#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[86]
-#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[87]
-#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[88]
-#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[89]
-#define SWIGTYPE_p_std__vectorT_ParameterDistribution_std__allocatorT_ParameterDistribution_t_t swig_types[90]
-#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[91]
-#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[92]
-#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[93]
-#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[94]
-#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[95]
-#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[96]
-#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[97]
-#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[98]
-#define SWIGTYPE_p_swig__SwigPyIterator swig_types[99]
-#define SWIGTYPE_p_unsigned_char swig_types[100]
-#define SWIGTYPE_p_unsigned_int swig_types[101]
-#define SWIGTYPE_p_unsigned_long_long swig_types[102]
-#define SWIGTYPE_p_unsigned_short swig_types[103]
-#define SWIGTYPE_p_value_type swig_types[104]
-static swig_type_info *swig_types[106];
-static swig_module_info swig_module = {swig_types, 105, 0, 0, 0, 0};
+#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[84]
+#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[85]
+#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[86]
+#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[87]
+#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[88]
+#define SWIGTYPE_p_std__vectorT_ParameterDistribution_std__allocatorT_ParameterDistribution_t_t swig_types[89]
+#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[90]
+#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[91]
+#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[92]
+#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[93]
+#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[94]
+#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[95]
+#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[96]
+#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[97]
+#define SWIGTYPE_p_swig__SwigPyIterator swig_types[98]
+#define SWIGTYPE_p_unsigned_char swig_types[99]
+#define SWIGTYPE_p_unsigned_int swig_types[100]
+#define SWIGTYPE_p_unsigned_long_long swig_types[101]
+#define SWIGTYPE_p_unsigned_short swig_types[102]
+#define SWIGTYPE_p_value_type swig_types[103]
+static swig_type_info *swig_types[105];
+static swig_module_info swig_module = {swig_types, 104, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -39069,38 +39068,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_ISimulation_setSampleBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  ISimulation *arg1 = (ISimulation *) 0 ;
-  std::shared_ptr< ISampleBuilder > *arg2 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject *swig_obj[2] ;
-  
-  if (!SWIG_Python_UnpackTuple(args, "ISimulation_setSampleBuilder", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ISimulation, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ISimulation_setSampleBuilder" "', argument " "1"" of type '" "ISimulation *""'"); 
-  }
-  arg1 = reinterpret_cast< ISimulation * >(argp1);
-  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__shared_ptrT_ISampleBuilder_t,  0  | 0);
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ISimulation_setSampleBuilder" "', argument " "2"" of type '" "std::shared_ptr< ISampleBuilder > const &""'"); 
-  }
-  if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "ISimulation_setSampleBuilder" "', argument " "2"" of type '" "std::shared_ptr< ISampleBuilder > const &""'"); 
-  }
-  arg2 = reinterpret_cast< std::shared_ptr< ISampleBuilder > * >(argp2);
-  (arg1)->setSampleBuilder((std::shared_ptr< ISampleBuilder > const &)*arg2);
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_ISimulation_setBackground(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   ISimulation *arg1 = (ISimulation *) 0 ;
@@ -44419,11 +44386,6 @@ static PyMethodDef SwigMethods[] = {
 		"const MultiLayer * ISimulation::sample() const\n"
 		"\n"
 		""},
-	 { "ISimulation_setSampleBuilder", _wrap_ISimulation_setSampleBuilder, METH_VARARGS, "\n"
-		"ISimulation_setSampleBuilder(ISimulation self, std::shared_ptr< ISampleBuilder > const & sample_builder)\n"
-		"void ISimulation::setSampleBuilder(const std::shared_ptr< ISampleBuilder > &sample_builder)\n"
-		"\n"
-		""},
 	 { "ISimulation_setBackground", _wrap_ISimulation_setBackground, METH_VARARGS, "\n"
 		"ISimulation_setBackground(ISimulation self, IBackground bg)\n"
 		"void ISimulation::setBackground(const IBackground &bg)\n"
@@ -45285,7 +45247,6 @@ static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argume
 static swig_type_info _swigt__p_std__lessT_std__string_t = {"_p_std__lessT_std__string_t", "std::less< std::string > *", 0, 0, (void*)0, 0};
 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__shared_ptrT_ISampleBuilder_t = {"_p_std__shared_ptrT_ISampleBuilder_t", "std::shared_ptr< ISampleBuilder > *", 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 > > *|std::vector< AxisInfo > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t = {"_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t", "std::vector< BasicVector3D< double > > *|std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t = {"_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t", "std::vector< BasicVector3D< std::complex< double > > > *|std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *", 0, 0, (void*)0, 0};
@@ -45392,7 +45353,6 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_std__lessT_std__string_t,
   &_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__shared_ptrT_ISampleBuilder_t,
   &_swigt__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t,
   &_swigt__p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t,
   &_swigt__p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t,
@@ -45499,7 +45459,6 @@ static swig_cast_info _swigc__p_std__invalid_argument[] = {  {&_swigt__p_std__in
 static swig_cast_info _swigc__p_std__lessT_std__string_t[] = {  {&_swigt__p_std__lessT_std__string_t, 0, 0, 0},{0, 0, 0, 0}};
 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__shared_ptrT_ISampleBuilder_t[] = {  {&_swigt__p_std__shared_ptrT_ISampleBuilder_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_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t[] = {  {&_swigt__p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t[] = {  {&_swigt__p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
@@ -45606,7 +45565,6 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_std__lessT_std__string_t,
   _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__shared_ptrT_ISampleBuilder_t,
   _swigc__p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t,
   _swigc__p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t,
   _swigc__p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t,