BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Provides RootResidualFunction which will be minimizer by ROOT. More...
Public Member Functions | |
ResidualFunctionAdapter (fcn_residual_t func, const Parameters ¶meters) | |
int | numberOfCalls () const |
int | numberOfGradientCalls () const |
const RootResidualFunction * | rootResidualFunction () |
Protected Attributes | |
int | m_number_of_calls |
int | m_number_of_gradient_calls |
Private Member Functions | |
void | calculate_gradients (const std::vector< double > &pars) |
double | chi2 (const std::vector< double > &pars) |
Evaluate chi2. More... | |
double | element_residual (const std::vector< double > &pars, unsigned int index, std::vector< double > &gradients) |
evaluate method for gradients and residuals called directly from the minimizer More... | |
std::vector< double > | get_residuals (const std::vector< double > &pars) |
Private Attributes | |
size_t | m_datasize |
Length of vector with residuals, should stay the same during minimization. More... | |
fcn_residual_t | m_fcn |
user function to minimize More... | |
std::vector< std::vector< double > > | m_gradients |
Parameters | m_parameters |
std::vector< double > | m_residuals |
std::unique_ptr< RootResidualFunction > | m_root_objective |
Provides RootResidualFunction which will be minimizer by ROOT.
Converts ROOT calls to the call of fcn_residual_t.
Definition at line 37 of file ResidualFunctionAdapter.h.
ResidualFunctionAdapter::ResidualFunctionAdapter | ( | fcn_residual_t | func, |
const Parameters & | parameters | ||
) |
Definition at line 27 of file ResidualFunctionAdapter.cpp.
References m_datasize, and m_fcn.
|
private |
Definition at line 51 of file ResidualFunctionAdapter.cpp.
References get_residuals(), m_datasize, m_gradients, and mumufit::IFunctionAdapter::m_number_of_gradient_calls.
Referenced by element_residual().
|
private |
Evaluate chi2.
Definition at line 120 of file ResidualFunctionAdapter.cpp.
References mumufit::Parameters::freeParameterCount(), get_residuals(), m_datasize, mumufit::IFunctionAdapter::m_number_of_calls, and m_parameters.
Referenced by rootResidualFunction().
|
private |
evaluate method for gradients and residuals called directly from the minimizer
Returns residual for given data element index.
If gradients vector size is not empty, also calculates gradients. Actuall calculation is done for all data elements when index==0. If index!=0 - cached value of residuals/gradients will be used.
Definition at line 99 of file ResidualFunctionAdapter.cpp.
References calculate_gradients(), get_residuals(), m_gradients, and m_residuals.
Referenced by rootResidualFunction().
|
private |
Definition at line 72 of file ResidualFunctionAdapter.cpp.
References m_datasize, m_fcn, m_parameters, mumufit::Parameters::setValues(), and mumufit::Parameters::size().
Referenced by calculate_gradients(), chi2(), and element_residual().
|
inherited |
Definition at line 23 of file IFunctionAdapter.cpp.
References mumufit::IFunctionAdapter::m_number_of_calls.
|
inherited |
Definition at line 28 of file IFunctionAdapter.cpp.
References mumufit::IFunctionAdapter::m_number_of_gradient_calls.
const RootResidualFunction * ResidualFunctionAdapter::rootResidualFunction | ( | ) |
Definition at line 36 of file ResidualFunctionAdapter.cpp.
References chi2(), element_residual(), m_datasize, m_parameters, m_root_objective, and mumufit::Parameters::size().
|
private |
Length of vector with residuals, should stay the same during minimization.
Definition at line 54 of file ResidualFunctionAdapter.h.
Referenced by ResidualFunctionAdapter(), calculate_gradients(), chi2(), get_residuals(), and rootResidualFunction().
|
private |
user function to minimize
Definition at line 55 of file ResidualFunctionAdapter.h.
Referenced by ResidualFunctionAdapter(), and get_residuals().
|
private |
Definition at line 58 of file ResidualFunctionAdapter.h.
Referenced by calculate_gradients(), and element_residual().
|
protectedinherited |
Definition at line 37 of file IFunctionAdapter.h.
Referenced by chi2(), mumufit::IFunctionAdapter::numberOfCalls(), and mumufit::ScalarFunctionAdapter::rootObjectiveFunction().
|
protectedinherited |
Definition at line 38 of file IFunctionAdapter.h.
Referenced by calculate_gradients(), and mumufit::IFunctionAdapter::numberOfGradientCalls().
|
private |
Definition at line 56 of file ResidualFunctionAdapter.h.
Referenced by chi2(), get_residuals(), and rootResidualFunction().
|
private |
Definition at line 57 of file ResidualFunctionAdapter.h.
Referenced by element_residual().
|
private |
Definition at line 59 of file ResidualFunctionAdapter.h.
Referenced by rootResidualFunction().