diff --git a/Core/Export/SimulationToPython.cpp b/Core/Export/SimulationToPython.cpp index f4585f4d70d462bef0a07fb30cc780fc2efc8d73..f14d4980eacfe2ba1e707da1eda5b7d9ad20de18 100644 --- a/Core/Export/SimulationToPython.cpp +++ b/Core/Export/SimulationToPython.cpp @@ -331,19 +331,18 @@ std::string defineParameterDistributions(const ISimulation* simulation) if (distributions.empty()) return ""; for (size_t i = 0; i < distributions.size(); ++i) { - std::string main_par_name = distributions[i].whichParameterAsPyEnum(); - std::string mainParUnits = + const std::string mainParUnits = simulation->findRealParameter(distributions[i].whichParameter())->unit(); - size_t nbr_samples = distributions[i].getNbrSamples(); - double sigma_factor = distributions[i].getSigmaFactor(); - std::string distr = "distr_" + std::to_string(i + 1); + const std::string distr = "distr_" + std::to_string(i + 1); result << indent() << distr << " = " << pyfmt2::printDistribution(*distributions[i].getDistribution(), mainParUnits) << "\n"; - result << indent() << "simulation.addParameterDistribution(" << main_par_name << ", " - << distr << ", " << nbr_samples << ", " << pyfmt::printDouble(sigma_factor) + result << indent() << "simulation.addParameterDistribution(" + << distributions[i].whichParameterAsPyEnum() << ", " << distr << ", " + << distributions[i].getNbrSamples() << ", " + << pyfmt::printDouble(distributions[i].getSigmaFactor()) << pyfmt::printRealLimitsArg(distributions[i].getLimits(), mainParUnits) << ")\n"; } return result.str(); diff --git a/Core/Simulation/DepthProbeSimulation.cpp b/Core/Simulation/DepthProbeSimulation.cpp index d41658f76e5cb80c11dd40a543a50a96d0c5d260..97bdd83187490f7cf89fd7f1be9cc4e0f494889d 100644 --- a/Core/Simulation/DepthProbeSimulation.cpp +++ b/Core/Simulation/DepthProbeSimulation.cpp @@ -204,10 +204,7 @@ void DepthProbeSimulation::validateParametrization(const ParameterDistribution& if (zero_mean) return; - const bool isInclinationAngle = - par_distr.whichParameter() == ParameterDistribution::BeamInclinationAngle; - - if (isInclinationAngle && !zero_mean) + if (par_distr.whichParameter() == ParameterDistribution::BeamInclinationAngle) throw std::runtime_error("Error in DepthProbeSimulation: parameter distribution of " "beam inclination angle should have zero mean."); } diff --git a/Core/Simulation/OffSpecularSimulation.cpp b/Core/Simulation/OffSpecularSimulation.cpp index 095456f4aaf98826be830f7c3cc2e72be9736e9e..44e96994a036fa77d019a6b93c42029d73f0402c 100644 --- a/Core/Simulation/OffSpecularSimulation.cpp +++ b/Core/Simulation/OffSpecularSimulation.cpp @@ -111,10 +111,7 @@ void OffSpecularSimulation::validateParametrization(const ParameterDistribution& if (zero_mean) return; - const bool isInclinationAngle = - par_distr.whichParameter() == ParameterDistribution::BeamInclinationAngle; - - if (isInclinationAngle && !zero_mean) + if (par_distr.whichParameter() == ParameterDistribution::BeamInclinationAngle) throw std::runtime_error("Error in OffSpecularSimulation: parameter distribution of " "beam inclination angle should have zero mean."); } diff --git a/Core/Simulation/SpecularSimulation.cpp b/Core/Simulation/SpecularSimulation.cpp index 6141367cdaa20761d9c592cae79a37b2b11f5475..74bf8d193a73b1f380029949674589de0eba8366 100644 --- a/Core/Simulation/SpecularSimulation.cpp +++ b/Core/Simulation/SpecularSimulation.cpp @@ -190,10 +190,7 @@ void SpecularSimulation::validateParametrization(const ParameterDistribution& pa if (zero_mean) return; - const bool isInclinationAngle = - par_distr.whichParameter() == ParameterDistribution::BeamInclinationAngle; - - if (isInclinationAngle && !zero_mean) + if (par_distr.whichParameter() == ParameterDistribution::BeamInclinationAngle) throw std::runtime_error("Error in SpecularSimulation: parameter distribution of " "beam inclination angle should have zero mean."); }