Mantid
Loading...
Searching...
No Matches
OffsetsWorkspace.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2018 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
10#include "MantidDataObjects/DllConfig.h"
14
15namespace Mantid {
16namespace DataObjects {
17
25class MANTID_DATAOBJECTS_DLL OffsetsWorkspace : public SpecialWorkspace2D {
26public:
27 OffsetsWorkspace() = default;
29
31 std::unique_ptr<OffsetsWorkspace> clone() const { return std::unique_ptr<OffsetsWorkspace>(doClone()); }
33 std::unique_ptr<OffsetsWorkspace> cloneEmpty() const { return std::unique_ptr<OffsetsWorkspace>(doCloneEmpty()); }
37 const std::string id() const override { return "OffsetsWorkspace"; }
38
39protected:
42
43private:
44 OffsetsWorkspace *doClone() const override { return new OffsetsWorkspace(*this); }
45 OffsetsWorkspace *doCloneEmpty() const override { return new OffsetsWorkspace(); }
46};
47
49using OffsetsWorkspace_sptr = std::shared_ptr<OffsetsWorkspace>;
50
52using OffsetsWorkspace_const_sptr = std::shared_ptr<const OffsetsWorkspace>;
53
54} // namespace DataObjects
55} // namespace Mantid
56
57// Instantiated and exported by DataObjects/src/PropertyWithValue.cpp
59 Mantid::Kernel::PropertyWithValue<std::shared_ptr<Mantid::DataObjects::OffsetsWorkspace>>);
60
61#ifndef DataObjects_EXPORTS
63namespace Mantid::API {
65extern template class MANTID_DATAOBJECTS_DLL WorkspaceProperty<DataObjects::OffsetsWorkspace>;
67} // namespace Mantid::API
68#endif
MANTID_DATAOBJECTS_EXTERN_TEMPLATE(Mantid::Kernel::PropertyWithValue< std::shared_ptr< Mantid::DataObjects::OffsetsWorkspace > >)
An OffsetsWorkspace is a specialized Workspace2D where the Y value at each pixel is the offset to be ...
std::unique_ptr< OffsetsWorkspace > cloneEmpty() const
Returns a default-initialized clone of the workspace.
OffsetsWorkspace * doCloneEmpty() const override
Virtual cloneEmpty method.
OffsetsWorkspace & operator=(const OffsetsWorkspace &)=delete
std::unique_ptr< OffsetsWorkspace > clone() const
Returns a clone of the workspace.
OffsetsWorkspace * doClone() const override
Virtual clone method. Not implemented to force implementation in children.
const std::string id() const override
Gets the name of the workspace type.
OffsetsWorkspace(const OffsetsWorkspace &)=default
Protected copy constructor. May be used by childs for cloning.
The concrete, templated class for properties.
std::shared_ptr< const OffsetsWorkspace > OffsetsWorkspace_const_sptr
shared pointer to a const OffsetsWorkspace
std::shared_ptr< OffsetsWorkspace > OffsetsWorkspace_sptr
shared pointer to the OffsetsWorkspace class
std::shared_ptr< const Instrument > Instrument_const_sptr
Shared pointer to an const instrument object.
Helper class which provides the Collimation Length for SANS instruments.