forked from npshub/mantid
-
Notifications
You must be signed in to change notification settings - Fork 0
/
OffsetsWorkspace.cpp
67 lines (57 loc) · 2.22 KB
/
OffsetsWorkspace.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Mantid Repository : https://github.com/mantidproject/mantid
//
// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
// NScD Oak Ridge National Laboratory, European Spallation Source,
// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
// SPDX - License - Identifier: GPL - 3.0 +
#include <utility>
#include "MantidAPI/SpectraAxis.h"
#include "MantidAPI/WorkspaceFactory.h"
#include "MantidDataObjects/OffsetsWorkspace.h"
#include "MantidKernel/IPropertyManager.h"
#include "MantidKernel/System.h"
namespace Mantid {
namespace DataObjects {
// Register the workspace
DECLARE_WORKSPACE(OffsetsWorkspace)
//----------------------------------------------------------------------------------------------
/** Constructor, building from an instrument
*
* @param inst :: input instrument that is the base for this workspace
* @return created OffsetsWorkspace
*/
OffsetsWorkspace::OffsetsWorkspace(const Geometry::Instrument_const_sptr &inst) : SpecialWorkspace2D(std::move(inst)) {}
} // namespace DataObjects
} // namespace Mantid
/// @cond TEMPLATE
namespace Mantid {
namespace Kernel {
template <>
DLLExport Mantid::DataObjects::OffsetsWorkspace_sptr
IPropertyManager::getValue<Mantid::DataObjects::OffsetsWorkspace_sptr>(const std::string &name) const {
auto *prop =
dynamic_cast<PropertyWithValue<Mantid::DataObjects::OffsetsWorkspace_sptr> *>(getPointerToProperty(name));
if (prop) {
return *prop;
} else {
std::string message =
"Attempt to assign property " + name + " to incorrect type. Expected shared_ptr<OffsetsWorkspace>.";
throw std::runtime_error(message);
}
}
template <>
DLLExport Mantid::DataObjects::OffsetsWorkspace_const_sptr
IPropertyManager::getValue<Mantid::DataObjects::OffsetsWorkspace_const_sptr>(const std::string &name) const {
auto *prop =
dynamic_cast<PropertyWithValue<Mantid::DataObjects::OffsetsWorkspace_sptr> *>(getPointerToProperty(name));
if (prop) {
return prop->operator()();
} else {
std::string message =
"Attempt to assign property " + name + " to incorrect type. Expected const shared_ptr<OffsetsWorkspace>.";
throw std::runtime_error(message);
}
}
} // namespace Kernel
} // namespace Mantid
/// @endcond TEMPLATE