diff --git a/Core/Simulation/DepthProbeSimulation.cpp b/Core/Simulation/DepthProbeSimulation.cpp
index af1fdcd10c68cc06a519f8474fe771108a731683..22d6541715719a600cd87109a58cb487b459f12f 100644
--- a/Core/Simulation/DepthProbeSimulation.cpp
+++ b/Core/Simulation/DepthProbeSimulation.cpp
@@ -127,7 +127,7 @@ void DepthProbeSimulation::setBeamParameters(double lambda, const IAxis& alpha_a
         beam().setFootprintFactor(*beam_shape);
 }
 
-void DepthProbeSimulation::initDiffuseElementVector()
+void DepthProbeSimulation::initElementVector()
 {
     m_eles = generateElements(beam());
 
diff --git a/Core/Simulation/DepthProbeSimulation.h b/Core/Simulation/DepthProbeSimulation.h
index 58f90053b08b32f701bb0642e5534e86bf0d71f8..1980dfbd8fb357f822bea3fc28fa68155b7354ed 100644
--- a/Core/Simulation/DepthProbeSimulation.h
+++ b/Core/Simulation/DepthProbeSimulation.h
@@ -65,7 +65,7 @@ private:
                            const IFootprintFactor* beam_shape);
 
     //! Initializes the vector of ISimulation elements
-    void initDiffuseElementVector() override;
+    void initElementVector() override;
 
     //! Gets the number of elements this simulation needs to calculate
     size_t numberOfElements() const override;
diff --git a/Core/Simulation/GISASSimulation.cpp b/Core/Simulation/GISASSimulation.cpp
index 553377c63cfcca9dcbfe448e8dfb45f8f1988166..1872093244a86a1c4e28db44d31f6e609780a3f1 100644
--- a/Core/Simulation/GISASSimulation.cpp
+++ b/Core/Simulation/GISASSimulation.cpp
@@ -81,7 +81,7 @@ ICoordSystem* GISASSimulation::createCoordSystem() const
 }
 #endif
 
-void GISASSimulation::initDiffuseElementVector()
+void GISASSimulation::initElementVector()
 {
     m_eles = generateElements(beam());
     if (m_cache.empty())
diff --git a/Core/Simulation/GISASSimulation.h b/Core/Simulation/GISASSimulation.h
index ea48f9270391abbc4100ba4a89e64bbc00994c7b..6414f35a91a4fb31fad290566b7081ce302603bf 100644
--- a/Core/Simulation/GISASSimulation.h
+++ b/Core/Simulation/GISASSimulation.h
@@ -52,7 +52,7 @@ public:
 
 private:
     //! Initializes the vector of ISimulation elements
-    void initDiffuseElementVector() override;
+    void initElementVector() override;
 
     void initialize();
 };
diff --git a/Core/Simulation/ISimulation.cpp b/Core/Simulation/ISimulation.cpp
index 55d4de98fe3179e9de7134d98b02025844b83b07..912885aa03b67c1c3c817548488d0509b4aed3e1 100644
--- a/Core/Simulation/ISimulation.cpp
+++ b/Core/Simulation/ISimulation.cpp
@@ -290,7 +290,7 @@ const std::vector<ParameterDistribution>& ISimulation::getDistributions() const
 void ISimulation::runSingleSimulation(const ProcessedSample& re_sample, size_t batch_start,
                                       size_t batch_size, double weight)
 {
-    initDiffuseElementVector();
+    initElementVector();
 
     const size_t n_threads = m_options.getNumberOfThreads();
     ASSERT(n_threads > 0);
diff --git a/Core/Simulation/ISimulation.h b/Core/Simulation/ISimulation.h
index 69eb6616c873bd2316dbe358188ec8462cad78f5..04e6a4472489ef5b0075e14adcda8ec7e0d5329d 100644
--- a/Core/Simulation/ISimulation.h
+++ b/Core/Simulation/ISimulation.h
@@ -107,7 +107,7 @@ protected:
     virtual void transferResultsToIntensityMap() {}
 
     //! Initializes the vector of ISimulation elements
-    virtual void initDiffuseElementVector() = 0;
+    virtual void initElementVector() = 0;
 
     virtual void updateIntensityMap() {}
 
diff --git a/Core/Simulation/ISimulation2D.cpp b/Core/Simulation/ISimulation2D.cpp
index 73e7a84eb42da6d607af6f2ff6c85f53fcddb14b..c58bce6ac88646b52b93f4916fb2d3344c630817 100644
--- a/Core/Simulation/ISimulation2D.cpp
+++ b/Core/Simulation/ISimulation2D.cpp
@@ -180,7 +180,7 @@ std::vector<double> ISimulation2D::rawResults() const
 
 void ISimulation2D::setRawResults(const std::vector<double>& raw_data)
 {
-    initDiffuseElementVector();
+    initElementVector();
     if (raw_data.size() != m_eles.size())
         throw std::runtime_error("ISimulation2D::setRawResults: size of vector passed as "
                                  "argument doesn't match number of elements in this simulation");
diff --git a/Core/Simulation/OffSpecularSimulation.cpp b/Core/Simulation/OffSpecularSimulation.cpp
index f265b58755fbde475b5eb4cfc251ddf4e2ad3dea..82cdda2d1494f4d63546f8f1005095acf4218d7d 100644
--- a/Core/Simulation/OffSpecularSimulation.cpp
+++ b/Core/Simulation/OffSpecularSimulation.cpp
@@ -100,7 +100,7 @@ size_t OffSpecularSimulation::intensityMapSize() const
     return m_alpha_i_axis->size() * detector().axis(1).size();
 }
 
-void OffSpecularSimulation::initDiffuseElementVector()
+void OffSpecularSimulation::initElementVector()
 {
     m_eles.clear();
     Beam beam2 = beam();
diff --git a/Core/Simulation/OffSpecularSimulation.h b/Core/Simulation/OffSpecularSimulation.h
index cf96d76f633765964faa0b64d5e68227374bbab5..1990c6ad925667edd11a81e3962a456b2cdaf068 100644
--- a/Core/Simulation/OffSpecularSimulation.h
+++ b/Core/Simulation/OffSpecularSimulation.h
@@ -53,7 +53,7 @@ public:
 
 private:
     //! Initializes the vector of ISimulation elements
-    void initDiffuseElementVector() override;
+    void initElementVector() override;
 
     //! Checks the distribution validity for simulation.
     void validateParametrization(const ParameterDistribution& par_distr) const override;
diff --git a/Core/Simulation/SpecularSimulation.cpp b/Core/Simulation/SpecularSimulation.cpp
index 51ce6723b617a44eb9caf562d5e4d18e5d4ac704..2f087640c3379fa65c8814dba1cc13187fdc9cef 100644
--- a/Core/Simulation/SpecularSimulation.cpp
+++ b/Core/Simulation/SpecularSimulation.cpp
@@ -143,7 +143,7 @@ ICoordSystem* SpecularSimulation::createCoordSystem() const
 }
 #endif
 
-void SpecularSimulation::initDiffuseElementVector()
+void SpecularSimulation::initElementVector()
 {
     if (!m_scan)
         throw std::runtime_error("Error in SpecularSimulation: beam parameters were not set.");
@@ -237,7 +237,7 @@ std::vector<double> SpecularSimulation::rawResults() const
 
 void SpecularSimulation::setRawResults(const std::vector<double>& raw_data)
 {
-    initDiffuseElementVector();
+    initElementVector();
     if (raw_data.size() != m_eles.size())
         throw std::runtime_error("SpecularSimulation::setRawResults: size of vector passed as "
                                  "argument doesn't match number of elements in this simulation");
diff --git a/Core/Simulation/SpecularSimulation.h b/Core/Simulation/SpecularSimulation.h
index 5d57d850cf3c7e3451a749e6f6c5dc4a4c6faf93..9d131ad27d2c4b2c73ccf3f4da4024435cac35ec 100644
--- a/Core/Simulation/SpecularSimulation.h
+++ b/Core/Simulation/SpecularSimulation.h
@@ -62,7 +62,7 @@ public:
 
 private:
     //! Initializes the vector of ISimulation elements
-    void initDiffuseElementVector() override;
+    void initElementVector() override;
 
     //! Generate a single threaded computation for a given range of simulation elements
     //! @param start Index of the first element to include into computation