virtual void addValDerivHessian(API::IFunction_sptr function, API::FunctionDomain_sptr domain, API::FunctionValues_sptr values, bool evalDeriv=true, bool evalHessian=true) const =0
Increments the cost function and its derivatives by evaluating them on a domain.
void getDomainAndValues(size_t i, API::FunctionDomain_sptr &domain, API::FunctionValues_sptr &values) const override
Create and return i-th domain and i-th values, (i-1)th domain is released.
void additiveCostFunctionVal(const CostFunctions::CostFuncFitting &costFunction) override
Calculate the value of an additive cost function.
void additiveCostFunctionValDerivHessian(const CostFunctions::CostFuncFitting &costFunction, bool evalDeriv, bool evalHessian) override
Calculate the value, first and second derivatives of an additive cost function.
std::vector< API::FunctionDomain_sptr > m_domain
Currently active domain.
std::vector< API::FunctionValues_sptr > m_values
Currently active values.
virtual size_t getNDomains() const
Return the number of parts in the domain.
std::vector< std::shared_ptr< API::IDomainCreator > > m_creators
Domain creators.