diff --git a/Resample/Interparticle/DecouplingApproximationStrategy.cpp b/Resample/Interparticle/DecouplingApproximationStrategy.cpp index bb06120604bf6229f1a8ffe9322dced52aa0a489..86a245519e6ddce2b646c53476a68c4c3a00c3d5 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 204aea17ee07f84c16023184c48b295953f62f15..631c1180e25e698e8668bf35bbe3f600812ab42a 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;