From f7e8602a4c8fc20d0a7d3ec101b34584c3149732 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Mon, 23 Jan 2023 10:46:35 +0100 Subject: [PATCH] no longer pass mean to sample generator --- Sim/Scan/AlphaScan.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp index bcd791014a0..36f90222f9c 100644 --- a/Sim/Scan/AlphaScan.cpp +++ b/Sim/Scan/AlphaScan.cpp @@ -31,11 +31,11 @@ size_t nResolSamples(const ScanResolution* resol) return resol ? resol->nSamples() : 1L; } -std::vector<ParameterSample> drawResolution(const ScanResolution* resol, double mean) +std::vector<ParameterSample> drawResolution(const ScanResolution* resol) { - if (resol) - return resol->resolutionSamples(mean); - return {{mean, 1}}; + if (!resol) + return {{0., 1}}; + return resol->resolutionSamples(0.); } } // namespace @@ -81,18 +81,16 @@ std::vector<SpecularElement> AlphaScan::generateElements() const result.reserve(nSteps()); for (size_t i = 0; i < m_axis->size(); ++i) { - const std::vector<ParameterSample> lambdaDistrib = - drawResolution(m_lambda_distrib.get(), wavelength()); - const std::vector<ParameterSample> alphaDistrib = - drawResolution(m_alpha_distrib.get(), m_axis->binCenters()[i]); + const std::vector<ParameterSample> lambdaDistrib = drawResolution(m_lambda_distrib.get()); + const std::vector<ParameterSample> alphaDistrib = drawResolution(m_alpha_distrib.get()); for (size_t j = 0; j < alphaDistrib.size(); ++j) { - const double alpha = alphaDistrib[j].value; + const double alpha = m_axis->binCenters()[i] + alphaDistrib[j].value; for (size_t k = 0; k < lambdaDistrib.size(); ++k) { - const double wavelength = lambdaDistrib[k].value; - const bool computable = wavelength >= 0 && alpha >= 0 && alpha <= M_PI_2; + const double lambda = wavelength() + lambdaDistrib[k].value; + const bool computable = lambda >= 0 && alpha >= 0 && alpha <= M_PI_2; const double weight = alphaDistrib[j].weight * lambdaDistrib[k].weight; const double footprint = m_footprint ? m_footprint->calculate(alpha) : 1; - result.emplace_back(SpecularElement::FromAlphaScan(i, weight, wavelength, -alpha, + result.emplace_back(SpecularElement::FromAlphaScan(i, weight, lambda, -alpha, footprint, polarizerMatrix(), analyzerMatrix(), computable)); } -- GitLab