diff --git a/Framework/API/inc/MantidAPI/IMDWorkspace.h b/Framework/API/inc/MantidAPI/IMDWorkspace.h index af93bc889e0864a92fe9137d51b8e4b35c721ef9..634291648bc22b778baa70cdae40a184cf0d5c62 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 944da88b66a6a7468da5d5db654e988bfeb5565e..4a7e5d76de0127e2c9db30d544c2109901cd412b 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 5fb70309e189c45488a7be0cc3158a7b663d8f9d..848e7d3153ed513079ab6151ebff8813caefd612 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 ed779c82343652154ebe53224b509f45419173a8..1661d82936d0776883469c53bab64d51044c4fff 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