From fb15f3ec16f4673fc8dcc7c312d7044e385d6688 Mon Sep 17 00:00:00 2001 From: Stuart Campbell <campbellsi@ornl.gov> Date: Thu, 26 Apr 2012 16:53:31 -0400 Subject: [PATCH] Refs #5045. Updated to make use of MaskWorkspace. --- .../inc/MantidAlgorithms/BinaryOperateMasks.h | 2 +- .../Algorithms/src/BinaryOperateMasks.cpp | 25 ++++++++++--------- .../Algorithms/test/BinaryOperateMasksTest.h | 23 ++++++++--------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/BinaryOperateMasks.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/BinaryOperateMasks.h index 8af7b2998e1..9523db72bd6 100644 --- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/BinaryOperateMasks.h +++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/BinaryOperateMasks.h @@ -42,7 +42,7 @@ namespace Algorithms /// Algorithm's version for identification overriding a virtual method virtual int version() const { return 1;}; /// Algorithm's category for identification overriding a virtual method - virtual const std::string category() const { return "Diffraction;Transforms\\Masking";} + virtual const std::string category() const { return "Transforms\\Masking";} private: /// Sets documentation strings for this algorithm diff --git a/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp b/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp index a281284a841..5414a514012 100644 --- a/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp +++ b/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp @@ -4,7 +4,7 @@ *WIKI*/ #include "MantidAlgorithms/BinaryOperateMasks.h" #include "MantidKernel/System.h" -#include "MantidDataObjects/SpecialWorkspace2D.h" +#include "MantidDataObjects/MaskWorkspace.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/ListValidator.h" @@ -49,14 +49,14 @@ namespace Algorithms operators.push_back("XOR"); operators.push_back("NOT"); - declareProperty(new WorkspaceProperty<DataObjects::SpecialWorkspace2D>("InputWorkspace1", "", Direction::Input), - "SpecialWorkspace2D 1 for binary operation"); - declareProperty(new WorkspaceProperty<DataObjects::SpecialWorkspace2D>("InputWorkspace2", "", Direction::Input, PropertyMode::Optional), - "Optional SpecialWorkspace2D 2 for binary operation"); + declareProperty(new WorkspaceProperty<DataObjects::MaskWorkspace>("InputWorkspace1", "", Direction::Input), + "MaskWorkspace 1 for binary operation"); + declareProperty(new WorkspaceProperty<DataObjects::MaskWorkspace>("InputWorkspace2", "", Direction::Input, PropertyMode::Optional), + "Optional MaskWorkspace 2 for binary operation"); declareProperty("OperationType", "AND", boost::make_shared<StringListValidator>(operators), "Operator for Workspace1 and Workspace2"); - declareProperty(new WorkspaceProperty<DataObjects::SpecialWorkspace2D>("OutputWorkspace", "", Direction::Output), - "Output SpecialWorkspace2D as result of binary operation"); + declareProperty(new WorkspaceProperty<DataObjects::MaskWorkspace>("OutputWorkspace", "", Direction::Output), + "Output MaskWorkspace as result of binary operation"); return; } @@ -64,16 +64,16 @@ namespace Algorithms void BinaryOperateMasks::exec(){ // 1. Read input - DataObjects::SpecialWorkspace2D_const_sptr inputws1 = getProperty("InputWorkspace1"); + DataObjects::MaskWorkspace_const_sptr inputws1 = getProperty("InputWorkspace1"); std::string op = getProperty("OperationType"); // 2. Output - Mantid::DataObjects::SpecialWorkspace2D_sptr outputws = getProperty("OutputWorkspace"); + Mantid::DataObjects::MaskWorkspace_sptr outputws = getProperty("OutputWorkspace"); if (outputws != inputws1) { // if the input and output are not the same, then create a new workspace for the output. - outputws = boost::dynamic_pointer_cast<DataObjects::SpecialWorkspace2D>(API::WorkspaceFactory::Instance().create(inputws1)); + outputws = boost::dynamic_pointer_cast<DataObjects::MaskWorkspace>(API::WorkspaceFactory::Instance().create(inputws1)); outputws->copyFrom(inputws1); } @@ -86,7 +86,8 @@ namespace Algorithms } else { // Binary operation // a. 2nd Input - DataObjects::SpecialWorkspace2D_const_sptr inputws2 = getProperty("InputWorkspace2"); + DataObjects::MaskWorkspace_const_sptr inputws2 = getProperty("InputWorkspace2"); + DataObjects::SpecialWorkspace2D_const_sptr inputws2_special(inputws2); unsigned int binop; if (op == "AND"){ @@ -98,7 +99,7 @@ namespace Algorithms } else{ binop = 1000; } - outputws->binaryOperation(inputws2, binop); + outputws->binaryOperation(inputws2_special, binop); } diff --git a/Code/Mantid/Framework/Algorithms/test/BinaryOperateMasksTest.h b/Code/Mantid/Framework/Algorithms/test/BinaryOperateMasksTest.h index 9e06e376c3a..f2bf10d7c11 100644 --- a/Code/Mantid/Framework/Algorithms/test/BinaryOperateMasksTest.h +++ b/Code/Mantid/Framework/Algorithms/test/BinaryOperateMasksTest.h @@ -4,7 +4,7 @@ #include "MantidAlgorithms/BinaryOperateMasks.h" #include "MantidKernel/Timer.h" #include "MantidKernel/System.h" -#include "MantidDataObjects/SpecialWorkspace2D.h" +#include "MantidDataObjects/MaskWorkspace.h" #include "MantidTestHelpers/ComponentCreationHelper.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" #include "MantidGeometry/Instrument.h" @@ -30,14 +30,14 @@ public: this->binoperator.initialize(); - // 1. Create SpecialWorkspaces + // 1. Create Mask Workspace Mantid::Geometry::Instrument_sptr inst1 = ComponentCreationHelper::createTestInstrumentCylindrical(5); // Mantid::Geometry::Instrument_sptr inst1(new Geometry::Instrument); - Mantid::DataObjects::SpecialWorkspace2D_sptr ws1(new Mantid::DataObjects::SpecialWorkspace2D(inst1)); - Mantid::DataObjects::SpecialWorkspace2D_const_sptr cws1 = boost::dynamic_pointer_cast<const Mantid::DataObjects::SpecialWorkspace2D>(ws1); + Mantid::DataObjects::MaskWorkspace_sptr ws1(new Mantid::DataObjects::MaskWorkspace(inst1)); + Mantid::DataObjects::MaskWorkspace_const_sptr cws1 = boost::dynamic_pointer_cast<const Mantid::DataObjects::MaskWorkspace>(ws1); Mantid::Geometry::Instrument_sptr inst2 = ComponentCreationHelper::createTestInstrumentCylindrical(5); - Mantid::DataObjects::SpecialWorkspace2D_sptr ws2(new Mantid::DataObjects::SpecialWorkspace2D(inst2)); + Mantid::DataObjects::MaskWorkspace_sptr ws2(new Mantid::DataObjects::MaskWorkspace(inst2)); std::string ws3name = "BinarySum"; @@ -57,8 +57,7 @@ public: { TS_ASSERT_EQUALS(this->binoperator.execute(),true); - // DataObjects::SpecialWorkspace2D_sptr ws3 = this->binoperator.getProperty("OutputWorkspace"); - DataObjects::SpecialWorkspace2D_sptr ws3 = AnalysisDataService::Instance().retrieveWS<DataObjects::SpecialWorkspace2D>(ws3name); + DataObjects::MaskWorkspace_sptr ws3 = AnalysisDataService::Instance().retrieveWS<DataObjects::MaskWorkspace>(ws3name); TS_ASSERT_EQUALS(ws3->getValue(1), 1); TS_ASSERT_EQUALS(ws3->getValue(2), 0); @@ -80,9 +79,9 @@ public: void test_NOTOperation(){ this->binoperator.initialize(); - // 1. Create SpecialWorkspaces + // 1. Create Mask Workspaces Mantid::Geometry::Instrument_sptr inst1 = ComponentCreationHelper::createTestInstrumentCylindrical(5); - Mantid::DataObjects::SpecialWorkspace2D_sptr ws1(new Mantid::DataObjects::SpecialWorkspace2D(inst1)); + Mantid::DataObjects::MaskWorkspace_sptr ws1(new Mantid::DataObjects::MaskWorkspace(inst1)); ws1->setValue(1, 0); ws1->setValue(3, 1); @@ -91,11 +90,11 @@ public: std::string ws4name = "BinaryNOTResult"; this->binoperator.setPropertyValue("OutputWorkspace", ws4name); this->binoperator.setPropertyValue("OperationType", "NOT"); - DataObjects::SpecialWorkspace2D_sptr ws4; + DataObjects::MaskWorkspace_sptr ws4; try { TS_ASSERT_EQUALS(this->binoperator.execute(),true); - ws4 = AnalysisDataService::Instance().retrieveWS<DataObjects::SpecialWorkspace2D>(ws4name); + ws4 = AnalysisDataService::Instance().retrieveWS<DataObjects::MaskWorkspace>(ws4name); if (ws4 == NULL){ std::cout << "Workspace4 is NULL" << std::endl; @@ -127,7 +126,7 @@ public: try { TS_ASSERT_EQUALS(this->binoperator.execute(),true); - DataObjects::SpecialWorkspace2D_sptr ws2 = AnalysisDataService::Instance().retrieveWS<DataObjects::SpecialWorkspace2D>(ws2name); + DataObjects::MaskWorkspace_sptr ws2 = AnalysisDataService::Instance().retrieveWS<DataObjects::MaskWorkspace>(ws2name); for (size_t ih = 0; ih < ws2->getNumberHistograms(); ih ++){ detid_t tempdetid = ws2->getDetectorID(ih); TS_ASSERT_EQUALS(ws2->getValue(tempdetid), 1); -- GitLab