Mantid
Loading...
Searching...
No Matches
ParDomain.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2009 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 "MantidCurveFitting/DllConfig.h"
14
15namespace Mantid {
16namespace CurveFitting {
23class MANTID_CURVEFITTING_DLL ParDomain : public SeqDomain {
24public:
27 void getDomainAndValues(size_t i, API::FunctionDomain_sptr &domain, API::FunctionValues_sptr &values) const override;
29 void additiveCostFunctionVal(const CostFunctions::CostFuncFitting &costFunction) override;
32 void additiveCostFunctionValDerivHessian(const CostFunctions::CostFuncFitting &costFunction, bool evalDeriv,
33 bool evalHessian) override;
34};
35
36} // namespace CurveFitting
37} // namespace Mantid
A semi-abstract class for a cost function for fitting functions.
An implementation of SeqDomain for parallel cost function and derivatives computation.
Definition: ParDomain.h:23
An implementation of CompositeDomain.
Definition: SeqDomain.h:30
std::shared_ptr< FunctionValues > FunctionValues_sptr
typedef for a shared pointer
std::shared_ptr< FunctionDomain > FunctionDomain_sptr
typedef for a shared pointer
Helper class which provides the Collimation Length for SANS instruments.