|
Mantid
|
Plus performs the addition of two input workspaces. More...
#include <Plus.h>
Public Member Functions | |
| const std::string | name () const override |
| Algorithm's name for identification overriding a virtual method. More... | |
| const std::vector< std::string > | seeAlso () const override |
| Function to return all of the seeAlso algorithms related to this algorithm. More... | |
| const std::string | summary () const override |
| Summary of algorithms purpose. More... | |
| int | version () const override |
| Algorithm's version for identification overriding a virtual method. More... | |
Public Member Functions inherited from Mantid::Algorithms::BinaryOperation | |
| const std::string | category () const override |
| Algorithm's category for identification overriding a virtual method. More... | |
Public Member Functions inherited from Mantid::API::Algorithm | |
| Algorithm () | |
| Constructor. More... | |
| Algorithm (const Algorithm &)=delete | |
| Algorithm & | operator= (const Algorithm &)=delete |
| ~Algorithm () override | |
| Virtual destructor. More... | |
| void | initialize () override |
| Initialization method invoked by the framework. More... | |
| bool | execute () override final |
| The actions to be performed by the algorithm on a dataset. More... | |
| void | addTimer (const std::string &name, const Kernel::time_point_ns &begin, const Kernel::time_point_ns &end) |
| void | executeAsChildAlg () override |
| Execute as a Child Algorithm. More... | |
| std::map< std::string, std::string > | validateInputs () override |
| Perform validation of ALL the input properties of the algorithm. More... | |
| ExecutionState | executionState () const override |
| Gets the current execution state. More... | |
| ResultState | resultState () const override |
| Gets the current result State. More... | |
| bool | isInitialized () const override |
| Has the Algorithm already been initialized. More... | |
| bool | isExecuted () const override |
| Has the Algorithm already been executed successfully. More... | |
| bool | isRunning () const override |
| True if the algorithm is running. More... | |
| bool | isReadyForGarbageCollection () const override |
| True if the algorithm is ready for garbage collection. More... | |
| bool | isChild () const override |
| To query whether algorithm is a child. More... | |
| void | setChild (const bool isChild) override |
| To set whether algorithm is a child. More... | |
| void | enableHistoryRecordingForChild (const bool on) override |
| Change the state of the history recording flag. More... | |
| bool | isRecordingHistoryForChild () |
| void | setAlwaysStoreInADS (const bool doStore) override |
| Do we ALWAYS store in the AnalysisDataService? This is set to true for python algorithms' child algorithms. More... | |
| bool | getAlwaysStoreInADS () const override |
| Returns true if we always store in the AnalysisDataService. More... | |
| void | setRethrows (const bool rethrow) override |
| Set whether the algorithm will rethrow exceptions. More... | |
| Poco::ActiveResult< bool > | executeAsync () override |
| Asynchronous execution. More... | |
| void | addObserver (const Poco::AbstractObserver &observer) const override |
| Add an observer for a notification. More... | |
| void | removeObserver (const Poco::AbstractObserver &observer) const override |
| Remove an observer. More... | |
| void | cancel () override |
| Raises the cancel flag. More... | |
| bool | getCancel () const |
| Returns the cancellation state. More... | |
| Kernel::Logger & | getLogger () const |
| Returns a reference to the logger. More... | |
| void | setLogging (const bool value) override |
| Logging can be disabled by passing a value of false. More... | |
| bool | isLogging () const override |
| returns the status of logging, True = enabled More... | |
| void | setLoggingOffset (const int value) override |
| gets the logging priority offset More... | |
| int | getLoggingOffset () const override |
| returns the logging priority offset More... | |
| void | setAlgStartupLogging (const bool enabled) override |
| disable Logging of start and end messages More... | |
| bool | getAlgStartupLogging () const override |
| get the state of Logging of start and end messages More... | |
| void | setChildStartProgress (const double startProgress) const override |
| setting the child start progress More... | |
| void | setChildEndProgress (const double endProgress) const override |
| setting the child end progress More... | |
| std::string | toString () const override |
| Serialize an object to a string. More... | |
| ::Json::Value | toJson () const override |
| Serialize an object to a json object. More... | |
| virtual std::shared_ptr< Algorithm > | createChildAlgorithm (const std::string &name, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true, const int &version=-1) |
| Create a Child Algorithm. More... | |
| void | setupAsChildAlgorithm (const Algorithm_sptr &algorithm, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true) |
| Setup algorithm as child algorithm. More... | |
| void | trackAlgorithmHistory (std::shared_ptr< AlgorithmHistory > parentHist) |
| set whether we wish to track the child algorithm's history and pass it the parent object to fill. More... | |
| void | findWorkspaces (WorkspaceVector &workspaces, unsigned int direction, bool checkADS=false) const |
| Populate lists of the workspace properties for a given direction (InOut workspaces are included in both input/output) More... | |
| virtual bool | checkGroups () |
| Check the input workspace properties for groups. More... | |
| virtual bool | processGroups () |
| Process WorkspaceGroup inputs. More... | |
| void | copyNonWorkspaceProperties (IAlgorithm *alg, int periodNum) |
| Copy all the non-workspace properties from this to alg. More... | |
| const Parallel::Communicator & | communicator () const |
| Returns a const reference to the (MPI) communicator of the algorithm. More... | |
| void | setCommunicator (const Parallel::Communicator &communicator) |
| Sets the (MPI) communicator of the algorithm. More... | |
| void | declareProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
| Add a property to the list of managed properties. More... | |
| void | declareOrReplaceProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
| Add or replace property in the list of managed properties. More... | |
| void | resetProperties () override |
| Reset property values back to initial values (blank or default values) More... | |
| void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
| Set the ordered list of properties by one string of values, separated by semicolons. More... | |
| void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
| Sets all the declared properties from a json object. More... | |
| void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >()) override |
| Sets all the declared properties from a string. More... | |
| void | setPropertyValue (const std::string &name, const std::string &value) override |
| Set the value of a property by string N.B. More... | |
| void | setPropertyValueFromJson (const std::string &name, const Json::Value &value) override |
| Set the value of a property by Json::Value object. More... | |
| void | setPropertyOrdinal (const int &index, const std::string &value) override |
| Set the value of a property by an index N.B. More... | |
| virtual void | copyPropertiesFrom (const Algorithm &alg) |
| Make m_properties point to the same PropertyManager as alg.m_properties. More... | |
| bool | existsProperty (const std::string &name) const override |
| Checks whether the named property is already in the list of managed property. More... | |
| bool | validateProperties () const override |
| Validates all the properties in the collection. More... | |
| size_t | propertyCount () const override |
| Count the number of properties under management. More... | |
| std::string | getPropertyValue (const std::string &name) const override |
| Get the value of a property as a string. More... | |
| const std::vector< Kernel::Property * > & | getProperties () const override |
| Get the list of managed properties. More... | |
| std::vector< std::string > | getDeclaredPropertyNames () const noexcept override |
| Return the list of declared property names. More... | |
| TypedValue | getProperty (const std::string &name) const override |
| Get the value of a property. More... | |
| std::string | asString (bool withDefaultValues=false) const override |
| Return the property manager serialized as a string. More... | |
| ::Json::Value | asJson (bool withDefaultValues=false) const override |
| Return the property manager serialized as a json object. More... | |
| bool | isDefault (const std::string &name) const |
| void | removeProperty (const std::string &name, const bool delproperty=true) override |
| Removes the property from management. More... | |
| std::unique_ptr< Kernel::Property > | takeProperty (const size_t index) override |
| Removes the property from management and returns a pointer to it. More... | |
| void | clear () override |
| Clears all properties under management. More... | |
| void | afterPropertySet (const std::string &) override |
| Override this method to perform a custom action right after a property was set. More... | |
| void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &) override |
| void | splitByTime (std::vector< Kernel::SplittingInterval > &, std::vector< Kernel::PropertyManager * >) const override |
| void | filterByProperty (const Kernel::TimeSeriesProperty< bool > &, const std::vector< std::string > &) override |
| Kernel::Property * | getPointerToProperty (const std::string &name) const override |
| Get a property by name. More... | |
| Kernel::Property * | getPointerToPropertyOrdinal (const int &index) const override |
| Get a property by an index. More... | |
| virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
| Add a property of the template type to the list of managed properties. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
| Add a property to the list of managed properties with no validator. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const unsigned int direction) |
| Add a property of the template type to the list of managed properties. More... | |
| void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
| Add a property of string type to the list of managed properties. More... | |
| const std::string | category () const override |
| function to return a category of the algorithm. More... | |
| const std::vector< std::string > | categories () const override |
| Function to return all of the categories that contain this algorithm. More... | |
| const std::string | categorySeparator () const override |
| Function to return the separator token for the category string. More... | |
| const std::vector< std::string > | seeAlso () const override |
| Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm.A default implementation is provided. More... | |
| const std::string | alias () const override |
| function to return any aliases to the algorithm; A default implementation is provided More... | |
| const std::string | aliasDeprecated () const override |
| Expiration date (in ISO8601 format) for the algorithm aliases; default implementation for no expiration date. More... | |
| const std::string | helpURL () const override |
| function to return URL for algorithm documentation; A default implementation is provided. More... | |
| template<typename T , typename = typename std::enable_if<std::is_convertible<T *, MatrixWorkspace *>::value>::type> | |
| std::tuple< std::shared_ptr< T >, Indexing::SpectrumIndexSet > | getWorkspaceAndIndices (const std::string &name) const |
| template<typename T1 , typename T2 , typename = typename std::enable_if<std::is_convertible<T1 *, MatrixWorkspace *>::value>::type, typename = typename std::enable_if<std::is_convertible<T2 *, std::string *>::value || std::is_convertible<T2 *, std::vector<int64_t> *>::value>::type> | |
| void | setWorkspaceInputProperties (const std::string &name, const std::shared_ptr< T1 > &wksp, IndexType type, const T2 &list) |
| template<typename T1 , typename T2 , typename = typename std::enable_if<std::is_convertible<T1 *, MatrixWorkspace *>::value>::type, typename = typename std::enable_if<std::is_convertible<T2 *, std::string *>::value || std::is_convertible<T2 *, std::vector<int64_t> *>::value>::type> | |
| void | setWorkspaceInputProperties (const std::string &name, const std::string &wsName, IndexType type, const T2 &list) |
| const std::string | workspaceMethodName () const override |
| const std::vector< std::string > | workspaceMethodOn () const override |
| const std::string | workspaceMethodInputProperty () const override |
| AlgorithmID | getAlgorithmID () const override |
| Algorithm ID. More... | |
| virtual void | addObserver (const Poco::AbstractObserver &observer) const =0 |
| Add an observer for a notification. More... | |
| virtual const std::string | alias () const =0 |
| function to return any aliases of the algorithm. More... | |
| virtual const std::string | aliasDeprecated () const =0 |
| Expiration date (in ISO8601 format) for the algorithm aliases. Empty if no expiration date. More... | |
| virtual void | cancel ()=0 |
| Raises the cancel flag. More... | |
| virtual const std::vector< std::string > | categories () const =0 |
| Function to return all of the categories that contain this algorithm. More... | |
| virtual const std::string | category () const =0 |
| function to return a category of the algorithm. More... | |
| virtual const std::string | categorySeparator () const =0 |
| Function to return the separator token for the category string. More... | |
| virtual void | enableHistoryRecordingForChild (const bool on)=0 |
| If true history will be recorded for a child. More... | |
| virtual bool | execute ()=0 |
| System execution. More... | |
| virtual void | executeAsChildAlg ()=0 |
| Execute as a Child Algorithm, with try/catch. More... | |
| virtual Poco::ActiveResult< bool > | executeAsync ()=0 |
| Asynchronous execution of the algorithm. More... | |
| virtual ExecutionState | executionState () const =0 |
| Gets the current execution state. More... | |
| virtual AlgorithmID | getAlgorithmID () const =0 |
| Algorithm ID. More... | |
| virtual bool | getAlgStartupLogging () const =0 |
| get the state of Logging of start and end messages More... | |
| virtual bool | getAlwaysStoreInADS () const =0 |
| To query whether the output is stored in the analysis data service. More... | |
| virtual int | getLoggingOffset () const =0 |
| returns the logging priority offset More... | |
| virtual const std::string | helpURL () const =0 |
| function to return an optional URL for documentation. More... | |
| virtual void | initialize ()=0 |
| Initialization method invoked by the framework. More... | |
| virtual bool | isChild () const =0 |
| To query whether algorithm is a child. Default to false. More... | |
| virtual bool | isExecuted () const =0 |
| Check whether the algorithm has been executed sucessfully. More... | |
| virtual bool | isInitialized () const =0 |
| Check whether the algorithm is initialized properly. More... | |
| virtual bool | isLogging () const =0 |
| returns the status of logging, True = enabled More... | |
| virtual bool | isReadyForGarbageCollection () const =0 |
| True if the algorithm is ready for garbage collection. More... | |
| virtual bool | isRunning () const =0 |
| True if the algorithm is running. More... | |
| virtual const std::string | name () const =0 |
| function to return a name of the algorithm, must be overridden in all algorithms More... | |
| virtual void | removeObserver (const Poco::AbstractObserver &observer) const =0 |
| Remove an observer. More... | |
| virtual ResultState | resultState () const =0 |
| Gets the currnet result State. More... | |
| virtual const std::vector< std::string > | seeAlso () const =0 |
| Function to return all of the seeAlso algorithms related to this algorithm. More... | |
| virtual void | setAlgStartupLogging (const bool enabled)=0 |
| disable Logging of start and end messages More... | |
| virtual void | setAlwaysStoreInADS (const bool doStore)=0 |
| Set whether we always store the output in the analysis data service. More... | |
| virtual void | setChild (const bool isChild)=0 |
| To set whether algorithm is a child. More... | |
| virtual void | setChildEndProgress (const double endProgress) const =0 |
| setting the child end progress More... | |
| virtual void | setChildStartProgress (const double startProgress) const =0 |
| setting the child start progress More... | |
| virtual void | setLogging (const bool value)=0 |
| Logging can be disabled by passing a value of false. More... | |
| virtual void | setLoggingOffset (const int value)=0 |
| gets the logging priority offset More... | |
| virtual void | setRethrows (const bool rethrow)=0 |
| To query whether an algorithm should rethrow exceptions when executing. More... | |
| virtual const std::string | summary () const =0 |
| function returns a summary message that will be displayed in the default GUI, and in the help. More... | |
| virtual ::Json::Value | toJson () const =0 |
| Serialize an algorithm as Json. More... | |
| virtual std::string | toString () const =0 |
| Serialize an algorithm. More... | |
| virtual std::map< std::string, std::string > | validateInputs ()=0 |
| Method checking errors on ALL the inputs, before execution. More... | |
| virtual int | version () const =0 |
| function to return a version of the algorithm, must be overridden in all algorithms More... | |
Algorithms As Methods | |
Public Member Functions inherited from Mantid::Kernel::IPropertyManager | |
| virtual ::Json::Value | asJson (bool withDefaultValues=false) const =0 |
| Return the property manager serialized as a json object. More... | |
| virtual std::string | asString (bool withDefaultValues=false) const =0 |
| Return the property manager serialized as a string. More... | |
| virtual void | declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) More... | |
| void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
| Add a property of string type to the list of managed properties. More... | |
| void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
| Add a property to the list of managed properties with no validator. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const unsigned int direction) |
| Add a property of the template type to the list of managed properties. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
| Add a property of the template type to the list of managed properties. More... | |
| virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) More... | |
| virtual bool | existsProperty (const std::string &name) const =0 |
| Checks whether the named property is already in the list of managed property. More... | |
| virtual void | filterByProperty (const TimeSeriesProperty< bool > &, const std::vector< std::string > &)=0 |
| virtual void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &)=0 |
| virtual std::vector< std::string > | getDeclaredPropertyNames () const noexcept=0 |
| Get the list of managed property names. More... | |
| virtual Property * | getPointerToProperty (const std::string &name) const =0 |
| Get a pointer to property by name. More... | |
| virtual const std::vector< Property * > & | getProperties () const =0 |
| Get the list of managed properties. More... | |
| std::vector< Property * > | getPropertiesInGroup (const std::string &group) const |
| Get the list of managed properties in a given group. More... | |
| virtual TypedValue | getProperty (const std::string &name) const =0 |
| Get the value of a property. More... | |
| virtual std::string | getPropertyValue (const std::string &name) const =0 |
| Get the value of a property as a string. More... | |
| virtual size_t | propertyCount () const =0 |
| Returns the number of properties under management. More... | |
| virtual void | removeProperty (const std::string &name, const bool delproperty=true)=0 |
| Removes the property from management. More... | |
| virtual void | resetProperties ()=0 |
| virtual void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
| Sets all the properties from a json object. More... | |
| virtual void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
| Sets all properties from a string. More... | |
| virtual void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >())=0 |
| Sets all the declared properties from a string. More... | |
| IPropertyManager * | setProperty (const std::string &name, const char *value) |
| Specialised version of setProperty template method to handle const char *. More... | |
| IPropertyManager * | setProperty (const std::string &name, const std::string &value) |
| Specialised version of setProperty template method to handle std::string. More... | |
| template<typename T > | |
| IPropertyManager * | setProperty (const std::string &name, const T &value) |
| Templated method to set the value of a PropertyWithValue. More... | |
| template<typename T > | |
| IPropertyManager * | setProperty (const std::string &name, std::unique_ptr< T > value) |
| Templated method to set the value of a PropertyWithValue from a std::unique_ptr. More... | |
| void | setPropertyGroup (const std::string &name, const std::string &group) |
| Set the group for a given property. More... | |
| virtual void | setPropertyOrdinal (const int &index, const std::string &value)=0 |
| Set the value of a property by an index. More... | |
| void | setPropertySettings (const std::string &name, std::unique_ptr< IPropertySettings > settings) |
| virtual void | setPropertyValue (const std::string &name, const std::string &value)=0 |
| Sets property value from a string. More... | |
| virtual void | setPropertyValueFromJson (const std::string &name, const Json::Value &value)=0 |
| Sets property value from a Json::Value. More... | |
| virtual void | splitByTime (std::vector< SplittingInterval > &, std::vector< PropertyManager * >) const =0 |
| virtual std::unique_ptr< Property > | takeProperty (const size_t index)=0 |
| Removes the property from management and returns a pointer to it. More... | |
| void | updatePropertyValues (const IPropertyManager &other) |
| Update values of the existing properties. More... | |
| virtual bool | validateProperties () const =0 |
| Validates all the properties in the collection. More... | |
| virtual | ~IPropertyManager ()=default |
Private Member Functions | |
| bool | checkCompatibility (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs) const override |
| Check the given workspaces for unit, distribution and binary operation compatibility. More... | |
| void | checkRequirements () override |
| Check what operation will be needed in order to apply the operation to these two types of workspaces. More... | |
| std::string | checkSizeCompatibility (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs) const override |
| Performs a simple check to see if the sizes of two workspaces are compatible for a binary operation In order to be size compatible then the larger workspace must divide be the size of the smaller workspace leaving no remainder. More... | |
| bool | checkUnitCompatibility (const API::MatrixWorkspace_const_sptr &lhs, const API::MatrixWorkspace_const_sptr &rhs) const |
| Return true if the units and distribution-type of the workspaces make them compatible. More... | |
| void | operateOnRun (const API::Run &lhs, const API::Run &rhs, API::Run &ans) const override |
| Adds the integrated proton currents, proton charges, of the two input workspaces together. More... | |
| void | performBinaryOperation (const HistogramData::Histogram &lhs, const double rhsY, const double rhsE, HistogramData::HistogramY &YOut, HistogramData::HistogramE &EOut) override |
| Carries out the binary operation when the right hand operand is a single number. More... | |
| void | performBinaryOperation (const HistogramData::Histogram &lhs, const HistogramData::Histogram &rhs, HistogramData::HistogramY &YOut, HistogramData::HistogramE &EOut) override |
| Carries out the binary operation on a single spectrum, with another spectrum as the right-hand operand. More... | |
| void | performEventBinaryOperation (DataObjects::EventList &lhs, const DataObjects::EventList &rhs) override |
| Carries out the binary operation IN-PLACE on a single EventList, with another EventList as the right-hand operand. More... | |
| void | performEventBinaryOperation (DataObjects::EventList &lhs, const double &rhsY, const double &rhsE) override |
| Carries out the binary operation IN-PLACE on a single EventList, with a single (double) value as the right-hand operand. More... | |
| void | performEventBinaryOperation (DataObjects::EventList &lhs, const MantidVec &rhsX, const MantidVec &rhsY, const MantidVec &rhsE) override |
| Carries out the binary operation IN-PLACE on a single EventList, with another (histogrammed) spectrum as the right-hand operand. More... | |
Additional Inherited Members | |
Public Types inherited from Mantid::Algorithms::BinaryOperation | |
| using | BinaryOperationTable = std::vector< int64_t > |
| BinaryOperationTable: a list of ints. More... | |
| using | BinaryOperationTable_sptr = std::shared_ptr< BinaryOperationTable > |
Public Types inherited from Mantid::API::Algorithm | |
| using | WorkspaceVector = std::vector< std::shared_ptr< Workspace > > |
Static Public Member Functions inherited from Mantid::Algorithms::BinaryOperation | |
| static BinaryOperationTable_sptr | buildBinaryOperationTable (const API::MatrixWorkspace_const_sptr &lhs, const API::MatrixWorkspace_const_sptr &rhs) |
| Build up an BinaryOperationTable for performing a binary operation e.g. More... | |
Static Public Member Functions inherited from Mantid::API::Algorithm | |
| static IAlgorithm_sptr | fromString (const std::string &input) |
| De-serialize an object from a string. More... | |
| static IAlgorithm_sptr | fromJson (const Json::Value &input) |
| De-serialize an object from a Json. More... | |
| static IAlgorithm_sptr | fromHistory (const AlgorithmHistory &history) |
| Construct an object from a history entry. More... | |
Public Attributes inherited from Mantid::API::Algorithm | |
| bool | calledByAlias = false |
| Flag to indicate if the algorithm is called by its alias. More... | |
| std::string | checkSizeCompatibility (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs) const override |
| Checks the overall size compatability of two workspaces. More... | |
Protected Member Functions inherited from Mantid::Algorithms::BinaryOperation | |
| virtual bool | checkCompatibility (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs) const |
| Checks the compatibility of the two workspaces. More... | |
| virtual bool | checkEventCompatibility (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs) |
| Checks the compatibility of event-based processing of the two workspaces. More... | |
| virtual void | checkRequirements () |
| Check what operation will be needed in order to apply the operation to these two types of workspaces. More... | |
| virtual std::string | checkSizeCompatibility (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs) const |
| Checks the overall size compatibility of two workspaces. More... | |
| void | exec () override |
| Executes the algorithm. More... | |
| virtual void | execEvent (DataObjects::EventWorkspace_const_sptr lhs, DataObjects::EventWorkspace_const_sptr rhs) |
| Execution method for event workspaces, to be overridden as needed. More... | |
| OperandType | getOperandType (const API::MatrixWorkspace_const_sptr &ws) |
| Get the type of operand from a workspace. More... | |
| Parallel::ExecutionMode | getParallelExecutionMode (const std::map< std::string, Parallel::StorageMode > &storageModes) const override |
| Get correct execution mode based on input storage modes for an MPI run. More... | |
| bool | handleSpecialDivideMinus () |
| Special handling for 1-WS and 1/WS. More... | |
| void | init () override |
| Initialisation method. More... | |
| virtual std::string | inputPropName1 () const |
| The name of the first input workspace property. More... | |
| virtual std::string | inputPropName2 () const |
| The name of the second input workspace property. More... | |
| virtual void | operateOnRun (const API::Run &lhs, const API::Run &rhs, API::Run &ans) const |
| Only overridden by operations that affect the properties of the run (e.g. More... | |
| virtual std::string | outputPropName () const |
| The name of the output workspace property. More... | |
| virtual void | performBinaryOperation (const HistogramData::Histogram &lhs, const double rhsY, const double rhsE, HistogramData::HistogramY &YOut, HistogramData::HistogramE &EOut)=0 |
| Carries out the binary operation when the right hand operand is a single number. More... | |
| virtual void | performBinaryOperation (const HistogramData::Histogram &lhs, const HistogramData::Histogram &rhs, HistogramData::HistogramY &YOut, HistogramData::HistogramE &EOut)=0 |
| Carries out the binary operation on a single spectrum, with another spectrum as the right-hand operand. More... | |
| virtual void | performEventBinaryOperation (DataObjects::EventList &lhs, const DataObjects::EventList &rhs) |
| Carries out the binary operation IN-PLACE on a single EventList, with another EventList as the right-hand operand. More... | |
| virtual void | performEventBinaryOperation (DataObjects::EventList &lhs, const double &rhsY, const double &rhsE) |
| Carries out the binary operation IN-PLACE on a single EventList, with a single (double) value as the right-hand operand. More... | |
| virtual void | performEventBinaryOperation (DataObjects::EventList &lhs, const MantidVec &rhsX, const MantidVec &rhsY, const MantidVec &rhsE) |
| Carries out the binary operation IN-PLACE on a single EventList, with another (histogrammed) spectrum as the right-hand operand. More... | |
| virtual bool | propagateSpectraMask (const API::SpectrumInfo &lhsSpectrumInfo, const API::SpectrumInfo &rhsSpectrumInfo, const int64_t index, API::MatrixWorkspace &out, API::SpectrumInfo &outSpectrumInfo) |
| Checks if the spectra at the given index of either input workspace is masked. More... | |
| virtual void | setOutputUnits (const API::MatrixWorkspace_const_sptr lhs, const API::MatrixWorkspace_const_sptr rhs, API::MatrixWorkspace_sptr out) |
| Should be overridden by operations that need to manipulate the units of the output workspace. More... | |
| ~BinaryOperation ()=default | |
Protected Member Functions inherited from Mantid::API::Algorithm | |
| void | exec (Parallel::ExecutionMode executionMode) |
| Runs the algorithm with the specified execution mode. More... | |
| virtual void | execDistributed () |
Runs the algorithm in distributed execution mode. More... | |
| virtual void | execMasterOnly () |
Runs the algorithm in master-only execution mode. More... | |
| virtual const std::string | workspaceMethodOnTypes () const |
| Returns a semi-colon separated list of workspace types to attach this algorithm. More... | |
| void | cacheWorkspaceProperties () |
| Go through the properties and cache the input/output workspace properties for later use. More... | |
| void | cacheInputWorkspaceHistories () |
| Cache the histories of any input workspaces so they can be copied over after algorithm completion. More... | |
| void | setExecutionState (const ExecutionState state) |
| Sets the current execution state. More... | |
| void | setResultState (const ResultState state) |
| Sets the result execution state. More... | |
| void | store () |
| Stores any output workspaces into the AnalysisDataService. More... | |
| void | progress (double p, const std::string &msg="", double estimatedTime=0.0, int progressPrecision=0) |
| Sends ProgressNotification. More... | |
| void | interruption_point () |
| This is called during long-running operations, and check if the algorithm has requested that it be cancelled. More... | |
| Poco::NotificationCenter & | notificationCenter () const |
| Return a reference to the algorithm's notification dispatcher. More... | |
| void | handleChildProgressNotification (const Poco::AutoPtr< ProgressNotification > &pNf) |
| Observation slot for child algorithm progress notification messages, these are scaled and then signalled for this algorithm. More... | |
| const Poco::AbstractObserver & | progressObserver () const |
| Return a reference to the algorithm's object that is reporting progress. More... | |
| bool | isWorkspaceProperty (const Kernel::Property *const prop) const |
| checks the property is a workspace property More... | |
| bool | trackingHistory () |
| get whether we are tracking the history for this algorithm, More... | |
| virtual void | fillHistory () |
| Copy workspace history for input workspaces to output workspaces and record the history for ths algorithm. More... | |
| virtual void | setOtherProperties (IAlgorithm *alg, const std::string &propertyName, const std::string &propertyValue, int periodNum) |
| Virtual method to set the non workspace properties for this algorithm. More... | |
| template<typename T , const int AllowedIndexTypes = static_cast<int>(IndexType::WorkspaceIndex), typename... WSPropArgs, typename = typename std::enable_if<std::is_convertible<T *, MatrixWorkspace *>::value>::type> | |
| void | declareWorkspaceInputProperties (const std::string &propertyName, const std::string &doc, WSPropArgs &&...wsPropArgs) |
Protected Member Functions inherited from Mantid::Kernel::IPropertyManager | |
| virtual void | afterPropertySet (const std::string &) |
| Override this method to perform a custom action right after a property was set. More... | |
| virtual void | clear ()=0 |
| Clears all properties under management. More... | |
| virtual Property * | getPointerToPropertyOrdinal (const int &index) const =0 |
| Get a property by an index. More... | |
| template<typename T > | |
| T | getValue (const std::string &name) const |
| Templated method to get the value of a property. More... | |
| template<> | |
| MANTID_KERNEL_DLL PropertyManager_sptr | getValue (const std::string &name) const |
| template<> | |
| MANTID_KERNEL_DLL PropertyManager_const_sptr | getValue (const std::string &name) const |
Static Protected Member Functions inherited from Mantid::API::Algorithm | |
| template<typename NumT > | |
| static bool | isEmpty (const NumT toCheck) |
| checks that the value was not set by users, uses the value in empty double/int. More... | |
Protected Attributes inherited from Mantid::Algorithms::BinaryOperation | |
| bool | m_AllowDifferentNumberSpectra {false} |
| The property value. More... | |
| bool | m_ClearRHSWorkspace {false} |
| Flag to clear RHS workspace in binary operation. More... | |
| bool | m_do2D_even_for_SingleColumn_on_rhs {false} |
| Special case for plus/minus: if there is only one bin on the RHS, use the 2D method (appending event lists) so that the single bin is not treated as a scalar. More... | |
| DataObjects::EventWorkspace_const_sptr | m_elhs |
| Left-hand side EventWorkspace. More... | |
| DataObjects::EventWorkspace_sptr | m_eout |
| Output EventWorkspace. More... | |
| DataObjects::EventWorkspace_const_sptr | m_erhs |
| Right-hand side EventWorkspace. More... | |
| bool | m_flipSides {false} |
| flipSides set to true if the rhs and lhs operands should be flipped - for commutative binary operations, normally. More... | |
| bool | m_keepEventWorkspace {false} |
| Variable set to true if the operation allows the output to stay as an EventWorkspace. More... | |
| API::MatrixWorkspace_const_sptr | m_lhs |
| Left-hand side workspace. More... | |
| size_t | m_lhsBlocksize |
| Cache for LHS workspace's blocksize. More... | |
| bool | m_matchXSize {false} |
| matchXSize set to true if the X sizes of histograms must match. More... | |
| API::MatrixWorkspace_sptr | m_out |
| Output workspace. More... | |
| API::MatrixWorkspace_const_sptr | m_rhs |
| Right-hand side workspace. More... | |
| size_t | m_rhsBlocksize |
| Cache for RHS workspace's blocksize. More... | |
| bool | m_useHistogramForRhsEventWorkspace {false} |
| Are we going to use the histogram representation of the RHS event list when performing the operation? e.g. More... | |
Protected Attributes inherited from Mantid::API::Algorithm | |
| std::atomic< bool > | m_cancel |
| Set to true to stop execution. More... | |
| std::atomic< bool > | m_parallelException |
| Set if an exception is thrown, and not caught, within a parallel region. More... | |
| std::vector< IWorkspaceProperty * > | m_inputWorkspaceProps |
| All the WorkspaceProperties that are Input or InOut. Set in execute() More... | |
| std::shared_ptr< AlgorithmHistory > | m_history |
| Pointer to the history for the algorithm being executed. More... | |
| Kernel::Logger | m_log |
| Logger for this algorithm. More... | |
| Kernel::Logger & | g_log |
| std::shared_ptr< AlgorithmHistory > | m_parentHistory |
| Pointer to the parent history object (if set) More... | |
| std::vector< WorkspaceVector > | m_unrolledInputWorkspaces |
| One vector of workspaces for each input workspace property. More... | |
| size_t | m_groupSize |
| Size of the group(s) being processed. More... | |
| bool | m_usingBaseProcessGroups = false |
| distinguish between base processGroups() and overriden/algorithm specific versions More... | |
Static Protected Attributes inherited from Mantid::API::Algorithm | |
| static size_t | g_execCount = 0 |
| Counter to keep track of algorithm execution order. More... | |
Plus performs the addition of two input workspaces.
It inherits from the Algorithm class, and overrides the init() & exec() methods.
Required Properties:
|
overrideprivatevirtual |
Check the given workspaces for unit, distribution and binary operation compatibility.
Return is true is the workspaces are compatible.
| lhs | :: first workspace to check for compatibility |
| rhs | :: second workspace to check for compatibility |
Reimplemented from Mantid::Algorithms::BinaryOperation.
Definition at line 159 of file Plus.cpp.
References Mantid::Algorithms::BinaryOperation::checkCompatibility(), checkUnitCompatibility(), and rhs.
|
overrideprivatevirtual |
Check what operation will be needed in order to apply the operation to these two types of workspaces.
This function must be overridden and checked against all 9 possible combinations.
Must set: m_matchXSize, m_flipSides, m_keepEventWorkspace
Reimplemented from Mantid::Algorithms::BinaryOperation.
Definition at line 100 of file Plus.cpp.
References Mantid::Algorithms::BinaryOperation::checkRequirements(), Mantid::Algorithms::BinaryOperation::m_do2D_even_for_SingleColumn_on_rhs, Mantid::Algorithms::BinaryOperation::m_elhs, Mantid::Algorithms::BinaryOperation::m_eout, Mantid::Algorithms::BinaryOperation::m_erhs, Mantid::Algorithms::BinaryOperation::m_flipSides, Mantid::Algorithms::BinaryOperation::m_keepEventWorkspace, Mantid::Algorithms::BinaryOperation::m_lhs, Mantid::Algorithms::BinaryOperation::m_matchXSize, Mantid::Algorithms::BinaryOperation::m_rhs, and Mantid::Algorithms::BinaryOperation::m_useHistogramForRhsEventWorkspace.
|
overrideprivatevirtual |
Performs a simple check to see if the sizes of two workspaces are compatible for a binary operation In order to be size compatible then the larger workspace must divide be the size of the smaller workspace leaving no remainder.
| lhs | :: the first workspace to compare |
| rhs | :: the second workspace to compare |
| "" | The two workspaces are size compatible |
| <reason why not compatible> | The two workspaces are NOT size compatible |
Reimplemented from Mantid::Algorithms::CommutativeBinaryOperation.
Definition at line 179 of file Plus.cpp.
References Mantid::Algorithms::BinaryOperation::checkSizeCompatibility(), Mantid::Algorithms::BinaryOperation::m_elhs, Mantid::Algorithms::BinaryOperation::m_erhs, and rhs.
|
private |
Return true if the units and distribution-type of the workspaces make them compatible.
| lhs | :: first workspace to check for compatibility |
| rhs | :: second workspace to check for compatibility |
Definition at line 134 of file Plus.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::g_log, and rhs.
Referenced by checkCompatibility().
|
inlineoverridevirtual |
Algorithm's name for identification overriding a virtual method.
Implements Mantid::API::Algorithm.
|
overrideprivatevirtual |
Adds the integrated proton currents, proton charges, of the two input workspaces together.
| lhs | :: one of the workspace samples to be summed |
| rhs | :: the other workspace sample to be summed |
| ans | :: the sample in the output workspace |
Reimplemented from Mantid::Algorithms::BinaryOperation.
Definition at line 210 of file Plus.cpp.
References rhs.
|
overrideprivatevirtual |
Carries out the binary operation when the right hand operand is a single number.
| lhs | :: Lhs histogram data |
| rhsY | :: The rhs data value |
| rhsE | :: The lhs data value |
| YOut | :: Data values resulting from the operation |
| EOut | :: Error values resulting from the operation |
Implements Mantid::Algorithms::BinaryOperation.
|
overrideprivatevirtual |
Carries out the binary operation on a single spectrum, with another spectrum as the right-hand operand.
| lhs | :: Lhs histogram data |
| rhs | :: Rhs histogram data |
| YOut | :: Data values resulting from the operation |
| EOut | :: Drror values resulting from the operation |
Implements Mantid::Algorithms::BinaryOperation.
Definition at line 21 of file Plus.cpp.
References rhs.
|
overrideprivatevirtual |
Carries out the binary operation IN-PLACE on a single EventList, with another EventList as the right-hand operand.
The event lists simply get appended.
| lhs | :: Reference to the EventList that will be modified in place. |
| rhs | :: Const reference to the EventList on the right hand side. |
Reimplemented from Mantid::Algorithms::BinaryOperation.
Definition at line 51 of file Plus.cpp.
References rhs.
|
overrideprivatevirtual |
Carries out the binary operation IN-PLACE on a single EventList, with a single (double) value as the right-hand operand.
THROWS since it is not possible to add a value to an event list.
| lhs | :: Reference to the EventList that will be modified in place. |
| rhsY | :: The rhs data value |
| rhsE | :: The rhs error value |
Reimplemented from Mantid::Algorithms::BinaryOperation.
|
overrideprivatevirtual |
Carries out the binary operation IN-PLACE on a single EventList, with another (histogrammed) spectrum as the right-hand operand.
| lhs | :: Reference to the EventList that will be modified in place. |
| rhsX | :: The vector of rhs X bin boundaries |
| rhsY | :: The vector of rhs data values |
| rhsE | :: The vector of rhs error values |
Reimplemented from Mantid::Algorithms::BinaryOperation.
|
inlineoverridevirtual |
Function to return all of the seeAlso algorithms related to this algorithm.
Implements Mantid::API::IAlgorithm.
|
inlineoverridevirtual |
Summary of algorithms purpose.
Implements Mantid::API::Algorithm.
|
inlineoverridevirtual |
Algorithm's version for identification overriding a virtual method.
Implements Mantid::API::Algorithm.