From e577ed8a5b2417c6e09bac766d600ca50a2375ac Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de> Date: Mon, 16 Nov 2020 19:58:47 +0100 Subject: [PATCH] + const --- .../DecouplingApproximationStrategy.cpp | 29 +++++----- .../Interference/SSCApproximationStrategy.cpp | 55 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/Sample/Interference/DecouplingApproximationStrategy.cpp b/Sample/Interference/DecouplingApproximationStrategy.cpp index 45b2158231b..7ea8be52430 100644 --- a/Sample/Interference/DecouplingApproximationStrategy.cpp +++ b/Sample/Interference/DecouplingApproximationStrategy.cpp @@ -35,8 +35,8 @@ DecouplingApproximationStrategy::scalarCalculation(const SimulationElement& sim_ { double intensity = 0.0; complex_t amplitude = complex_t(0.0, 0.0); - for (auto& ffw : m_weighted_formfactors) { - complex_t ff = ffw.evaluate(sim_element); + for (const auto& ffw : m_weighted_formfactors) { + const complex_t ff = ffw.evaluate(sim_element); if (std::isnan(ff.real())) throw Exceptions::RuntimeErrorException( "DecouplingApproximationStrategy::scalarCalculation() -> Error! Amplitude is NaN"); @@ -44,8 +44,8 @@ DecouplingApproximationStrategy::scalarCalculation(const SimulationElement& sim_ amplitude += fraction * ff; intensity += fraction * std::norm(ff); } - double amplitude_norm = std::norm(amplitude); - double coherence_factor = m_iff->evaluate(sim_element.meanQ()); + const double amplitude_norm = std::norm(amplitude); + const double coherence_factor = m_iff->evaluate(sim_element.meanQ()); return intensity + amplitude_norm * (coherence_factor - 1.0); } @@ -57,22 +57,23 @@ DecouplingApproximationStrategy::polarizedCalculation(const SimulationElement& s Eigen::Matrix2cd mean_amplitude = Eigen::Matrix2cd::Zero(); const auto& polarization_handler = sim_element.polarizationHandler(); - for (auto& ffw : m_weighted_formfactors) { - Eigen::Matrix2cd ff = ffw.evaluatePol(sim_element); + for (const auto& ffw : m_weighted_formfactors) { + const Eigen::Matrix2cd ff = ffw.evaluatePol(sim_element); if (!ff.allFinite()) throw Exceptions::RuntimeErrorException( "DecouplingApproximationStrategy::polarizedCalculation() -> " "Error! Form factor contains NaN or infinite"); - double fraction = ffw.relativeAbundance(); + const double fraction = ffw.relativeAbundance(); mean_amplitude += fraction * ff; mean_intensity += fraction * (ff * polarization_handler.getPolarization() * ff.adjoint()); } - Eigen::Matrix2cd amplitude_matrix = polarization_handler.getAnalyzerOperator() * mean_amplitude - * polarization_handler.getPolarization() - * mean_amplitude.adjoint(); - Eigen::Matrix2cd intensity_matrix = polarization_handler.getAnalyzerOperator() * mean_intensity; - double amplitude_trace = std::abs(amplitude_matrix.trace()); - double intensity_trace = std::abs(intensity_matrix.trace()); - double coherence_factor = m_iff->evaluate(sim_element.meanQ()); + const Eigen::Matrix2cd amplitude_matrix = + polarization_handler.getAnalyzerOperator() * mean_amplitude + * polarization_handler.getPolarization() * mean_amplitude.adjoint(); + const Eigen::Matrix2cd intensity_matrix = + polarization_handler.getAnalyzerOperator() * mean_intensity; + const double amplitude_trace = std::abs(amplitude_matrix.trace()); + const double intensity_trace = std::abs(intensity_matrix.trace()); + const double coherence_factor = m_iff->evaluate(sim_element.meanQ()); return intensity_trace + amplitude_trace * (coherence_factor - 1.0); } diff --git a/Sample/Interference/SSCApproximationStrategy.cpp b/Sample/Interference/SSCApproximationStrategy.cpp index 8f8c99d9f44..1f9eb2479b1 100644 --- a/Sample/Interference/SSCApproximationStrategy.cpp +++ b/Sample/Interference/SSCApproximationStrategy.cpp @@ -21,12 +21,10 @@ complex_t SSCApproximationStrategy::getCharacteristicSizeCoupling( double qp, const std::vector<FormFactorCoherentSum>& ff_wrappers) const { - complex_t result{}; - for (auto& ffw : ff_wrappers) { - double radial_extension = ffw.radialExtension(); + complex_t result = 0; + for (const auto& ffw : ff_wrappers) result += - ffw.relativeAbundance() * calculatePositionOffsetPhase(2.0 * qp, radial_extension); - } + ffw.relativeAbundance() * calculatePositionOffsetPhase(2.0 * qp, ffw.radialExtension()); return result; } @@ -54,7 +52,7 @@ SSCApproximationStrategy::SSCApproximationStrategy( , m_kappa(kappa) { m_mean_radius = 0.0; - for (auto& ffw : m_weighted_formfactors) + for (const auto& ffw : m_weighted_formfactors) m_mean_radius += ffw.relativeAbundance() * ffw.radialExtension(); } @@ -63,10 +61,10 @@ SSCApproximationStrategy::SSCApproximationStrategy( //! This is the scalar version double SSCApproximationStrategy::scalarCalculation(const SimulationElement& sim_element) const { - double qp = sim_element.meanQ().magxy(); + const double qp = sim_element.meanQ().magxy(); double diffuse_intensity = 0.0; complex_t ff_orig = 0., ff_conj = 0.; // original and conjugated mean formfactor - for (auto& ffw : m_weighted_formfactors) { + for (const auto& ffw : m_weighted_formfactors) { complex_t ff = ffw.evaluate(sim_element); double fraction = ffw.relativeAbundance(); diffuse_intensity += fraction * std::norm(ff); @@ -76,40 +74,41 @@ double SSCApproximationStrategy::scalarCalculation(const SimulationElement& sim_ ff_orig += prefac * ff; ff_conj += prefac * std::conj(ff); } - complex_t mean_ff_norm = ff_orig * ff_conj; - complex_t p2kappa = getCharacteristicSizeCoupling(qp, m_weighted_formfactors); - complex_t omega = getCharacteristicDistribution(qp, m_iff.get()); - double iff = 2.0 * (mean_ff_norm * omega / (1.0 - p2kappa * omega)).real(); - double dw_factor = m_iff->DWfactor(sim_element.meanQ()); + const complex_t mean_ff_norm = ff_orig * ff_conj; + const complex_t p2kappa = getCharacteristicSizeCoupling(qp, m_weighted_formfactors); + const complex_t omega = getCharacteristicDistribution(qp, m_iff.get()); + const double iff = 2.0 * (mean_ff_norm * omega / (1.0 - p2kappa * omega)).real(); + const double dw_factor = m_iff->DWfactor(sim_element.meanQ()); return diffuse_intensity + dw_factor * iff; } //! This is the polarized version double SSCApproximationStrategy::polarizedCalculation(const SimulationElement& sim_element) const { - double qp = sim_element.meanQ().magxy(); + const double qp = sim_element.meanQ().magxy(); Eigen::Matrix2cd diffuse_matrix = Eigen::Matrix2cd::Zero(); const auto& polarization_handler = sim_element.polarizationHandler(); Eigen::Matrix2cd ff_orig = Eigen::Matrix2cd::Zero(); Eigen::Matrix2cd ff_conj = Eigen::Matrix2cd::Zero(); - for (auto& ffw : m_weighted_formfactors) { - Eigen::Matrix2cd ff = ffw.evaluatePol(sim_element); - double fraction = ffw.relativeAbundance(); + for (const auto& ffw : m_weighted_formfactors) { + const Eigen::Matrix2cd ff = ffw.evaluatePol(sim_element); + const double fraction = ffw.relativeAbundance(); diffuse_matrix += fraction * (ff * polarization_handler.getPolarization() * ff.adjoint()); - double radial_extension = ffw.radialExtension(); - complex_t prefac = + const double radial_extension = ffw.radialExtension(); + const complex_t prefac = ffw.relativeAbundance() * calculatePositionOffsetPhase(qp, radial_extension); ff_orig += prefac * ff; ff_conj += prefac * ff.adjoint(); } - complex_t p2kappa = getCharacteristicSizeCoupling(qp, m_weighted_formfactors); - complex_t omega = getCharacteristicDistribution(qp, m_iff.get()); - Eigen::Matrix2cd interference_matrix = (2.0 * omega / (1.0 - p2kappa * omega)) - * polarization_handler.getAnalyzerOperator() * ff_orig - * polarization_handler.getPolarization() * ff_conj; - Eigen::Matrix2cd diffuse_matrix2 = polarization_handler.getAnalyzerOperator() * diffuse_matrix; - double interference_trace = std::abs(interference_matrix.trace()); - double diffuse_trace = std::abs(diffuse_matrix2.trace()); - double dw_factor = m_iff->DWfactor(sim_element.meanQ()); + const complex_t p2kappa = getCharacteristicSizeCoupling(qp, m_weighted_formfactors); + const complex_t omega = getCharacteristicDistribution(qp, m_iff.get()); + const Eigen::Matrix2cd interference_matrix = + (2.0 * omega / (1.0 - p2kappa * omega)) * polarization_handler.getAnalyzerOperator() + * ff_orig * polarization_handler.getPolarization() * ff_conj; + const Eigen::Matrix2cd diffuse_matrix2 = + polarization_handler.getAnalyzerOperator() * diffuse_matrix; + const double interference_trace = std::abs(interference_matrix.trace()); + const double diffuse_trace = std::abs(diffuse_matrix2.trace()); + const double dw_factor = m_iff->DWfactor(sim_element.meanQ()); return diffuse_trace + dw_factor * interference_trace; } -- GitLab