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#include "MantidKernel/System.h"
15
16namespace Mantid {
17namespace CurveFitting {
18
31class MANTID_CURVEFITTING_DLL SeqDomainSpectrumCreator : public API::IDomainCreator {
32public:
33 SeqDomainSpectrumCreator(Kernel::IPropertyManager *manager, const std::string &workspacePropertyName);
34
35 void createDomain(std::shared_ptr<API::FunctionDomain> &domain, std::shared_ptr<API::FunctionValues> &values,
36 size_t i0 = 0) override;
37
39 createOutputWorkspace(const std::string &baseName, API::IFunction_sptr function,
40 std::shared_ptr<API::FunctionDomain> domain, std::shared_ptr<API::FunctionValues> values,
41 const std::string &outputWorkspacePropertyName = "OutputWorkspace") override;
42 size_t getDomainSize() const override;
43
44protected:
45 void setParametersFromPropertyManager();
46 void setMatrixWorkspace(const API::MatrixWorkspace_sptr &matrixWorkspace);
47
48 bool histogramIsUsable(size_t i) const;
49
52};
53
54} // namespace CurveFitting
55} // 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
Definition: Workspace_fwd.h:20
std::shared_ptr< IFunction > IFunction_sptr
shared pointer to the function base class
Definition: IFunction.h:732
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.