Mantid
Loading...
Searching...
No Matches
CostFunctionFactory.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2010 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
9//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
12#include "MantidAPI/DllConfig.h"
15#include <vector>
16
17namespace Mantid {
18namespace API {
19
20//----------------------------------------------------------------------
21// More forward declarations
22//----------------------------------------------------------------------
23class ICostFunction;
24
36class MANTID_API_DLL CostFunctionFactoryImpl : public Kernel::DynamicFactory<ICostFunction> {
37public:
42 ICostFunction *createFunction(const std::string &type) const;
43
44private:
48};
49
51
52} // namespace API
53} // namespace Mantid
54
55namespace Mantid {
56namespace Kernel {
57EXTERN_MANTID_API template class MANTID_API_DLL Mantid::Kernel::SingletonHolder<Mantid::API::CostFunctionFactoryImpl>;
58}
59} // namespace Mantid
The CostFunctionFactory class is in charge of the creation of concrete instances of minimizers.
ICostFunction * createFunction(const std::string &type) const
Creates an instance of a cost function.
An interface for specifying the cost function to be used with Fit algorithm or minimizers,...
Definition: ICostFunction.h:24
The dynamic factory is a base dynamic factory for serving up objects in response to requests from oth...
Manage the lifetime of a class intended to be a singleton.
Helper class which provides the Collimation Length for SANS instruments.
Policy class controlling creation of the singleton Implementation classes should mark their default c...