From d865a2bd43c98805c34c01c2df8be01903c971fb Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de> Date: Mon, 5 Sep 2022 18:14:59 +0200 Subject: [PATCH] Add reference to ReLL review --- Resample/Interparticle/DecouplingApproximationStrategy.cpp | 7 +++---- Resample/Interparticle/DecouplingApproximationStrategy.h | 4 ++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Resample/Interparticle/DecouplingApproximationStrategy.cpp b/Resample/Interparticle/DecouplingApproximationStrategy.cpp index bb06120604b..86a245519e6 100644 --- a/Resample/Interparticle/DecouplingApproximationStrategy.cpp +++ b/Resample/Interparticle/DecouplingApproximationStrategy.cpp @@ -27,9 +27,6 @@ DecouplingApproximationStrategy::DecouplingApproximationStrategy( { } -//! Returns the total incoherent and coherent scattering intensity for given kf and -//! for one particle layout (implied by the given particle form factors). -//! This is the scalar version double DecouplingApproximationStrategy::scalarCalculation(const DiffuseElement& ele) const { double intensity = 0.0; @@ -43,10 +40,12 @@ double DecouplingApproximationStrategy::scalarCalculation(const DiffuseElement& amplitude += fraction * ff; intensity += fraction * std::norm(ff); } + // Renaud, Lazzari, Leroy 2009, eq. (160). + // Incoherent cross section is intensity - norm(amplitude). + // Coherent cross section is S_q*norm(amplitude). return intensity + (m_iff->structureFactor(ele.meanQ()) - 1) * std::norm(amplitude); } -//! This is the polarized version double DecouplingApproximationStrategy::polarizedCalculation(const DiffuseElement& ele) const { SpinMatrix mean_intensity; diff --git a/Resample/Interparticle/DecouplingApproximationStrategy.h b/Resample/Interparticle/DecouplingApproximationStrategy.h index 204aea17ee0..631c1180e25 100644 --- a/Resample/Interparticle/DecouplingApproximationStrategy.h +++ b/Resample/Interparticle/DecouplingApproximationStrategy.h @@ -34,7 +34,11 @@ public: const IInterference* iff, SimulationOptions sim_params, bool polarized); private: + //! Returns the total scalar incoherent and coherent scattering intensity + //! for given kf and for one particle layout (implied by the given particle form factors). double scalarCalculation(const DiffuseElement& ele) const override; + //! Returns the total polarized incoherent and coherent scattering intensity + //! for given kf and for one particle layout (implied by the given particle form factors). double polarizedCalculation(const DiffuseElement& ele) const override; const std::unique_ptr<IInterference> m_iff; -- GitLab