From ec745a93a012e7cf588a54d1c67d45984c408dbf Mon Sep 17 00:00:00 2001 From: Matthew D Jones <matthew.d.jones@tessella.com> Date: Wed, 2 Dec 2015 11:35:23 +0000 Subject: [PATCH] Re #14631 Define value for displaying masked data in single location --- Framework/API/inc/MantidAPI/IMDWorkspace.h | 3 +++ Framework/API/src/IMDWorkspace.cpp | 3 +++ .../DataObjects/inc/MantidDataObjects/MDEventWorkspace.tcc | 6 +++--- Framework/DataObjects/src/MDHistoWorkspace.cpp | 6 +++--- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Framework/API/inc/MantidAPI/IMDWorkspace.h b/Framework/API/inc/MantidAPI/IMDWorkspace.h index af93bc889e0..634291648bc 100644 --- a/Framework/API/inc/MantidAPI/IMDWorkspace.h +++ b/Framework/API/inc/MantidAPI/IMDWorkspace.h @@ -159,6 +159,9 @@ protected: virtual const std::string toString() const; + // Value to be used for masked data in plots of MDWorkspaces + static const signal_t m_maskValue; + private: virtual IMDWorkspace *doClone() const = 0; }; diff --git a/Framework/API/src/IMDWorkspace.cpp b/Framework/API/src/IMDWorkspace.cpp index 944da88b66a..4a7e5d76de0 100644 --- a/Framework/API/src/IMDWorkspace.cpp +++ b/Framework/API/src/IMDWorkspace.cpp @@ -21,6 +21,9 @@ IMDWorkspace::IMDWorkspace(const IMDWorkspace &other) /// Destructor IMDWorkspace::~IMDWorkspace() {} +// Value to be used for masked data in plots of MDWorkspaces +const signal_t IMDWorkspace::m_maskValue = 0.0; + /** Creates a single iterator and returns it. * * This calls createIterators(), a pure virtual method on IMDWorkspace which diff --git a/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.tcc b/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.tcc index 5fb70309e18..848e7d3153e 100644 --- a/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.tcc +++ b/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.tcc @@ -326,7 +326,7 @@ TMDE(signal_t MDEventWorkspace)::getSignalWithMaskAtCoord( // Check if masked const API::IMDNode *box = data->getBoxAtCoord(coords); if (box->getIsMasked()) { - return 0.0; + return m_maskValue; } return getNormalizedSignal(box, normalization); } @@ -765,8 +765,8 @@ TMDE(void MDEventWorkspace)::getLinePlot(const Mantid::Kernel::VMD &start, if (box != NULL) { if (box->getIsMasked()) { - y.push_back(0.0); - e.push_back(0.0); + y.push_back(m_maskValue); + e.push_back(m_maskValue); } else { // What is our normalization factor? signal_t normalizer = 1.0; diff --git a/Framework/DataObjects/src/MDHistoWorkspace.cpp b/Framework/DataObjects/src/MDHistoWorkspace.cpp index ed779c82343..1661d82936d 100644 --- a/Framework/DataObjects/src/MDHistoWorkspace.cpp +++ b/Framework/DataObjects/src/MDHistoWorkspace.cpp @@ -389,7 +389,7 @@ signal_t MDHistoWorkspace::getSignalWithMaskAtCoord( const Mantid::API::MDNormalization &normalization) const { size_t linearIndex = this->getLinearIndexAtCoord(coords); if (this->getIsMaskedAt(linearIndex)) { - return 0.0; + return m_maskValue; } return getSignalAtCoord(coords, normalization); } @@ -586,8 +586,8 @@ void MDHistoWorkspace::getLinePlot(const Mantid::Kernel::VMD &start, // Is the signal here masked? if (this->getIsMaskedAt(linearIndex)) { - y.push_back(0.0); - e.push_back(0.0); + y.push_back(m_maskValue); + e.push_back(m_maskValue); } else { signal_t normalizer = getNormalizationFactor(normalize, linearIndex); // And add the normalized signal/error to the list too -- GitLab