Skip to content
Snippets Groups Projects
ClearMaskFlag.cpp 1.56 KiB
Newer Older
#include "MantidAlgorithms/ClearMaskFlag.h"

#include "MantidAPI/MatrixWorkspace.h"
#include "MantidGeometry/Instrument/ParameterMap.h"

namespace Mantid {
namespace Algorithms {

using namespace API;
using Kernel::Direction;

// Register the algorithm into the AlgorithmFactory
DECLARE_ALGORITHM(ClearMaskFlag)

//----------------------------------------------------------------------------------------------
/// Algorithm's name for identification. @see Algorithm::name
const std::string ClearMaskFlag::name() const { return "ClearMaskFlag"; }

/// Algorithm's version for identification. @see Algorithm::version
int ClearMaskFlag::version() const { return 1; }

/// Algorithm's category for identification. @see Algorithm::category
Nick Draper's avatar
Nick Draper committed
const std::string ClearMaskFlag::category() const {
  return "Transforms\\Masking";
}

//----------------------------------------------------------------------------------------------
/** Initialize the algorithm's properties.
 */
void ClearMaskFlag::init() {
  declareProperty(Kernel::make_unique<WorkspaceProperty<>>("Workspace", "",
                                                           Direction::InOut),
                  "Workspace to clear the mask flag of.");
}

//----------------------------------------------------------------------------------------------
/** Execute the algorithm.
 */
void ClearMaskFlag::exec() {
  MatrixWorkspace_sptr ws = getProperty("Workspace");

  // Clear the mask flags
  Geometry::ParameterMap &pmap = ws->instrumentParameters();
  pmap.clearParametersByName("masked");
}

} // namespace Algorithms
} // namespace Mantid