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 {
24public:
26 virtual bool store() = 0;
28 virtual void clear() = 0;
30 virtual Workspace_sptr getWorkspace() const = 0;
32 virtual bool isOptional() const = 0;
34 virtual bool isLocking() const = 0;
36 virtual ~IWorkspaceProperty() = default;
38 virtual void setIsMasterRank(bool isMasterRank) = 0;
39};
40
41} // namespace API
42} // 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 void setIsMasterRank(bool isMasterRank)=0
Sets a flag indicating whether this is the master rank in MPI builds.
virtual bool isOptional() const =0
Is the input workspace property optional (can be blank)?
virtual ~IWorkspaceProperty()=default
Virtual destructor.
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
Definition: Workspace_fwd.h:20
Helper class which provides the Collimation Length for SANS instruments.