Mantid
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Mantid::API::TaskBasedAlgorithm< T > Class Template Reference

#include <TaskBasedAlgorithm.h>

Inheritance diagram for Mantid::API::TaskBasedAlgorithm< T >:
Mantid::API::GenericDataProcessorAlgorithm< Base >

Classes

class  AlgorithmTask
 

Public Member Functions

 TaskBasedAlgorithm ()
 
- Public Member Functions inherited from Mantid::API::GenericDataProcessorAlgorithm< Base >
 GenericDataProcessorAlgorithm ()
 Constructor.
 
Kernel::IPropertyManager::TypedValue getProperty (const std::string &name) const override
 Get the property held by this object.
 
std::string getPropertyValue (const std::string &name) const override
 Get the property held by this object.
 

Protected Member Functions

void clearMembers ()
 
void configureAlgorithmTasks ()
 
virtual std::vector< std::string > constructTaskExecutionOrder ()
 
void execTasks (const std::string &diagWorkspacePrefix="")
 
template<typename... TaskTypes>
void initTaskBasedAlgorithm (const std::vector< std::string > &defaultTaskExecutionOrder={})
 
void outputDebugWorkspace (const MatrixWorkspace_sptr &ws, const std::string &wsName, const std::string &wsSuffix, const int step)
 
void setMutableInput (const bool inputIsMutable)
 
void stageAlgorithmTasks (std::vector< std::shared_ptr< AlgorithmTask > > tasks)
 
void validateTaskExecutionOrder ()
 
- Protected Member Functions inherited from Mantid::API::GenericDataProcessorAlgorithm< Base >
void copyProperty (const API::Algorithm_sptr &alg, const std::string &name)
 Copy a property from an existing algorithm.
 
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.
 
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.
 
MatrixWorkspace_sptr divide (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Divide a matrix workspace by another matrix workspace.
 
void forwardProperties ()
 
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.
 
Workspace_sptr load (const std::string &inputData, const bool loadQuiet=false)
 Determine what kind of input data we have and load it.
 
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.
 
MatrixWorkspace_sptr minus (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Subract a single value from a matrix workspace.
 
MatrixWorkspace_sptr minus (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Subract a matrix workspace by another matrix workspace.
 
MatrixWorkspace_sptr multiply (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Multiply a matrix workspace by a single value.
 
MatrixWorkspace_sptr multiply (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Multiply a matrix workspace by another matrix workspace.
 
MatrixWorkspace_sptr plus (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Add a single value to a matrix workspace.
 
MatrixWorkspace_sptr plus (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Add a matrix workspace to another matrix workspace.
 
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.
 
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

std::unordered_map< std::string, std::unordered_map< std::string, std::shared_ptr< MatrixWorkspace > > > m_algorithmTaskOutputs
 
std::vector< std::shared_ptr< AlgorithmTask > > m_AlgorithmTasks
 
bool m_mutableInput
 
std::vector< std::shared_ptr< AlgorithmTask > > m_stagedAlgorithmTasks
 
std::vector< std::string > m_taskExecutionOrder
 

Detailed Description

template<class T>
class Mantid::API::TaskBasedAlgorithm< T >

Definition at line 23 of file TaskBasedAlgorithm.h.

Constructor & Destructor Documentation

◆ TaskBasedAlgorithm()

template<class T >
Mantid::API::TaskBasedAlgorithm< T >::TaskBasedAlgorithm ( )
inline

Definition at line 25 of file TaskBasedAlgorithm.h.

Member Function Documentation

◆ clearMembers()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::clearMembers ( )
inlineprotected

Definition at line 298 of file TaskBasedAlgorithm.h.

◆ configureAlgorithmTasks()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::configureAlgorithmTasks ( )
inlineprotected

Definition at line 241 of file TaskBasedAlgorithm.h.

References index.

◆ constructTaskExecutionOrder()

template<class T >
virtual std::vector< std::string > Mantid::API::TaskBasedAlgorithm< T >::constructTaskExecutionOrder ( )
inlineprotectedvirtual

Definition at line 324 of file TaskBasedAlgorithm.h.

◆ execTasks()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::execTasks ( const std::string &  diagWorkspacePrefix = "")
inlineprotected

Definition at line 271 of file TaskBasedAlgorithm.h.

◆ initTaskBasedAlgorithm()

template<class T >
template<typename... TaskTypes>
void Mantid::API::TaskBasedAlgorithm< T >::initTaskBasedAlgorithm ( const std::vector< std::string > &  defaultTaskExecutionOrder = {})
inlineprotected

Definition at line 313 of file TaskBasedAlgorithm.h.

◆ outputDebugWorkspace()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::outputDebugWorkspace ( const MatrixWorkspace_sptr ws,
const std::string &  wsName,
const std::string &  wsSuffix,
const int  step 
)
inlineprotected

Definition at line 305 of file TaskBasedAlgorithm.h.

References std::to_string().

◆ setMutableInput()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::setMutableInput ( const bool  inputIsMutable)
inlineprotected

Definition at line 330 of file TaskBasedAlgorithm.h.

◆ stageAlgorithmTasks()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::stageAlgorithmTasks ( std::vector< std::shared_ptr< AlgorithmTask > >  tasks)
inlineprotected

Definition at line 225 of file TaskBasedAlgorithm.h.

◆ validateTaskExecutionOrder()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::validateTaskExecutionOrder ( )
inlineprotected

Definition at line 257 of file TaskBasedAlgorithm.h.

Member Data Documentation

◆ m_algorithmTaskOutputs

template<class T >
std::unordered_map<std::string, std::unordered_map<std::string, std::shared_ptr<MatrixWorkspace> > > Mantid::API::TaskBasedAlgorithm< T >::m_algorithmTaskOutputs
protected

Definition at line 335 of file TaskBasedAlgorithm.h.

◆ m_AlgorithmTasks

template<class T >
std::vector<std::shared_ptr<AlgorithmTask> > Mantid::API::TaskBasedAlgorithm< T >::m_AlgorithmTasks
protected

Definition at line 336 of file TaskBasedAlgorithm.h.

◆ m_mutableInput

template<class T >
bool Mantid::API::TaskBasedAlgorithm< T >::m_mutableInput
protected

Definition at line 338 of file TaskBasedAlgorithm.h.

◆ m_stagedAlgorithmTasks

template<class T >
std::vector<std::shared_ptr<AlgorithmTask> > Mantid::API::TaskBasedAlgorithm< T >::m_stagedAlgorithmTasks
protected

Definition at line 332 of file TaskBasedAlgorithm.h.

◆ m_taskExecutionOrder

template<class T >
std::vector<std::string> Mantid::API::TaskBasedAlgorithm< T >::m_taskExecutionOrder
protected

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