9#include "MantidAPI/DllConfig.h"
13#include "MantidParallel/StorageMode.h"
22class AnalysisDataServiceImpl;
23class WorkspaceHistory;
32 Workspace(
const Parallel::StorageMode storageMode = Parallel::StorageMode::Cloned);
69 void virtual setTitle(
const std::string &);
70 void setComment(
const std::string &);
71 virtual const std::string getTitle()
const;
72 const std::string &getComment()
const;
73 const std::string &
getName()
const override;
74 bool isDirty(
const int n = 1)
const;
75 virtual bool isGroup()
const {
return false; }
79 std::string getMemorySizeAsStr()
const;
86 Parallel::StorageMode storageMode()
const;
91 void setStorageMode(Parallel::StorageMode mode);
94 void setName(
const std::string &);
std::string getName(const IMDDimension &self)
The Analysis data service stores instances of the Workspace objects and anything that derives from te...
This class stores information about the Workspace History used by algorithms on a workspace and the e...
Base Workspace Abstract Class.
bool threadSafe() const override
Marks the workspace as safe for multiple threads to edit data simutaneously.
const WorkspaceHistory & getHistory() const
Returns a reference to the WorkspaceHistory const.
WorkspaceHistory & history()
Returns a reference to the WorkspaceHistory.
std::string m_comment
A user-provided comment that is attached to the workspace.
Workspace & operator=(const Workspace &other)=delete
Workspace_uptr cloneEmpty() const
Returns a default-initialized clone of the workspace.
std::string m_title
The title of the workspace.
Parallel::StorageMode m_storageMode
Storage mode of the Workspace (used for MPI runs)
std::unique_ptr< WorkspaceHistory > m_history
The history of the workspace, algorithm and environment.
virtual Workspace * doCloneEmpty() const =0
Virtual cloneEmpty method.
std::string m_name
The name associated with the object within the ADS (This is required for workspace algebra.
virtual size_t getMemorySize() const =0
Get the footprint in memory in bytes.
virtual bool isGroup() const
virtual Workspace * doClone() const =0
Virtual clone method. Not implemented to force implementation in children.
Workspace_uptr clone() const
Returns a clone (copy) of the workspace with covariant return type in all derived classes.
This class forms the base class of any item that wishes to be stored in the analysis data service.
std::unique_ptr< Workspace > Workspace_uptr
unique pointer to Mantid::API::Workspace
Helper class which provides the Collimation Length for SANS instruments.