12#include "MantidAPI/DllConfig.h"
15#include <nexus/NeXusFile.hpp>
25class AlgorithmHistory;
49 const Types::Core::DateAndTime &start = Types::Core::DateAndTime::getCurrentTime(),
50 const double &duration = -1.0, std::size_t uexeccount = 0);
54 const Types::Core::DateAndTime &start = Types::Core::DateAndTime::getCurrentTime(),
55 const double &duration = -1.0, std::size_t uexeccount = 0);
56 void addExecutionInfo(
const Types::Core::DateAndTime &start,
const double &duration);
57 void addProperty(
const std::string &name,
const std::string &
value,
bool isdefault,
58 const unsigned int &direction = 99);
64 const std::string &
name()
const {
return m_name; }
66 const int &
version()
const {
return m_version; }
70 Mantid::Types::Core::DateAndTime
executionDate()
const {
return m_executionDate; }
72 const std::size_t &
execCount()
const {
return m_execCount; }
74 const std::string &
uuid()
const {
return m_uuid; }
78 const std::string &getPropertyValue(
const std::string &name)
const;
86 size_t childHistorySize()
const;
88 void printSelf(std::ostream &,
const int indent = 0,
const size_t maxPropertyLength = 0)
const;
93 return (execCount() == other.execCount() && name() == other.name());
96 std::shared_ptr<IAlgorithm> createAlgorithm()
const;
98 std::shared_ptr<IAlgorithm> getChildAlgorithm(
const size_t index)
const;
100 void saveNexus(::NeXus::File *file,
int &algCount)
const;
104 void fillAlgorithmHistory(
const Algorithm *
const alg,
const Types::Core::DateAndTime &start,
const double &duration,
105 std::size_t uexeccount);
114 void setProperties(
const Algorithm *
const alg);
122 double m_executionDuration{-1.0};
126 std::size_t m_execCount{0};
double value
The value of the point.
std::map< DeltaEMode::Type, std::string > index
This class stores information about the Command History used by algorithms on a workspace.
Mantid::Kernel::PropertyHistories m_properties
The PropertyHistory's defined for the algorithm.
const AlgorithmHistories & getChildHistories() const
get the child histories of this history object
AlgorithmHistories m_childHistories
set of child algorithm histories for this history record
bool operator==(const AlgorithmHistory &other) const
Equality operator.
Mantid::Types::Core::DateAndTime m_executionDate
The execution date of the algorithm.
Mantid::Types::Core::DateAndTime executionDate() const
get execution date
std::string m_uuid
UUID for this algorithm history.
void setExecCount(std::size_t execCount)
AlgorithmHistory(const AlgorithmHistory &)=default
const std::size_t & execCount() const
get the execution count
const std::string & name() const
get name of algorithm in history const
double executionDuration() const
get execution duration
std::string m_name
The name of the Algorithm.
const int & version() const
get version number of algorithm in history const
const std::string & uuid() const
get the uuid
bool operator<(const AlgorithmHistory &other) const
Less than operator.
const Mantid::Kernel::PropertyHistories & getProperties() const
get parameter list of algorithm in history const
Base class from which all concrete algorithm classes should be derived.
std::vector< AlgorithmHistory_sptr > AlgorithmHistories
MANTID_API_DLL std::ostream & operator<<(std::ostream &, const AlgorithmHistory &)
Prints a text representation.
std::shared_ptr< const AlgorithmHistory > AlgorithmHistory_const_sptr
std::shared_ptr< AlgorithmHistory > AlgorithmHistory_sptr
std::vector< PropertyHistory_sptr > PropertyHistories
Helper class which provides the Collimation Length for SANS instruments.