Mantid
Loading...
Searching...
No Matches
SeqDomainSpectrumCreator.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2014 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
30class MANTID_CURVEFITTING_DLL SeqDomainSpectrumCreator : public API::IDomainCreator {
31public:
32 SeqDomainSpectrumCreator(Kernel::IPropertyManager *manager, const std::string &workspacePropertyName);
33
34 void createDomain(std::shared_ptr<API::FunctionDomain> &domain, std::shared_ptr<API::FunctionValues> &values,
35 size_t i0 = 0) override;
36
38 createOutputWorkspace(const std::string &baseName, API::IFunction_sptr function,
39 std::shared_ptr<API::FunctionDomain> domain, std::shared_ptr<API::FunctionValues> values,
40 const std::string &outputWorkspacePropertyName = "OutputWorkspace") override;
41 size_t getDomainSize() const override;
42
43protected:
44 void setParametersFromPropertyManager();
45 void setMatrixWorkspace(const API::MatrixWorkspace_sptr &matrixWorkspace);
46
47 bool histogramIsUsable(size_t i) const;
48
51};
52
53} // namespace CurveFitting
54} // namespace Mantid
An base class for domain creators for use in Fit.
Interface to PropertyManager.
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
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.