From ee06e568c5292087c977fdd252a90ebea9febadf Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Tue, 28 Jan 2014 10:53:12 +0100
Subject: [PATCH] Additional check in ChiSquaredModule for mask consistency

---
 Core/Algorithms/inc/ChiSquaredModule.h   | 1 +
 Core/Algorithms/src/ChiSquaredModule.cpp | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/Core/Algorithms/inc/ChiSquaredModule.h b/Core/Algorithms/inc/ChiSquaredModule.h
index 65fa517fdbe..abca447da7e 100644
--- a/Core/Algorithms/inc/ChiSquaredModule.h
+++ b/Core/Algorithms/inc/ChiSquaredModule.h
@@ -41,6 +41,7 @@ public:
 
     //! Returns residual between data and simulation for single element.
     virtual double getResidualValue(size_t index ) const;
+
 };
 
 #endif /* CHISQUAREDMODULE_H_ */
diff --git a/Core/Algorithms/src/ChiSquaredModule.cpp b/Core/Algorithms/src/ChiSquaredModule.cpp
index 10255cbdee1..38e05c600e3 100644
--- a/Core/Algorithms/src/ChiSquaredModule.cpp
+++ b/Core/Algorithms/src/ChiSquaredModule.cpp
@@ -46,6 +46,7 @@ double ChiSquaredModule::calculateChiSquared()
     OutputData<double> *p_difference = createChi2DifferenceMap();
     OutputData<double>::const_iterator it_weights = mp_weights->begin();
     OutputData<double>::const_iterator it_diff = p_difference->begin();
+
     double sum = 0;
     while(it_diff != p_difference->end())
         sum += (*it_diff++)*(*it_weights++);
@@ -92,6 +93,9 @@ OutputData<double>* ChiSquaredModule::createChi2DifferenceMap() const
     OutputData<double>::const_iterator it_real = mp_real_data->begin();
 
     while (it_diff != p_difference->end()) {
+        if( (it_sim.getIndex() != it_real.getIndex()) || (it_sim.getIndex() != it_diff.getIndex()) ) {
+            throw DomainErrorException("ChiSquaredModule::calculateChiSquared() -> Iterator inconsistency");
+        }
         double value_simu = *it_sim++;
         double value_real = *it_real++;
         double squared_difference =
@@ -105,3 +109,4 @@ OutputData<double>* ChiSquaredModule::createChi2DifferenceMap() const
 }
 
 
+
-- 
GitLab