Mantid
Loading...
Searching...
No Matches
LatticeDomainCreator.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2015 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
13#include "MantidCurveFitting/DllConfig.h"
14
15namespace Mantid {
16namespace CurveFitting {
17
26class MANTID_CURVEFITTING_DLL LatticeDomainCreator : public API::IDomainCreator {
27public:
28 LatticeDomainCreator(Kernel::IPropertyManager *manager, const std::string &workspacePropertyName,
29 DomainType domainType = Simple);
30
31 void createDomain(std::shared_ptr<API::FunctionDomain> &domain, std::shared_ptr<API::FunctionValues> &values,
32 size_t i0) override;
33
34 API::Workspace_sptr createOutputWorkspace(const std::string &baseName, API::IFunction_sptr function,
35 std::shared_ptr<API::FunctionDomain> domain,
36 std::shared_ptr<API::FunctionValues> values,
37 const std::string &outputWorkspacePropertyName) override;
38
39 size_t getDomainSize() const override;
40
41protected:
42 void setWorkspaceFromPropertyManager();
43 void createDomainFromPeaksWorkspace(const API::IPeaksWorkspace_sptr &workspace,
44 std::shared_ptr<API::FunctionDomain> &domain,
45 std::shared_ptr<API::FunctionValues> &values, size_t i0);
46
47 void createDomainFromPeakTable(const API::ITableWorkspace_sptr &workspace,
48 std::shared_ptr<API::FunctionDomain> &domain,
49 std::shared_ptr<API::FunctionValues> &values, size_t i0);
50
53};
54
55} // namespace CurveFitting
56} // namespace Mantid
IPeaksWorkspace_sptr workspace
An base class for domain creators for use in Fit.
DomainType
Type of domain to create.
Interface to PropertyManager.
std::shared_ptr< IPeaksWorkspace > IPeaksWorkspace_sptr
shared pointer to Mantid::API::IPeaksWorkspace
std::shared_ptr< ITableWorkspace > ITableWorkspace_sptr
shared pointer to Mantid::API::ITableWorkspace
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
std::shared_ptr< IFunction > IFunction_sptr
shared pointer to the function base class
Definition IFunction.h:743
Helper class which provides the Collimation Length for SANS instruments.