BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
ResidualFunctionAdapter (fcn_residual_t func, const Parameters ¶meters) | |
const RootResidualFunction * | rootResidualFunction () |
int | numberOfCalls () const |
int | numberOfGradientCalls () const |
Protected Attributes | |
int | m_number_of_calls |
int | m_number_of_gradient_calls |
Private Member Functions | |
void | calculate_gradients (const std::vector< double > &pars) |
std::vector< double > | get_residuals (const std::vector< double > &pars) |
double | element_residual (const std::vector< double > &pars, unsigned int index, std::vector< double > &gradients) |
double | chi2 (const std::vector< double > &pars) |
Private Attributes | |
size_t | m_datasize |
fcn_residual_t | m_fcn |
Parameters | m_parameters |
std::vector< double > | m_residuals |
std::vector< std::vector< double > > | m_gradients |
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 33 of file ResidualFunctionAdapter.h.
ResidualFunctionAdapter::ResidualFunctionAdapter | ( | fcn_residual_t | func, |
const Parameters & | parameters | ||
) |
Definition at line 28 of file ResidualFunctionAdapter.cpp.
References m_datasize, and m_fcn.
const RootResidualFunction * ResidualFunctionAdapter::rootResidualFunction | ( | ) |
Definition at line 37 of file ResidualFunctionAdapter.cpp.
References chi2(), element_residual(), m_datasize, m_parameters, m_root_objective, and Fit::Parameters::size().
|
private |
Definition at line 52 of file ResidualFunctionAdapter.cpp.
References get_residuals(), anonymous_namespace{ResidualFunctionAdapter.cpp}::kEps, m_datasize, m_gradients, and Fit::IFunctionAdapter::m_number_of_gradient_calls.
Referenced by element_residual().
|
private |
Definition at line 73 of file ResidualFunctionAdapter.cpp.
References m_datasize, m_fcn, m_parameters, Fit::Parameters::setValues(), and Fit::Parameters::size().
Referenced by calculate_gradients(), chi2(), and element_residual().
|
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 100 of file ResidualFunctionAdapter.cpp.
References calculate_gradients(), get_residuals(), m_gradients, and m_residuals.
Referenced by rootResidualFunction().
|
private |
Evaluate chi2.
Definition at line 121 of file ResidualFunctionAdapter.cpp.
References Fit::Parameters::freeParameterCount(), get_residuals(), m_datasize, Fit::IFunctionAdapter::m_number_of_calls, and m_parameters.
Referenced by rootResidualFunction().
|
inherited |
Definition at line 23 of file IFunctionAdapter.cpp.
References Fit::IFunctionAdapter::m_number_of_calls.
|
inherited |
Definition at line 28 of file IFunctionAdapter.cpp.
References Fit::IFunctionAdapter::m_number_of_gradient_calls.
|
private |
Length of vector with residuals, should stay the same during minimization.
Definition at line 51 of file ResidualFunctionAdapter.h.
Referenced by calculate_gradients(), chi2(), get_residuals(), ResidualFunctionAdapter(), and rootResidualFunction().
|
private |
user function to minimize
Definition at line 52 of file ResidualFunctionAdapter.h.
Referenced by get_residuals(), and ResidualFunctionAdapter().
|
private |
Definition at line 53 of file ResidualFunctionAdapter.h.
Referenced by chi2(), get_residuals(), and rootResidualFunction().
|
private |
Definition at line 54 of file ResidualFunctionAdapter.h.
Referenced by element_residual().
|
private |
Definition at line 55 of file ResidualFunctionAdapter.h.
Referenced by calculate_gradients(), and element_residual().
|
private |
Definition at line 56 of file ResidualFunctionAdapter.h.
Referenced by rootResidualFunction().
|
protectedinherited |
Definition at line 34 of file IFunctionAdapter.h.
Referenced by chi2(), Fit::IFunctionAdapter::numberOfCalls(), and Fit::ScalarFunctionAdapter::rootObjectiveFunction().
|
protectedinherited |
Definition at line 35 of file IFunctionAdapter.h.
Referenced by calculate_gradients(), and Fit::IFunctionAdapter::numberOfGradientCalls().