Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Mantid::API::GenericDataProcessorAlgorithm< Base > Class Template Reference

Data processor algorithm to be used as a parent to workflow algorithms. More...

#include <DataProcessorAlgorithm.h>

Inheritance diagram for Mantid::API::GenericDataProcessorAlgorithm< Base >:
Mantid::PythonInterface::AlgorithmAdapter< API::GenericDataProcessorAlgorithm< Base > > Mantid::Algorithms::CalculateCarpenterSampleCorrection Mantid::Algorithms::CarpenterSampleCorrection Mantid::Algorithms::ExtractQENSMembers Mantid::Algorithms::PerformIndexOperations Mantid::Algorithms::SofQW Mantid::Algorithms::StripVanadiumPeaks2 Mantid::CurveFitting::Algorithms::QENSFitSequential Mantid::MDAlgorithms::AccumulateMD Mantid::MDAlgorithms::CreateMD Mantid::MDAlgorithms::CutMD Mantid::MDAlgorithms::IntegrateEllipsoids Mantid::WorkflowAlgorithms::AlignAndFocusPowder Mantid::WorkflowAlgorithms::ComputeSensitivity Mantid::WorkflowAlgorithms::DgsReduction Mantid::WorkflowAlgorithms::LoadEventAndCompress Mantid::WorkflowAlgorithms::MuonProcess Mantid::WorkflowAlgorithms::SANSBeamFluxCorrection Mantid::WorkflowAlgorithms::SofTwoThetaTOF

Public Member Functions

 GenericDataProcessorAlgorithm ()
 Constructor. More...
 
Kernel::IPropertyManager::TypedValue getProperty (const std::string &name) const override
 Get the property held by this object. More...
 
std::string getPropertyValue (const std::string &name) const override
 Get the property held by this object. More...
 

Protected Member Functions

Workspace_sptr assemble (const std::string &partialWSName, const std::string &outputWSName)
 Assemble the partial workspaces from all MPI processes. More...
 
Workspace_sptr assemble (Workspace_sptr partialWS)
 Assemble the partial workspaces from all MPI processes. More...
 
void copyProperty (const API::Algorithm_sptr &alg, const std::string &name)
 Copy a property from an existing algorithm. More...
 
std::shared_ptr< AlgorithmcreateChildAlgorithm (const std::string &name, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true, const int &version=-1) override
 Create a Child Algorithm. More...
 
virtual ITableWorkspace_sptr determineChunk (const std::string &filename)
 
MatrixWorkspace_sptr divide (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Divide a matrix workspace by a single value. More...
 
MatrixWorkspace_sptr divide (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Divide a matrix workspace by another matrix workspace. More...
 
void forwardProperties ()
 
int getNThreads ()
 Return the number of MPI processes running. More...
 
std::shared_ptr< Kernel::PropertyManagergetProcessProperties (const std::string &propertyManager=std::string()) const
 Get the property manager object of a given name from the property manager data service, or create a new one. More...
 
bool isMainThread ()
 Return true if we are running on the main thread. More...
 
Workspace_sptr load (const std::string &inputData, const bool loadQuiet=false)
 Determine what kind of input data we have and load it. More...
 
virtual MatrixWorkspace_sptr loadChunk (const size_t rowIndex)
 
void mapPropertyName (const std::string &nameInProp, const std::string &nameInPropManager)
 Declare mapping of property name to name in the PropertyManager. More...
 
MatrixWorkspace_sptr minus (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Subract a single value from a matrix workspace. More...
 
MatrixWorkspace_sptr minus (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Subract a matrix workspace by another matrix workspace. More...
 
MatrixWorkspace_sptr multiply (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Multiply a matrix workspace by a single value. More...
 
MatrixWorkspace_sptr multiply (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Multiply a matrix workspace by another matrix workspace. More...
 
MatrixWorkspace_sptr plus (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Add a single value to a matrix workspace. More...
 
MatrixWorkspace_sptr plus (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Add a matrix workspace to another matrix workspace. More...
 
void saveNexus (const std::string &outputWSName, const std::string &outputFile)
 Save a workspace as a nexus file, with check for which thread we are executing in. More...
 
void setAccumAlg (const std::string &alg)
 
void setLoadAlg (const std::string &alg)
 
void setLoadAlgFileProp (const std::string &filePropName)
 
void setPropManagerPropName (const std::string &propName)
 
std::vector< std::string > splitInput (const std::string &input)
 

Protected Attributes

bool m_useMPI
 MPI option. If false, we will use one job event if MPI is available. More...
 

Private Member Functions

MatrixWorkspace_sptr createWorkspaceSingleValue (const double &rhsValue)
 Create a matrix workspace from a single number. More...
 
template<typename LHSType , typename RHSType , typename ResultType >
ResultType executeBinaryAlgorithm (const std::string &algorithmName, const LHSType lhs, const RHSType rhs)
 
void visualStudioC4661Workaround ()
 
MANTID_API_DLL void visualStudioC4661Workaround ()
 
MANTID_API_DLL void visualStudioC4661Workaround ()
 

Private Attributes

std::string m_accumulateAlg
 The name of the algorithm to invoke when accumulating data chunks. More...
 
std::string m_loadAlg
 The name of the algorithm to invoke when loading data. More...
 
std::string m_loadAlgFileProp
 An alternate filename property for the load algorithm. More...
 
std::map< std::string, std::string > m_nameToPMName
 Map property names to names in supplied properties manager. More...
 
std::string m_propertyManagerPropertyName
 The name of the parameter that names the property manager. More...
 

Detailed Description

template<class Base>
class Mantid::API::GenericDataProcessorAlgorithm< Base >

Data processor algorithm to be used as a parent to workflow algorithms.

This algorithm provides utility methods to load and process data.

Date
2012-04-04

Definition at line 29 of file DataProcessorAlgorithm.h.

Constructor & Destructor Documentation

◆ GenericDataProcessorAlgorithm()

Constructor.

Definition at line 37 of file DataProcessorAlgorithm.cpp.

Member Function Documentation

◆ assemble() [1/2]

template<class Base >
Workspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::assemble ( const std::string &  partialWSName,
const std::string &  outputWSName 
)
protected

Assemble the partial workspaces from all MPI processes.

Parameters
partialWSName:: Name of the workspace to assemble
outputWSName:: Name of the assembled workspace (available in main thread only)

Definition at line 237 of file DataProcessorAlgorithm.cpp.

References Mantid::Kernel::SingletonHolder< T >::Instance().

◆ assemble() [2/2]

template<class Base >
Workspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::assemble ( Workspace_sptr  partialWS)
protected

Assemble the partial workspaces from all MPI processes.

Parameters
partialWS:: workspace to assemble thread only)

Definition at line 211 of file DataProcessorAlgorithm.cpp.

References Mantid::Kernel::SingletonHolder< T >::Instance().

Referenced by Mantid::PythonInterface::DataProcessorAdapter< Base >::assembleProxy(), and Mantid::WorkflowAlgorithms::LoadEventAndCompress::exec().

◆ copyProperty()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::copyProperty ( const API::Algorithm_sptr alg,
const std::string &  name 
)
protected

Copy a property from an existing algorithm.

Warning
This only works if your algorithm is in the WorkflowAlgorithms sub-project.
Parameters
alg
name
Exceptions
std::runtime_errorIf you ask to copy a non-existent property

Definition at line 128 of file DataProcessorAlgorithm.cpp.

Referenced by Mantid::PythonInterface::DataProcessorAdapter< Base >::copyPropertiesProxy(), Mantid::Algorithms::CarpenterSampleCorrection::init(), and Mantid::WorkflowAlgorithms::LoadEventAndCompress::init().

◆ createChildAlgorithm()

template<class Base >
std::shared_ptr< Algorithm > Mantid::API::GenericDataProcessorAlgorithm< Base >::createChildAlgorithm ( const std::string &  name,
const double  startProgress = -1.,
const double  endProgress = -1.,
const bool  enableLogging = true,
const int &  version = -1 
)
overrideprotected

Create a Child Algorithm.

A call to this method creates a child algorithm object. Using this mechanism instead of creating daughter algorithms directly via the new operator is prefered since then the framework can take care of all of the necessary book-keeping.

Overrides the method of the same name in Algorithm to enable history tracking by default.

Parameters
name:: The concrete algorithm class of the Child Algorithm
startProgress:: The percentage progress value of the overall algorithm where this child algorithm starts
endProgress:: The percentage progress value of the overall algorithm where this child algorithm ends
enableLogging:: Set to false to disable logging from the child algorithm
version:: The version of the child algorithm to create. By default gives the latest version.
Returns
shared pointer to the newly created algorithm object

Definition at line 66 of file DataProcessorAlgorithm.cpp.

References Mantid::API::Algorithm::createChildAlgorithm().

Referenced by Mantid::CurveFitting::Algorithms::QENSFitSequential::addAdditionalLogs(), Mantid::CurveFitting::Algorithms::QENSFitSequential::addFitRangeLogs(), Mantid::MDAlgorithms::CreateMD::addSampleLog(), Mantid::Algorithms::ExtractQENSMembers::appendSpectra(), Mantid::WorkflowAlgorithms::MuonProcess::applyDTC(), Mantid::Algorithms::CarpenterSampleCorrection::calculateCorrection(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::conjoinWorkspaces(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::convertOffsetsToCal(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::convertToConstantL2(), Mantid::MDAlgorithms::CreateMD::convertToMD(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::convertToTwoTheta(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::convertUnits(), Mantid::CurveFitting::Algorithms::QENSFitSequential::copyLogs(), Mantid::WorkflowAlgorithms::MuonProcess::correctWorkspace(), Mantid::MDAlgorithms::AccumulateMD::createMDWorkspace(), Mantid::CurveFitting::Algorithms::QENSFitSequential::deleteTemporaryWorkspaces(), Mantid::Algorithms::CalculateCarpenterSampleCorrection::deleteWorkspace(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::determineChunk(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::diffractionFocus(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::doSortEvents(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::editInstrument(), Mantid::Algorithms::PerformIndexOperations::exec(), Mantid::Algorithms::SofQW::exec(), Mantid::Algorithms::StripVanadiumPeaks2::exec(), Mantid::MDAlgorithms::AccumulateMD::exec(), Mantid::MDAlgorithms::CutMD::exec(), Mantid::MDAlgorithms::IntegrateEllipsoids::exec(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::exec(), Mantid::WorkflowAlgorithms::ComputeSensitivity::exec(), Mantid::WorkflowAlgorithms::DgsReduction::exec(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::exec(), Mantid::WorkflowAlgorithms::SANSBeamFluxCorrection::exec(), Mantid::Algorithms::ExtractQENSMembers::extractSpectrum(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::filterResonances(), Mantid::Algorithms::ExtractQENSMembers::getQValues(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::groupByTwoTheta(), Mantid::WorkflowAlgorithms::MuonProcess::groupWorkspaces(), Mantid::Algorithms::ExtractQENSMembers::groupWorkspaces(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::loadCalFile(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::loadChunk(), Mantid::WorkflowAlgorithms::DgsReduction::loadGroupingFile(), Mantid::WorkflowAlgorithms::DgsReduction::loadHardMask(), Mantid::WorkflowAlgorithms::DgsReduction::loadInputData(), Mantid::WorkflowAlgorithms::SANSBeamFluxCorrection::loadReference(), Mantid::MDAlgorithms::CreateMD::loadWs(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::maskEmptyBins(), Mantid::MDAlgorithms::CreateMD::merge_runs(), Mantid::Algorithms::CarpenterSampleCorrection::minus(), Mantid::Algorithms::CarpenterSampleCorrection::multiply(), Mantid::CurveFitting::Algorithms::QENSFitSequential::performFit(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::processChunk(), Mantid::CurveFitting::Algorithms::QENSFitSequential::processIndirectFitParameters(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::rebin(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::rebinRagged(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::rebinToNonRagged(), Mantid::CurveFitting::Algorithms::QENSFitSequential::renameWorkspaces(), Mantid::MDAlgorithms::CreateMD::setGoniometer(), Mantid::MDAlgorithms::CreateMD::setUB(), and Mantid::Algorithms::CalculateCarpenterSampleCorrection::setUncertainties().

◆ createWorkspaceSingleValue()

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::createWorkspaceSingleValue ( const double &  rhsValue)
private

Create a matrix workspace from a single number.

Create a workspace that contains just a single Y value.

Parameters
rhsValue:: the value to convert to a single value matrix workspace
Returns
matrix workspace resulting from the operation

Definition at line 517 of file DataProcessorAlgorithm.cpp.

References Mantid::Kernel::SingletonHolder< T >::Instance().

◆ determineChunk()

template<class Base >
ITableWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::determineChunk ( const std::string &  filename)
protectedvirtual

◆ divide() [1/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::divide ( const MatrixWorkspace_sptr  lhs,
const double &  rhsValue 
)
protected

Divide a matrix workspace by a single value.

Parameters
lhs:: the workspace on the left hand side of the divide symbol
rhsValue:: the value on the right hand side of the divide symbol
Returns
matrix workspace resulting from the operation

Definition at line 423 of file DataProcessorAlgorithm.cpp.

References Mantid::API::createWorkspaceSingleValue().

◆ divide() [2/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::divide ( const MatrixWorkspace_sptr  lhs,
const MatrixWorkspace_sptr  rhs 
)
protected

Divide a matrix workspace by another matrix workspace.

Parameters
lhs:: the workspace on the left hand side of the divide symbol
rhs:: the workspace on the right hand side of the divide symbol
Returns
matrix workspace resulting from the operation

Definition at line 410 of file DataProcessorAlgorithm.cpp.

References rhs.

Referenced by Mantid::WorkflowAlgorithms::DgsReduction::exec().

◆ executeBinaryAlgorithm()

template<class Base >
template<typename LHSType , typename RHSType , typename ResultType >
ResultType Mantid::API::GenericDataProcessorAlgorithm< Base >::executeBinaryAlgorithm ( const std::string &  algorithmName,
const LHSType  lhs,
const RHSType  rhs 
)
inlineprivate

Definition at line 82 of file DataProcessorAlgorithm.h.

References rhs.

◆ forwardProperties()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::forwardProperties
protected

◆ getNThreads()

template<class Base >
int Mantid::API::GenericDataProcessorAlgorithm< Base >::getNThreads
protected

Return the number of MPI processes running.

Definition at line 292 of file DataProcessorAlgorithm.cpp.

Referenced by Mantid::PythonInterface::DataProcessorAdapter< Base >::getNThreadsProxy().

◆ getProcessProperties()

template<class Base >
std::shared_ptr< PropertyManager > Mantid::API::GenericDataProcessorAlgorithm< Base >::getProcessProperties ( const std::string &  propertyManager = std::string()) const
protected

Get the property manager object of a given name from the property manager data service, or create a new one.

If the PropertyManager name is missing (default) this will look at m_propertyManagerPropertyName to get the correct value;

Parameters
propertyManager:: Name of the property manager to retrieve.

Definition at line 367 of file DataProcessorAlgorithm.cpp.

References Mantid::Kernel::SingletonHolder< T >::Instance().

Referenced by Mantid::WorkflowAlgorithms::ComputeSensitivity::exec(), Mantid::WorkflowAlgorithms::SANSBeamFluxCorrection::exec(), and Mantid::PythonInterface::DataProcessorAdapter< Base >::getProcessPropertiesProxy().

◆ getProperty()

template<class Base >
PropertyManagerOwner::TypedValue Mantid::API::GenericDataProcessorAlgorithm< Base >::getProperty ( const std::string &  name) const
override

Get the property held by this object.

If the value is the default see if it contained in the PropertyManager.

See also
Algorithm::getProperty(const string&)
Parameters
name
Returns

Definition at line 174 of file DataProcessorAlgorithm.cpp.

References Mantid::API::Algorithm::getProperty().

Referenced by Mantid::CurveFitting::Algorithms::QENSFitSequential::addFitRangeLogs(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::clarifyAngleStep(), Mantid::WorkflowAlgorithms::MuonProcess::correctWorkspace(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::determineChunk(), Mantid::Algorithms::CalculateCarpenterSampleCorrection::exec(), Mantid::Algorithms::CarpenterSampleCorrection::exec(), Mantid::Algorithms::PerformIndexOperations::exec(), Mantid::Algorithms::SofQW::exec(), Mantid::Algorithms::StripVanadiumPeaks2::exec(), Mantid::CurveFitting::Algorithms::QENSFitSequential::exec(), Mantid::MDAlgorithms::AccumulateMD::exec(), Mantid::MDAlgorithms::CreateMD::exec(), Mantid::MDAlgorithms::CutMD::exec(), Mantid::MDAlgorithms::IntegrateEllipsoids::exec(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::exec(), Mantid::WorkflowAlgorithms::DgsReduction::exec(), Mantid::Algorithms::ExtractQENSMembers::exec(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::exec(), Mantid::WorkflowAlgorithms::MuonProcess::exec(), Mantid::WorkflowAlgorithms::SANSBeamFluxCorrection::exec(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::exec(), Mantid::CurveFitting::Algorithms::QENSFitSequential::extractMembersAlgorithm(), Mantid::CurveFitting::Algorithms::QENSFitSequential::getAdditionalLogStrings(), Mantid::CurveFitting::Algorithms::QENSFitSequential::getDatasetGrouping(), Mantid::CurveFitting::Algorithms::QENSFitSequential::getInputString(), Mantid::Algorithms::ExtractQENSMembers::getInputWorkspaces(), Mantid::WorkflowAlgorithms::DgsReduction::getParameter(), Mantid::CurveFitting::Algorithms::QENSFitSequential::getUniqueParameterNames(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::getVecPropertyFromPmOrSelf(), Mantid::CurveFitting::Algorithms::QENSFitSequential::getWorkspaces(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::groupByTwoTheta(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::loadCalFile(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::loadChunk(), Mantid::WorkflowAlgorithms::DgsReduction::loadGroupingFile(), Mantid::WorkflowAlgorithms::DgsReduction::loadHardMask(), Mantid::WorkflowAlgorithms::DgsReduction::loadInputData(), Mantid::CurveFitting::Algorithms::QENSFitSequential::performFit(), Mantid::WorkflowAlgorithms::LoadEventAndCompress::processChunk(), Mantid::CurveFitting::Algorithms::QENSFitSequential::processIndirectFitParameters(), Mantid::CurveFitting::Algorithms::QENSFitSequential::validateInputs(), Mantid::MDAlgorithms::AccumulateMD::validateInputs(), Mantid::MDAlgorithms::CreateMD::validateInputs(), Mantid::WorkflowAlgorithms::AlignAndFocusPowder::validateInputs(), Mantid::Algorithms::ExtractQENSMembers::validateInputs(), and Mantid::WorkflowAlgorithms::MuonProcess::validateInputs().

◆ getPropertyValue()

template<class Base >
std::string Mantid::API::GenericDataProcessorAlgorithm< Base >::getPropertyValue ( const std::string &  name) const
override

◆ isMainThread()

template<class Base >
bool Mantid::API::GenericDataProcessorAlgorithm< Base >::isMainThread
protected

Return true if we are running on the main thread.

Definition at line 281 of file DataProcessorAlgorithm.cpp.

Referenced by Mantid::PythonInterface::DataProcessorAdapter< Base >::isMainThreadProxy().

◆ load()

template<class Base >
Workspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::load ( const std::string &  inputData,
const bool  loadQuiet = false 
)
protected

Determine what kind of input data we have and load it.

Parameters
inputData:: File path or workspace name
loadQuiet:: If true then the output is not stored in the ADS

Definition at line 306 of file DataProcessorAlgorithm.cpp.

References Mantid::Kernel::FacilityInfo::extensions(), Mantid::API::g_log, Mantid::Kernel::SingletonHolder< T >::Instance(), and Mantid::Kernel::Logger::notice().

Referenced by Mantid::WorkflowAlgorithms::DgsReduction::loadInputData(), and Mantid::PythonInterface::DataProcessorAdapter< Base >::loadProxy().

◆ loadChunk()

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::loadChunk ( const size_t  rowIndex)
protectedvirtual

◆ mapPropertyName()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::mapPropertyName ( const std::string &  nameInProp,
const std::string &  nameInPropManager 
)
protected

Declare mapping of property name to name in the PropertyManager.

This is used by getPropertyValue(const string &) and getProperty(const string&).

Parameters
nameInPropName of the property as declared in Algorithm::init().
nameInPropManagerName of the property in the PropertyManager.

Definition at line 111 of file DataProcessorAlgorithm.cpp.

◆ minus() [1/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::minus ( const MatrixWorkspace_sptr  lhs,
const double &  rhsValue 
)
protected

Subract a single value from a matrix workspace.

Parameters
lhs:: the workspace on the left hand side of the subtraction symbol
rhsValue:: the workspace on the right hand side of the subtraction symbol
Returns
matrix workspace resulting from the operation

Definition at line 505 of file DataProcessorAlgorithm.cpp.

References Mantid::API::createWorkspaceSingleValue().

◆ minus() [2/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::minus ( const MatrixWorkspace_sptr  lhs,
const MatrixWorkspace_sptr  rhs 
)
protected

Subract a matrix workspace by another matrix workspace.

Subract a matrix workspace from another matrix workspace.

Parameters
lhs:: the workspace on the left hand side of the subtraction symbol
rhs:: the workspace on the right hand side of the subtraction symbol
Returns
matrix workspace resulting from the operation

Definition at line 491 of file DataProcessorAlgorithm.cpp.

References rhs.

◆ multiply() [1/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::multiply ( const MatrixWorkspace_sptr  lhs,
const double &  rhsValue 
)
protected

Multiply a matrix workspace by a single value.

Parameters
lhs:: the workspace on the left hand side of the multiplication symbol
rhsValue:: the value on the right hand side of the multiplication symbol
Returns
matrix workspace resulting from the operation

Definition at line 453 of file DataProcessorAlgorithm.cpp.

References Mantid::API::createWorkspaceSingleValue().

◆ multiply() [2/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::multiply ( const MatrixWorkspace_sptr  lhs,
const MatrixWorkspace_sptr  rhs 
)
protected

Multiply a matrix workspace by another matrix workspace.

Parameters
lhs:: the workspace on the left hand side of the multiplication symbol
rhs:: the workspace on the right hand side of the multiplication symbol
Returns
matrix workspace resulting from the operation

Definition at line 438 of file DataProcessorAlgorithm.cpp.

References rhs.

◆ plus() [1/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::plus ( const MatrixWorkspace_sptr  lhs,
const double &  rhsValue 
)
protected

Add a single value to a matrix workspace.

Add a single value to another matrix workspace.

Parameters
lhs:: the workspace on the left hand side of the addition symbol
rhsValue:: the value on the right hand side of the addition symbol
Returns
matrix workspace resulting from the operation

Definition at line 479 of file DataProcessorAlgorithm.cpp.

References Mantid::API::createWorkspaceSingleValue().

◆ plus() [2/2]

template<class Base >
MatrixWorkspace_sptr Mantid::API::GenericDataProcessorAlgorithm< Base >::plus ( const MatrixWorkspace_sptr  lhs,
const MatrixWorkspace_sptr  rhs 
)
protected

Add a matrix workspace to another matrix workspace.

Parameters
lhs:: the workspace on the left hand side of the addition symbol
rhs:: the workspace on the right hand side of the addition symbol
Returns
matrix workspace resulting from the operation

Definition at line 466 of file DataProcessorAlgorithm.cpp.

References rhs.

◆ saveNexus()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::saveNexus ( const std::string &  outputWSName,
const std::string &  outputFile 
)
protected

Save a workspace as a nexus file, with check for which thread we are executing in.

Parameters
outputWSName:: Name of the workspace to save
outputFile:: Path to the Nexus file to save

Definition at line 267 of file DataProcessorAlgorithm.cpp.

Referenced by Mantid::PythonInterface::DataProcessorAdapter< Base >::saveNexusProxy().

◆ setAccumAlg()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::setAccumAlg ( const std::string &  alg)
protected

◆ setLoadAlg()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::setLoadAlg ( const std::string &  alg)
protected

◆ setLoadAlgFileProp()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::setLoadAlgFileProp ( const std::string &  filePropName)
protected

◆ setPropManagerPropName()

template<class Base >
void Mantid::API::GenericDataProcessorAlgorithm< Base >::setPropManagerPropName ( const std::string &  propName)
protected

Definition at line 98 of file DataProcessorAlgorithm.cpp.

◆ splitInput()

template<class Base >
std::vector< std::string > Mantid::API::GenericDataProcessorAlgorithm< Base >::splitInput ( const std::string &  input)
protected

◆ visualStudioC4661Workaround() [1/3]

template<typename T >
void Mantid::API::GenericDataProcessorAlgorithm< T >::visualStudioC4661Workaround
private

Definition at line 524 of file DataProcessorAlgorithm.cpp.

◆ visualStudioC4661Workaround() [2/3]

MANTID_API_DLL void Mantid::API::GenericDataProcessorAlgorithm< Algorithm >::visualStudioC4661Workaround ( )
private

◆ visualStudioC4661Workaround() [3/3]

MANTID_API_DLL void Mantid::API::GenericDataProcessorAlgorithm< Algorithm >::visualStudioC4661Workaround ( )
private

Definition at line 531 of file DataProcessorAlgorithm.cpp.

Member Data Documentation

◆ m_accumulateAlg

template<class Base >
std::string Mantid::API::GenericDataProcessorAlgorithm< Base >::m_accumulateAlg
private

The name of the algorithm to invoke when accumulating data chunks.

Definition at line 105 of file DataProcessorAlgorithm.h.

◆ m_loadAlg

template<class Base >
std::string Mantid::API::GenericDataProcessorAlgorithm< Base >::m_loadAlg
private

The name of the algorithm to invoke when loading data.

Definition at line 103 of file DataProcessorAlgorithm.h.

◆ m_loadAlgFileProp

template<class Base >
std::string Mantid::API::GenericDataProcessorAlgorithm< Base >::m_loadAlgFileProp
private

An alternate filename property for the load algorithm.

Definition at line 107 of file DataProcessorAlgorithm.h.

◆ m_nameToPMName

template<class Base >
std::map<std::string, std::string> Mantid::API::GenericDataProcessorAlgorithm< Base >::m_nameToPMName
private

Map property names to names in supplied properties manager.

Definition at line 112 of file DataProcessorAlgorithm.h.

◆ m_propertyManagerPropertyName

template<class Base >
std::string Mantid::API::GenericDataProcessorAlgorithm< Base >::m_propertyManagerPropertyName
private

The name of the parameter that names the property manager.

The default value is "ReductionProperties".

Definition at line 110 of file DataProcessorAlgorithm.h.

◆ m_useMPI

template<class Base >
bool Mantid::API::GenericDataProcessorAlgorithm< Base >::m_useMPI
protected

MPI option. If false, we will use one job event if MPI is available.

Definition at line 53 of file DataProcessorAlgorithm.h.


The documentation for this class was generated from the following files: