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#include "MantidKernel/System.h"
15
16namespace Mantid {
17namespace CurveFitting {
18
27class MANTID_CURVEFITTING_DLL LatticeDomainCreator : public API::IDomainCreator {
28public:
29 LatticeDomainCreator(Kernel::IPropertyManager *manager, const std::string &workspacePropertyName,
30 DomainType domainType = Simple);
31
32 void createDomain(std::shared_ptr<API::FunctionDomain> &domain, std::shared_ptr<API::FunctionValues> &values,
33 size_t i0) override;
34
35 API::Workspace_sptr createOutputWorkspace(const std::string &baseName, API::IFunction_sptr function,
36 std::shared_ptr<API::FunctionDomain> domain,
37 std::shared_ptr<API::FunctionValues> values,
38 const std::string &outputWorkspacePropertyName) override;
39
40 size_t getDomainSize() const override;
41
42protected:
43 void setWorkspaceFromPropertyManager();
44 void createDomainFromPeaksWorkspace(const API::IPeaksWorkspace_sptr &workspace,
45 std::shared_ptr<API::FunctionDomain> &domain,
46 std::shared_ptr<API::FunctionValues> &values, size_t i0);
47
48 void createDomainFromPeakTable(const API::ITableWorkspace_sptr &workspace,
49 std::shared_ptr<API::FunctionDomain> &domain,
50 std::shared_ptr<API::FunctionValues> &values, size_t i0);
51
54};
55
56} // namespace CurveFitting
57} // namespace Mantid
IPeaksWorkspace_sptr workspace
Definition: IndexPeaks.cpp:114
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
Definition: Workspace_fwd.h:20
std::shared_ptr< IFunction > IFunction_sptr
shared pointer to the function base class
Definition: IFunction.h:732
Helper class which provides the Collimation Length for SANS instruments.