13#include "MantidCurveFitting/DllConfig.h"
24class FunctionDomain1D;
29namespace CurveFitting {
40 void declareDatasetProperties(
const std::string &suffix =
"",
bool addProp =
true)
override;
43 void createDomain(std::shared_ptr<API::FunctionDomain> &domain, std::shared_ptr<API::FunctionValues> &values,
44 size_t i0 = 0)
override;
47 std::shared_ptr<API::Workspace> createOutputWorkspace(
const std::string &baseName,
API::IFunction_sptr function,
48 std::shared_ptr<API::FunctionDomain> domain,
49 std::shared_ptr<API::FunctionValues> values,
50 const std::string &outputWorkspacePropertyName)
override;
70 void setColumnNames(
const std::string &xColName,
const std::string &yColName,
const std::string &errColName)
const {
71 m_xColName = xColName;
72 m_yColName = yColName;
73 m_errColName = errColName;
76 size_t getDomainSize()
const override;
82 std::pair<size_t, size_t> getXInterval(std::vector<double> XData)
const;
84 void setParameters()
const;
88 std::shared_ptr<API::MatrixWorkspace> createEmptyResultWS(
const size_t nhistograms,
const size_t nyvalues);
93 void appendCompositeFunctionMembers(std::list<API::IFunction_sptr> &functionList,
97 void appendConvolvedCompositeFunctionMembers(std::list<API::IFunction_sptr> &functionList,
100 void addFunctionValuesToWS(
const API::IFunction_sptr &function, std::shared_ptr<API::MatrixWorkspace> &ws,
101 const size_t wsIndex,
const std::shared_ptr<API::FunctionDomain> &domain,
102 const std::shared_ptr<API::FunctionValues> &resultValues)
const;
An base class for domain creators for use in Fit.
DomainType
Type of domain to create.
This is an interface to a fitting function - a semi-abstarct class.
std::string m_yColName
Store the Y column name.
std::string m_startXPropertyName
Store startX property name.
size_t m_startRowNo
Store number of the first row used in fitting.
std::string m_workspacePropertyName
Store workspace property name.
size_t m_maxSize
Max size for seq domain.
std::string m_maxSizePropertyName
Store maxSize property name.
std::weak_ptr< API::FunctionDomain1D > m_domain
Store the created domain and values.
void setWorkspace(API::ITableWorkspace_sptr ws)
Set the workspace.
std::string m_endXPropertyName
Store endX property name.
std::string m_xColName
Store the X column name.
bool m_noErrCol
Flag to indicate if no error column was found.
void setRange(double startX, double endX)
Set the startX and endX.
std::vector< double > m_exclude
Ranges that must be excluded from fit.
std::string m_yColumnPropertyName
Store YColumnName property name.
std::string m_xColumnPropertyName
Store XColumnName property name.
std::string m_errColName
Store the Y Error column name.
std::string m_excludePropertyName
Store the Exclude property name.
void setColumnNames(const std::string &xColName, const std::string &yColName, const std::string &errColName) const
Set the names Of the x, y and error columns.
std::weak_ptr< API::FunctionValues > m_values
void setMaxSize(size_t maxSize)
Set max size for Sequential and Parallel domains.
API::ITableWorkspace_sptr m_tableWorkspace
The input TableWorkspace.
std::string m_errorColumnPropertyName
Store errorColumnName property name.
Interface to PropertyManager.
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
Helper class which provides the Collimation Length for SANS instruments.