Mantid
Loading...
Searching...
No Matches
IWorkspaceProperty.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2007 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
13
14namespace Mantid {
15namespace API {
16
20};
21
30public:
32 virtual bool store() = 0;
34 virtual void clear() = 0;
36 virtual Workspace_sptr getWorkspace() const = 0;
38 virtual void setPropertyMode(const PropertyMode::Type &optional) = 0;
40 virtual bool isOptional() const = 0;
42 virtual bool isLocking() const = 0;
44 virtual ~IWorkspaceProperty() = default;
45};
46
47} // namespace API
48} // namespace Mantid
An interface that is implemented by WorkspaceProperty.
virtual bool store()=0
Store a workspace into the AnalysisDataService.
virtual bool isLocking() const =0
Will the workspace be locked when starting an algorithm?
virtual Workspace_sptr getWorkspace() const =0
Get a pointer to the workspace.
virtual void clear()=0
Clear the stored pointer.
virtual bool isOptional() const =0
Is the input workspace property optional (can be blank)?
virtual ~IWorkspaceProperty()=default
Virtual destructor.
virtual void setPropertyMode(const PropertyMode::Type &optional)=0
Set the property mode as Mandatory or Optional.
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
Helper class which provides the Collimation Length for SANS instruments.
Enumeration for a mandatory/optional property.