From 16b5380bf1b4897a0204a18ba6bc3a36ceb0f88e Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 20:50:45 +0100 Subject: [PATCH 1/8] fcts out of Swig --- Sim/Export/SimulationToPython.cpp | 19 +++------- Sim/Scan/AlphaScan.h | 10 ++--- auto/Wrap/libBornAgainSim.py | 8 ---- auto/Wrap/libBornAgainSim_wrap.cpp | 60 ------------------------------ 4 files changed, 10 insertions(+), 87 deletions(-) diff --git a/Sim/Export/SimulationToPython.cpp b/Sim/Export/SimulationToPython.cpp index 865ca7b11f4..33cd577b4ba 100644 --- a/Sim/Export/SimulationToPython.cpp +++ b/Sim/Export/SimulationToPython.cpp @@ -81,15 +81,6 @@ std::string defineFootprintFactor(const IFootprintFactor& foot) return result.str(); } -std::string defineScanResolution(const ScanResolution& sresol) -{ - std::ostringstream result; - result << Py::Fmt2::printRangedDistribution(*sresol.rdistribution()) << "\n" - << indent() << "resolution = " - << "ba.ScanResolution(distribution, " << Py::Fmt::printDouble(sresol.delta()) << ")\n"; - return result.str(); -} - std::string defineAlphaScan(const AlphaScan& scan) { std::ostringstream result; @@ -104,12 +95,14 @@ std::string defineAlphaScan(const AlphaScan& scan) result << indent() << "scan.setFootprintFactor(footprint)\n"; } if (const auto* r = scan.angleResolution(); r && r->rdistribution()) { - result << defineScanResolution(*r) << "\n"; - result << indent() << "scan.setAngleResolution(resolution)\n"; + result << Py::Fmt2::printRangedDistribution(*r->rdistribution()) << "\n"; + result << indent() << "scan.setAbsoluteAngularResolution(distribution, " + << Py::Fmt::printDouble(r->delta()) << ")\n"; } if (const auto* r = scan.wavelengthResolution(); r && r->rdistribution()) { - result << defineScanResolution(*r) << "\n"; - result << indent() << "scan.setWavelengthResolution(resolution)\n"; + result << Py::Fmt2::printRangedDistribution(*r->rdistribution()) << "\n"; + result << indent() << "scan.setAbsoluteWavelengthResolution(distribution, " + << Py::Fmt::printDouble(r->delta()) << ")\n"; } return result.str(); } diff --git a/Sim/Scan/AlphaScan.h b/Sim/Scan/AlphaScan.h index 3be4e013847..c035ff0a1c7 100644 --- a/Sim/Scan/AlphaScan.h +++ b/Sim/Scan/AlphaScan.h @@ -39,17 +39,15 @@ public: //! Sets footprint correction factor void setFootprintFactor(const IFootprintFactor* f_factor); - //! Sets wavelength resolution values via ScanResolution object. - void setWavelengthResolution(const ScanResolution* resolution); - void setAbsoluteWavelengthResolution(const IRangedDistribution& distr, double std_dev); - //! Sets angle resolution values via ScanResolution object. - void setAngleResolution(const ScanResolution* resolution); - void setAbsoluteAngularResolution(const IRangedDistribution& distr, double std_dev); #ifndef SWIG + void setWavelengthResolution(const ScanResolution* resolution); + + void setAngleResolution(const ScanResolution* resolution); + //! Generates simulation elements for specular simulations std::vector<SpecularElement> generateElements() const override; diff --git a/auto/Wrap/libBornAgainSim.py b/auto/Wrap/libBornAgainSim.py index 984c44db37e..7713d15300e 100644 --- a/auto/Wrap/libBornAgainSim.py +++ b/auto/Wrap/libBornAgainSim.py @@ -2568,18 +2568,10 @@ class AlphaScan(ISpecularScan): r"""setFootprintFactor(AlphaScan self, IFootprintFactor const * f_factor)""" return _libBornAgainSim.AlphaScan_setFootprintFactor(self, f_factor) - def setWavelengthResolution(self, resolution): - r"""setWavelengthResolution(AlphaScan self, ScanResolution resolution)""" - return _libBornAgainSim.AlphaScan_setWavelengthResolution(self, resolution) - def setAbsoluteWavelengthResolution(self, distr, std_dev): r"""setAbsoluteWavelengthResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)""" return _libBornAgainSim.AlphaScan_setAbsoluteWavelengthResolution(self, distr, std_dev) - def setAngleResolution(self, resolution): - r"""setAngleResolution(AlphaScan self, ScanResolution resolution)""" - return _libBornAgainSim.AlphaScan_setAngleResolution(self, resolution) - def setAbsoluteAngularResolution(self, distr, std_dev): r"""setAbsoluteAngularResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)""" return _libBornAgainSim.AlphaScan_setAbsoluteAngularResolution(self, distr, std_dev) diff --git a/auto/Wrap/libBornAgainSim_wrap.cpp b/auto/Wrap/libBornAgainSim_wrap.cpp index ec0119f33f3..8c36c73215a 100644 --- a/auto/Wrap/libBornAgainSim_wrap.cpp +++ b/auto/Wrap/libBornAgainSim_wrap.cpp @@ -32253,35 +32253,6 @@ fail: } -SWIGINTERN PyObject *_wrap_AlphaScan_setWavelengthResolution(PyObject *self, PyObject *args) { - PyObject *resultobj = 0; - AlphaScan *arg1 = (AlphaScan *) 0 ; - ScanResolution *arg2 = (ScanResolution *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - PyObject *swig_obj[2] ; - - if (!SWIG_Python_UnpackTuple(args, "AlphaScan_setWavelengthResolution", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_AlphaScan, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AlphaScan_setWavelengthResolution" "', argument " "1"" of type '" "AlphaScan *""'"); - } - arg1 = reinterpret_cast< AlphaScan * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_ScanResolution, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AlphaScan_setWavelengthResolution" "', argument " "2"" of type '" "ScanResolution const *""'"); - } - arg2 = reinterpret_cast< ScanResolution * >(argp2); - (arg1)->setWavelengthResolution((ScanResolution const *)arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_AlphaScan_setAbsoluteWavelengthResolution(PyObject *self, PyObject *args) { PyObject *resultobj = 0; AlphaScan *arg1 = (AlphaScan *) 0 ; @@ -32322,35 +32293,6 @@ fail: } -SWIGINTERN PyObject *_wrap_AlphaScan_setAngleResolution(PyObject *self, PyObject *args) { - PyObject *resultobj = 0; - AlphaScan *arg1 = (AlphaScan *) 0 ; - ScanResolution *arg2 = (ScanResolution *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - PyObject *swig_obj[2] ; - - if (!SWIG_Python_UnpackTuple(args, "AlphaScan_setAngleResolution", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_AlphaScan, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AlphaScan_setAngleResolution" "', argument " "1"" of type '" "AlphaScan *""'"); - } - arg1 = reinterpret_cast< AlphaScan * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_ScanResolution, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AlphaScan_setAngleResolution" "', argument " "2"" of type '" "ScanResolution const *""'"); - } - arg2 = reinterpret_cast< ScanResolution * >(argp2); - (arg1)->setAngleResolution((ScanResolution const *)arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_AlphaScan_setAbsoluteAngularResolution(PyObject *self, PyObject *args) { PyObject *resultobj = 0; AlphaScan *arg1 = (AlphaScan *) 0 ; @@ -36771,9 +36713,7 @@ static PyMethodDef SwigMethods[] = { { "delete_AlphaScan", _wrap_delete_AlphaScan, METH_O, "delete_AlphaScan(AlphaScan self)"}, { "AlphaScan_clone", _wrap_AlphaScan_clone, METH_O, "AlphaScan_clone(AlphaScan self) -> AlphaScan"}, { "AlphaScan_setFootprintFactor", _wrap_AlphaScan_setFootprintFactor, METH_VARARGS, "AlphaScan_setFootprintFactor(AlphaScan self, IFootprintFactor const * f_factor)"}, - { "AlphaScan_setWavelengthResolution", _wrap_AlphaScan_setWavelengthResolution, METH_VARARGS, "AlphaScan_setWavelengthResolution(AlphaScan self, ScanResolution resolution)"}, { "AlphaScan_setAbsoluteWavelengthResolution", _wrap_AlphaScan_setAbsoluteWavelengthResolution, METH_VARARGS, "AlphaScan_setAbsoluteWavelengthResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)"}, - { "AlphaScan_setAngleResolution", _wrap_AlphaScan_setAngleResolution, METH_VARARGS, "AlphaScan_setAngleResolution(AlphaScan self, ScanResolution resolution)"}, { "AlphaScan_setAbsoluteAngularResolution", _wrap_AlphaScan_setAbsoluteAngularResolution, METH_VARARGS, "AlphaScan_setAbsoluteAngularResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)"}, { "AlphaScan_swigregister", AlphaScan_swigregister, METH_O, NULL}, { "AlphaScan_swiginit", AlphaScan_swiginit, METH_VARARGS, NULL}, -- GitLab From 82b1236d9364049d01f4eec3d6879fe28ea572b1 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 21:04:29 +0100 Subject: [PATCH 2/8] skip wrapper --- Tests/SimFactory/MakeSimulations.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Tests/SimFactory/MakeSimulations.cpp b/Tests/SimFactory/MakeSimulations.cpp index 61af832f392..e06a3bc5e11 100644 --- a/Tests/SimFactory/MakeSimulations.cpp +++ b/Tests/SimFactory/MakeSimulations.cpp @@ -420,13 +420,11 @@ test::makeSimulation::SpecularDivergentBeam(const MultiLayer& sample) AlphaScan scan(wavelength, FixedBinAxis("axis", number_of_bins, min_angle, max_angle)); RangedDistributionGaussian wl_distr(n_integration_points, /*sigma_factor = */ 2.0); - std::unique_ptr<ScanResolution> wl_res(new ScanResolution(wl_distr, wl_stddev)); RangedDistributionGaussian alpha_distr(n_integration_points, /*sigma_factor = */ 2.0); - std::unique_ptr<ScanResolution> ang_res(new ScanResolution(alpha_distr, ang_stddev)); - scan.setWavelengthResolution(wl_res.get()); - scan.setAngleResolution(ang_res.get()); + scan.setAbsoluteWavelengthResolution(wl_distr, wl_stddev); + scan.setAbsoluteAngularResolution(alpha_distr, ang_stddev); return std::make_unique<SpecularSimulation>(scan, sample); } -- GitLab From b492967a75580b8b569cbd7bca5b123d3aa412c5 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 21:47:45 +0100 Subject: [PATCH 3/8] privatize setters, at the expense of some complication in GUI --- GUI/Model/ToCore/SimulationToCore.cpp | 27 +++++++++++++++++++-------- Sim/Scan/AlphaScan.h | 7 +++---- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/GUI/Model/ToCore/SimulationToCore.cpp b/GUI/Model/ToCore/SimulationToCore.cpp index cbcff76d519..1022c11f90e 100644 --- a/GUI/Model/ToCore/SimulationToCore.cpp +++ b/GUI/Model/ToCore/SimulationToCore.cpp @@ -71,22 +71,25 @@ void addBackgroundToSimulation(const InstrumentItem& item, ISimulation& simulati simulation.setBackground(*background); } -std::unique_ptr<ScanResolution> createScanResolution(const BeamDistributionItem* item) +//! Returns distribution and width. +std::pair<std::unique_ptr<IRangedDistribution>, double> +resolutionDistrib(const BeamDistributionItem* item) { if (!item) - return nullptr; + return {std::unique_ptr<IRangedDistribution>{}, 0}; const auto* distr_item = dynamic_cast<const SymmetricResolutionItem*>(item->distributionItem()); if (!distr_item) - return nullptr; + return {std::unique_ptr<IRangedDistribution>{}, 0}; const double scale = item->scaleFactor(); - auto ranged_distr = distr_item->createIRangedDistribution(scale); + std::unique_ptr<IRangedDistribution> ranged_distr = + distr_item->createIRangedDistribution(scale); if (!ranged_distr) - return nullptr; + return {std::unique_ptr<IRangedDistribution>{}, 0}; const double deviation = distr_item->deviation(scale); - return std::unique_ptr<ScanResolution>(new ScanResolution(*ranged_distr, deviation)); + return {std::move(ranged_distr), deviation}; } void setSimulationOptions(ISimulation* simulation, const SimulationOptionsItem& item) @@ -134,8 +137,16 @@ SpecularSimulation* createSpecularSimulation(std::unique_ptr<MultiLayer> sample, AlphaScan scan(beam_item->wavelength(), *axis_item->createAxis(Units::deg)); scan.setFootprintFactor(footprint_item->createFootprint().get()); - scan.setWavelengthResolution(createScanResolution(beam_item->wavelengthItem()).get()); - scan.setAngleResolution(createScanResolution(beam_item->inclinationAngleItem()).get()); + { + auto [distr, width] = resolutionDistrib(beam_item->wavelengthItem()); + if (distr) + scan.setAbsoluteWavelengthResolution(*distr, width); + } + { + auto [distr, width] = resolutionDistrib(beam_item->inclinationAngleItem()); + if (distr) + scan.setAbsoluteAngularResolution(*distr, width); + } auto* result = new SpecularSimulation(scan, *sample); // result->beam().setIntensity(beam_item->intensity()); diff --git a/Sim/Scan/AlphaScan.h b/Sim/Scan/AlphaScan.h index c035ff0a1c7..f7ca388dc7b 100644 --- a/Sim/Scan/AlphaScan.h +++ b/Sim/Scan/AlphaScan.h @@ -44,10 +44,6 @@ public: void setAbsoluteAngularResolution(const IRangedDistribution& distr, double std_dev); #ifndef SWIG - void setWavelengthResolution(const ScanResolution* resolution); - - void setAngleResolution(const ScanResolution* resolution); - //! Generates simulation elements for specular simulations std::vector<SpecularElement> generateElements() const override; @@ -77,6 +73,9 @@ private: void checkInitialization(); + void setWavelengthResolution(const ScanResolution* resolution); + void setAngleResolution(const ScanResolution* resolution); + std::unique_ptr<IFootprintFactor> m_footprint; std::unique_ptr<ScanResolution> m_lambda_distrib; -- GitLab From 47d216a530223158ee716aaaee03b65250b9e756 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 21:58:59 +0100 Subject: [PATCH 4/8] inline fct --- GUI/Model/ToCore/SimulationToCore.cpp | 47 ++++++++++----------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/GUI/Model/ToCore/SimulationToCore.cpp b/GUI/Model/ToCore/SimulationToCore.cpp index 1022c11f90e..07b66ab5cc7 100644 --- a/GUI/Model/ToCore/SimulationToCore.cpp +++ b/GUI/Model/ToCore/SimulationToCore.cpp @@ -71,27 +71,6 @@ void addBackgroundToSimulation(const InstrumentItem& item, ISimulation& simulati simulation.setBackground(*background); } -//! Returns distribution and width. -std::pair<std::unique_ptr<IRangedDistribution>, double> -resolutionDistrib(const BeamDistributionItem* item) -{ - if (!item) - return {std::unique_ptr<IRangedDistribution>{}, 0}; - - const auto* distr_item = dynamic_cast<const SymmetricResolutionItem*>(item->distributionItem()); - if (!distr_item) - return {std::unique_ptr<IRangedDistribution>{}, 0}; - - const double scale = item->scaleFactor(); - std::unique_ptr<IRangedDistribution> ranged_distr = - distr_item->createIRangedDistribution(scale); - if (!ranged_distr) - return {std::unique_ptr<IRangedDistribution>{}, 0}; - - const double deviation = distr_item->deviation(scale); - return {std::move(ranged_distr), deviation}; -} - void setSimulationOptions(ISimulation* simulation, const SimulationOptionsItem& item) { simulation->options().setNumberOfThreads(item.numberOfThreads()); @@ -137,15 +116,25 @@ SpecularSimulation* createSpecularSimulation(std::unique_ptr<MultiLayer> sample, AlphaScan scan(beam_item->wavelength(), *axis_item->createAxis(Units::deg)); scan.setFootprintFactor(footprint_item->createFootprint().get()); - { - auto [distr, width] = resolutionDistrib(beam_item->wavelengthItem()); - if (distr) - scan.setAbsoluteWavelengthResolution(*distr, width); + if (const auto it = beam_item->wavelengthItem()) { + if (const auto* distr_item = + dynamic_cast<const SymmetricResolutionItem*>(it->distributionItem())) { + + const double scale = it->scaleFactor(); + if (std::unique_ptr<IRangedDistribution> distr = + distr_item->createIRangedDistribution(scale)) + scan.setAbsoluteWavelengthResolution(*distr, distr_item->deviation(scale)); + } } - { - auto [distr, width] = resolutionDistrib(beam_item->inclinationAngleItem()); - if (distr) - scan.setAbsoluteAngularResolution(*distr, width); + if (const auto it = beam_item->inclinationAngleItem()) { + if (const auto* distr_item = + dynamic_cast<const SymmetricResolutionItem*>(it->distributionItem())) { + + const double scale = it->scaleFactor(); + if (std::unique_ptr<IRangedDistribution> distr = + distr_item->createIRangedDistribution(scale)) + scan.setAbsoluteAngularResolution(*distr, distr_item->deviation(scale)); + } } auto* result = new SpecularSimulation(scan, *sample); -- GitLab From 59a3e41267e4435e12997cab391343c7da71b811 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 23:24:33 +0100 Subject: [PATCH 5/8] inline wrapper --- Sim/Export/PyFmt2.cpp | 2 +- Sim/Scan/AlphaScan.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Sim/Export/PyFmt2.cpp b/Sim/Export/PyFmt2.cpp index 7d6c44cffd7..767cf4c3ccf 100644 --- a/Sim/Export/PyFmt2.cpp +++ b/Sim/Export/PyFmt2.cpp @@ -110,7 +110,7 @@ std::string printAxis(const IAxis* axis, const std::string& unit) } std::string printParameterDistribution(const ParameterDistribution& par_distr, - const std::string& distVarName, const std::string& units) + const std::string& distVarName, const std::string& /*units*/) { std::ostringstream result; diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp index 1bcfc68c3be..29ce4625f6e 100644 --- a/Sim/Scan/AlphaScan.cpp +++ b/Sim/Scan/AlphaScan.cpp @@ -62,8 +62,10 @@ AlphaScan* AlphaScan::clone() const { auto* result = new AlphaScan(wavelength(), *m_axis); result->setFootprintFactor(m_footprint.get()); - result->setWavelengthResolution(m_lambda_distrib.get()); - result->setAngleResolution(m_alpha_distrib.get()); + if (m_lambda_distrib) + result->m_lambda_distrib.reset(m_lambda_distrib->clone()); + if (m_alpha_distrib) + result->m_alpha_distrib.reset(m_alpha_distrib->clone()); if (m_beamPolarization) result->m_beamPolarization.reset(new R3(*m_beamPolarization)); if (m_polAnalyzer) -- GitLab From 3cbe8053eec8770b425a28376f98d66984e94db5 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 23:37:35 +0100 Subject: [PATCH 6/8] rm wrapper --- Sim/Scan/AlphaScan.cpp | 16 ++-------------- Sim/Scan/AlphaScan.h | 3 --- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp index 29ce4625f6e..5d144fc5c95 100644 --- a/Sim/Scan/AlphaScan.cpp +++ b/Sim/Scan/AlphaScan.cpp @@ -106,26 +106,14 @@ void AlphaScan::setFootprintFactor(const IFootprintFactor* f_factor) m_footprint.reset(f_factor ? f_factor->clone() : nullptr); } -void AlphaScan::setWavelengthResolution(const ScanResolution* resolution) -{ - m_lambda_distrib.reset(resolution ? resolution->clone() : nullptr); -} - void AlphaScan::setAbsoluteWavelengthResolution(const IRangedDistribution& distr, double std_dev) { - std::unique_ptr<ScanResolution> resolution(new ScanResolution(distr, std_dev)); - setWavelengthResolution(resolution.get()); -} - -void AlphaScan::setAngleResolution(const ScanResolution* resolution) -{ - m_alpha_distrib.reset(resolution ? resolution->clone() : nullptr); + m_lambda_distrib.reset(new ScanResolution(distr, std_dev)); } void AlphaScan::setAbsoluteAngularResolution(const IRangedDistribution& distr, double std_dev) { - std::unique_ptr<ScanResolution> resolution(new ScanResolution(distr, std_dev)); - setAngleResolution(resolution.get()); + m_alpha_distrib.reset(new ScanResolution(distr, std_dev)); } size_t AlphaScan::nSteps() const diff --git a/Sim/Scan/AlphaScan.h b/Sim/Scan/AlphaScan.h index f7ca388dc7b..6dac87fe379 100644 --- a/Sim/Scan/AlphaScan.h +++ b/Sim/Scan/AlphaScan.h @@ -73,9 +73,6 @@ private: void checkInitialization(); - void setWavelengthResolution(const ScanResolution* resolution); - void setAngleResolution(const ScanResolution* resolution); - std::unique_ptr<IFootprintFactor> m_footprint; std::unique_ptr<ScanResolution> m_lambda_distrib; -- GitLab From 37971b3712ac23db8a91b50910ca37e23e49c69e Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 23:39:28 +0100 Subject: [PATCH 7/8] rm 'Absolute' from fct name --- Examples/specular/BeamFullDivergence.py | 2 +- GUI/Model/ToCore/SimulationToCore.cpp | 2 +- Sim/Export/SimulationToPython.cpp | 2 +- Sim/Scan/AlphaScan.cpp | 2 +- Sim/Scan/AlphaScan.h | 2 +- Tests/SimFactory/MakeSimulations.cpp | 2 +- auto/Wrap/libBornAgainSim.py | 6 +++--- auto/Wrap/libBornAgainSim_wrap.cpp | 16 ++++++++-------- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Examples/specular/BeamFullDivergence.py b/Examples/specular/BeamFullDivergence.py index 02a0f2ee36e..74c8cdbfa37 100755 --- a/Examples/specular/BeamFullDivergence.py +++ b/Examples/specular/BeamFullDivergence.py @@ -31,7 +31,7 @@ def get_simulation(sample): scan = ba.AlphaScan(wavelength, n, 2*deg/n, 2*deg) scan.setAbsoluteAngularResolution(alpha_distr, d_ang) - scan.setAbsoluteWavelengthResolution(wavelength_distr, d_wl) + scan.setWavelengthResolution(wavelength_distr, d_wl) return ba.SpecularSimulation(scan, sample) diff --git a/GUI/Model/ToCore/SimulationToCore.cpp b/GUI/Model/ToCore/SimulationToCore.cpp index 07b66ab5cc7..c5f26fc8c3f 100644 --- a/GUI/Model/ToCore/SimulationToCore.cpp +++ b/GUI/Model/ToCore/SimulationToCore.cpp @@ -123,7 +123,7 @@ SpecularSimulation* createSpecularSimulation(std::unique_ptr<MultiLayer> sample, const double scale = it->scaleFactor(); if (std::unique_ptr<IRangedDistribution> distr = distr_item->createIRangedDistribution(scale)) - scan.setAbsoluteWavelengthResolution(*distr, distr_item->deviation(scale)); + scan.setWavelengthResolution(*distr, distr_item->deviation(scale)); } } if (const auto it = beam_item->inclinationAngleItem()) { diff --git a/Sim/Export/SimulationToPython.cpp b/Sim/Export/SimulationToPython.cpp index 33cd577b4ba..8bfc5fd8546 100644 --- a/Sim/Export/SimulationToPython.cpp +++ b/Sim/Export/SimulationToPython.cpp @@ -101,7 +101,7 @@ std::string defineAlphaScan(const AlphaScan& scan) } if (const auto* r = scan.wavelengthResolution(); r && r->rdistribution()) { result << Py::Fmt2::printRangedDistribution(*r->rdistribution()) << "\n"; - result << indent() << "scan.setAbsoluteWavelengthResolution(distribution, " + result << indent() << "scan.setWavelengthResolution(distribution, " << Py::Fmt::printDouble(r->delta()) << ")\n"; } return result.str(); diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp index 5d144fc5c95..bcd791014a0 100644 --- a/Sim/Scan/AlphaScan.cpp +++ b/Sim/Scan/AlphaScan.cpp @@ -106,7 +106,7 @@ void AlphaScan::setFootprintFactor(const IFootprintFactor* f_factor) m_footprint.reset(f_factor ? f_factor->clone() : nullptr); } -void AlphaScan::setAbsoluteWavelengthResolution(const IRangedDistribution& distr, double std_dev) +void AlphaScan::setWavelengthResolution(const IRangedDistribution& distr, double std_dev) { m_lambda_distrib.reset(new ScanResolution(distr, std_dev)); } diff --git a/Sim/Scan/AlphaScan.h b/Sim/Scan/AlphaScan.h index 6dac87fe379..d8c9767b840 100644 --- a/Sim/Scan/AlphaScan.h +++ b/Sim/Scan/AlphaScan.h @@ -39,7 +39,7 @@ public: //! Sets footprint correction factor void setFootprintFactor(const IFootprintFactor* f_factor); - void setAbsoluteWavelengthResolution(const IRangedDistribution& distr, double std_dev); + void setWavelengthResolution(const IRangedDistribution& distr, double std_dev); void setAbsoluteAngularResolution(const IRangedDistribution& distr, double std_dev); diff --git a/Tests/SimFactory/MakeSimulations.cpp b/Tests/SimFactory/MakeSimulations.cpp index e06a3bc5e11..5dbd4bb0999 100644 --- a/Tests/SimFactory/MakeSimulations.cpp +++ b/Tests/SimFactory/MakeSimulations.cpp @@ -423,7 +423,7 @@ test::makeSimulation::SpecularDivergentBeam(const MultiLayer& sample) RangedDistributionGaussian alpha_distr(n_integration_points, /*sigma_factor = */ 2.0); - scan.setAbsoluteWavelengthResolution(wl_distr, wl_stddev); + scan.setWavelengthResolution(wl_distr, wl_stddev); scan.setAbsoluteAngularResolution(alpha_distr, ang_stddev); return std::make_unique<SpecularSimulation>(scan, sample); diff --git a/auto/Wrap/libBornAgainSim.py b/auto/Wrap/libBornAgainSim.py index 7713d15300e..0e33783cbe2 100644 --- a/auto/Wrap/libBornAgainSim.py +++ b/auto/Wrap/libBornAgainSim.py @@ -2568,9 +2568,9 @@ class AlphaScan(ISpecularScan): r"""setFootprintFactor(AlphaScan self, IFootprintFactor const * f_factor)""" return _libBornAgainSim.AlphaScan_setFootprintFactor(self, f_factor) - def setAbsoluteWavelengthResolution(self, distr, std_dev): - r"""setAbsoluteWavelengthResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)""" - return _libBornAgainSim.AlphaScan_setAbsoluteWavelengthResolution(self, distr, std_dev) + def setWavelengthResolution(self, distr, std_dev): + r"""setWavelengthResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)""" + return _libBornAgainSim.AlphaScan_setWavelengthResolution(self, distr, std_dev) def setAbsoluteAngularResolution(self, distr, std_dev): r"""setAbsoluteAngularResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)""" diff --git a/auto/Wrap/libBornAgainSim_wrap.cpp b/auto/Wrap/libBornAgainSim_wrap.cpp index 8c36c73215a..7f2022f9f6b 100644 --- a/auto/Wrap/libBornAgainSim_wrap.cpp +++ b/auto/Wrap/libBornAgainSim_wrap.cpp @@ -32253,7 +32253,7 @@ fail: } -SWIGINTERN PyObject *_wrap_AlphaScan_setAbsoluteWavelengthResolution(PyObject *self, PyObject *args) { +SWIGINTERN PyObject *_wrap_AlphaScan_setWavelengthResolution(PyObject *self, PyObject *args) { PyObject *resultobj = 0; AlphaScan *arg1 = (AlphaScan *) 0 ; IRangedDistribution *arg2 = 0 ; @@ -32266,26 +32266,26 @@ SWIGINTERN PyObject *_wrap_AlphaScan_setAbsoluteWavelengthResolution(PyObject *s int ecode3 = 0 ; PyObject *swig_obj[3] ; - if (!SWIG_Python_UnpackTuple(args, "AlphaScan_setAbsoluteWavelengthResolution", 3, 3, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "AlphaScan_setWavelengthResolution", 3, 3, swig_obj)) SWIG_fail; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_AlphaScan, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AlphaScan_setAbsoluteWavelengthResolution" "', argument " "1"" of type '" "AlphaScan *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AlphaScan_setWavelengthResolution" "', argument " "1"" of type '" "AlphaScan *""'"); } arg1 = reinterpret_cast< AlphaScan * >(argp1); res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_IRangedDistribution, 0 | 0); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AlphaScan_setAbsoluteWavelengthResolution" "', argument " "2"" of type '" "IRangedDistribution const &""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AlphaScan_setWavelengthResolution" "', argument " "2"" of type '" "IRangedDistribution const &""'"); } if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "AlphaScan_setAbsoluteWavelengthResolution" "', argument " "2"" of type '" "IRangedDistribution const &""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "AlphaScan_setWavelengthResolution" "', argument " "2"" of type '" "IRangedDistribution const &""'"); } arg2 = reinterpret_cast< IRangedDistribution * >(argp2); ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "AlphaScan_setAbsoluteWavelengthResolution" "', argument " "3"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "AlphaScan_setWavelengthResolution" "', argument " "3"" of type '" "double""'"); } arg3 = static_cast< double >(val3); - (arg1)->setAbsoluteWavelengthResolution((IRangedDistribution const &)*arg2,arg3); + (arg1)->setWavelengthResolution((IRangedDistribution const &)*arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -36713,7 +36713,7 @@ static PyMethodDef SwigMethods[] = { { "delete_AlphaScan", _wrap_delete_AlphaScan, METH_O, "delete_AlphaScan(AlphaScan self)"}, { "AlphaScan_clone", _wrap_AlphaScan_clone, METH_O, "AlphaScan_clone(AlphaScan self) -> AlphaScan"}, { "AlphaScan_setFootprintFactor", _wrap_AlphaScan_setFootprintFactor, METH_VARARGS, "AlphaScan_setFootprintFactor(AlphaScan self, IFootprintFactor const * f_factor)"}, - { "AlphaScan_setAbsoluteWavelengthResolution", _wrap_AlphaScan_setAbsoluteWavelengthResolution, METH_VARARGS, "AlphaScan_setAbsoluteWavelengthResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)"}, + { "AlphaScan_setWavelengthResolution", _wrap_AlphaScan_setWavelengthResolution, METH_VARARGS, "AlphaScan_setWavelengthResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)"}, { "AlphaScan_setAbsoluteAngularResolution", _wrap_AlphaScan_setAbsoluteAngularResolution, METH_VARARGS, "AlphaScan_setAbsoluteAngularResolution(AlphaScan self, IRangedDistribution const & distr, double std_dev)"}, { "AlphaScan_swigregister", AlphaScan_swigregister, METH_O, NULL}, { "AlphaScan_swiginit", AlphaScan_swiginit, METH_VARARGS, NULL}, -- GitLab From ac849a2eee24805601d911aa9352cd1a3231fbe3 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 23:39:53 +0100 Subject: [PATCH 8/8] printParameterDistribution: rm unused arg --- Sim/Export/PyFmt2.cpp | 2 +- Sim/Export/PyFmt2.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Sim/Export/PyFmt2.cpp b/Sim/Export/PyFmt2.cpp index 767cf4c3ccf..2f77e7057d4 100644 --- a/Sim/Export/PyFmt2.cpp +++ b/Sim/Export/PyFmt2.cpp @@ -110,7 +110,7 @@ std::string printAxis(const IAxis* axis, const std::string& unit) } std::string printParameterDistribution(const ParameterDistribution& par_distr, - const std::string& distVarName, const std::string& /*units*/) + const std::string& distVarName) { std::ostringstream result; diff --git a/Sim/Export/PyFmt2.h b/Sim/Export/PyFmt2.h index 94f634d5c34..5ec70564457 100644 --- a/Sim/Export/PyFmt2.h +++ b/Sim/Export/PyFmt2.h @@ -37,8 +37,7 @@ std::string representShape2D(const std::string& indent, const IShape2D* ishape, std::string printAxis(const IAxis* axis, const std::string& unit); std::string printParameterDistribution(const ParameterDistribution& par_distr, - const std::string& distVarName, - const std::string& units = ""); + const std::string& distVarName); std::string printRangedDistribution(const IRangedDistribution& distr); -- GitLab