Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask Class Referenceabstract

#include <TaskBasedAlgorithm.h>

Public Member Functions

size_t addDependantTaskSet ()
 
 AlgorithmTask (T *parent, const std::string &name)
 
void clear ()
 
void execute ()
 
const std::vector< std::string > & getExpectedOutputs () const
 
const std::string & getSelectedOutput () const
 
void initAsFirstTask (std::shared_ptr< MatrixWorkspace > inputWS)
 
const std::string & name () const
 
void setDependantTask (const std::string &task, const std::string &output_name="", const std::string &alias="", const size_t dependantTaskSet=0)
 
void setExpectedOutputs (const std::vector< std::string > &expectedOutputs)
 
void setTaskExecutionOrder (const std::vector< std::string > *taskExecutionOrder)
 

Protected Member Functions

std::shared_ptr< MatrixWorkspacegetDependantWorkspace (const std::string &outputAlias)
 
void outputWorkspace (std::shared_ptr< MatrixWorkspace > ws, const std::string &outputName)
 
void setSelectedOutput (const std::string &output, const bool overwrite=false)
 

Protected Attributes

T * m_parent
 

Private Member Functions

void activateTaskSet ()
 
void addDependantTaskOutput (const std::string &outputName, std::shared_ptr< MatrixWorkspace > ws, const size_t taskSetIndex)
 
void checkExpectedOutputs ()
 
std::vector< std::string > evaluateDependentTasks ()
 
virtual void executeImpl ()=0
 
std::string populateDependantTasks (const size_t taskSetIndex)
 

Private Attributes

size_t m_activeDependantTaskSet
 
std::vector< std::unordered_map< std::string, std::shared_ptr< MatrixWorkspace > > > m_dependantOutputs
 
std::vector< std::unordered_map< std::string, std::vector< std::pair< std::string, std::string > > > > m_dependantTasks
 
std::vector< std::string > m_expectedOutputs
 
bool m_firstTaskFlag
 
std::vector< size_t > m_fulfilledDependantTaskSets
 
std::string m_name
 
std::string m_selectedOutput
 
const std::vector< std::string > * m_taskExecutionOrder = nullptr
 

Detailed Description

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

Definition at line 28 of file TaskBasedAlgorithm.h.

Constructor & Destructor Documentation

◆ AlgorithmTask()

template<class T >
Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::AlgorithmTask ( T *  parent,
const std::string &  name 
)
inlineexplicit

Member Function Documentation

◆ activateTaskSet()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::activateTaskSet ( )
inlineprivate

◆ addDependantTaskOutput()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::addDependantTaskOutput ( const std::string &  outputName,
std::shared_ptr< MatrixWorkspace ws,
const size_t  taskSetIndex 
)
inlineprivate

◆ addDependantTaskSet()

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

◆ checkExpectedOutputs()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::checkExpectedOutputs ( )
inlineprivate

◆ clear()

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

◆ evaluateDependentTasks()

template<class T >
std::vector< std::string > Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::evaluateDependentTasks ( )
inlineprivate

◆ execute()

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

◆ executeImpl()

template<class T >
virtual void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::executeImpl ( )
privatepure virtual

◆ getDependantWorkspace()

template<class T >
std::shared_ptr< MatrixWorkspace > Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::getDependantWorkspace ( const std::string &  outputAlias)
inlineprotected

◆ getExpectedOutputs()

template<class T >
const std::vector< std::string > & Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::getExpectedOutputs ( ) const
inline

◆ getSelectedOutput()

template<class T >
const std::string & Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::getSelectedOutput ( ) const
inline

◆ initAsFirstTask()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::initAsFirstTask ( std::shared_ptr< MatrixWorkspace inputWS)
inline

◆ name()

template<class T >
const std::string & Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::name ( ) const
inline

◆ outputWorkspace()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::outputWorkspace ( std::shared_ptr< MatrixWorkspace ws,
const std::string &  outputName 
)
inlineprotected

◆ populateDependantTasks()

template<class T >
std::string Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::populateDependantTasks ( const size_t  taskSetIndex)
inlineprivate

◆ setDependantTask()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::setDependantTask ( const std::string &  task,
const std::string &  output_name = "",
const std::string &  alias = "",
const size_t  dependantTaskSet = 0 
)
inline

◆ setExpectedOutputs()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::setExpectedOutputs ( const std::vector< std::string > &  expectedOutputs)
inline

◆ setSelectedOutput()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::setSelectedOutput ( const std::string &  output,
const bool  overwrite = false 
)
inlineprotected

◆ setTaskExecutionOrder()

template<class T >
void Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::setTaskExecutionOrder ( const std::vector< std::string > *  taskExecutionOrder)
inline

Member Data Documentation

◆ m_activeDependantTaskSet

template<class T >
size_t Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_activeDependantTaskSet
private

◆ m_dependantOutputs

template<class T >
std::vector<std::unordered_map<std::string, std::shared_ptr<MatrixWorkspace> > > Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_dependantOutputs
private

◆ m_dependantTasks

template<class T >
std::vector<std::unordered_map<std::string, std::vector<std::pair<std::string, std::string> > > > Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_dependantTasks
private

◆ m_expectedOutputs

template<class T >
std::vector<std::string> Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_expectedOutputs
private

◆ m_firstTaskFlag

template<class T >
bool Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_firstTaskFlag
private

◆ m_fulfilledDependantTaskSets

template<class T >
std::vector<size_t> Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_fulfilledDependantTaskSets
private

◆ m_name

template<class T >
std::string Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_name
private

◆ m_parent

template<class T >
T* Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_parent
protected

◆ m_selectedOutput

template<class T >
std::string Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_selectedOutput
private

◆ m_taskExecutionOrder

template<class T >
const std::vector<std::string>* Mantid::API::TaskBasedAlgorithm< T >::AlgorithmTask::m_taskExecutionOrder = nullptr
private

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