From 8ac72bac91747e0b19ce7d954604bd51cfc00be2 Mon Sep 17 00:00:00 2001
From: Walter Van Herck <w.van.herck@fz-juelich.de>
Date: Fri, 11 Jan 2019 11:11:51 +0100
Subject: [PATCH] Use the dummy DW factor in the SSCA approximation

---
 Core/Multilayer/SSCApproximationStrategy.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Core/Multilayer/SSCApproximationStrategy.cpp b/Core/Multilayer/SSCApproximationStrategy.cpp
index 8ad7ae99789..09ea36f69b8 100644
--- a/Core/Multilayer/SSCApproximationStrategy.cpp
+++ b/Core/Multilayer/SSCApproximationStrategy.cpp
@@ -14,6 +14,7 @@
 
 #include "SSCApproximationStrategy.h"
 #include "FormFactorCoherentSum.h"
+#include "IInterferenceFunction.h"
 #include "InterferenceFunctionUtils.h"
 #include "SimulationElement.h"
 
@@ -49,7 +50,8 @@ double SSCApproximationStrategy::scalarCalculation(const SimulationElement& sim_
     complex_t p2kappa = m_helper.getCharacteristicSizeCoupling(qp, m_formfactor_wrappers);
     complex_t omega = m_helper.getCharacteristicDistribution(qp, mP_iff.get());
     double interference_intensity = 2.0 * (mean_ff_norm * omega / (1.0 - p2kappa * omega)).real();
-    return diffuse_intensity + interference_intensity;
+    double dw_factor = mP_iff->DWfactor(sim_element.getMeanQ());
+    return diffuse_intensity + dw_factor * interference_intensity;
 }
 
 //! This is the polarized version
@@ -75,5 +77,6 @@ double SSCApproximationStrategy::polarizedCalculation(const SimulationElement& s
     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());
-    return diffuse_trace + interference_trace;
+    double dw_factor = mP_iff->DWfactor(sim_element.getMeanQ());
+    return diffuse_trace + dw_factor * interference_trace;
 }
-- 
GitLab