BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Base class for metric implementations. More...
Public Member Functions | |
ObjectiveMetric (std::function< double(double)> norm) | |
ObjectiveMetric * | clone () const override=0 |
virtual double | compute (const SimDataPair &data_pair, bool use_weights) const |
Computes metric value from SimDataPair object. More... | |
virtual double | computeFromArrays (std::vector< double > sim_data, std::vector< double > exp_data, std::vector< double > uncertainties, std::vector< double > weight_factors) const =0 |
Computes metric value from data arrays. More... | |
virtual double | computeFromArrays (std::vector< double > sim_data, std::vector< double > exp_data, std::vector< double > weight_factors) const =0 |
Computes metric value from data arrays. More... | |
void | setNorm (std::function< double(double)> norm) |
auto | norm () const |
Returns a copy of the normalization function used. | |
Public Member Functions inherited from ICloneable | |
ICloneable (const ICloneable &)=delete | |
ICloneable (ICloneable &&)=default | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) | |
Base class for metric implementations.
Definition at line 26 of file ObjectiveMetric.h.
|
virtual |
Computes metric value from SimDataPair object.
Calls computeFromArrays internally.
data_pair | SimDataPair object. Can optionally contain data uncertainties |
use_weights | boolean, defines if data uncertainties should be taken into account |
Reimplemented in RQ4Metric.
Definition at line 61 of file ObjectiveMetric.cpp.
|
pure virtual |
Computes metric value from data arrays.
Negative values in exp_data are ignored as well as non-positive weight_factors and uncertainties. All arrays involved in the computation must be of the same size.
sim_data | array with simulated intensities. |
exp_data | array with intensity values obtained from an experiment. |
uncertainties | array with experimental data uncertainties. |
weight_factors | user-defined weighting factors. Used linearly, no matter which norm is chosen. |
Implemented in LogMetric, and Chi2Metric.
|
pure virtual |
Computes metric value from data arrays.
Negative values in exp_data are ignored as well as non-positive weight_factors. All arrays involved in the computation must be of the same size.
sim_data | array with simulated intensities. |
exp_data | array with intensity values obtained from an experiment. |
weight_factors | user-defined weighting factors. Used linearly, no matter which norm is chosen. |
Implemented in RelativeDifferenceMetric, LogMetric, PoissonLikeMetric, and Chi2Metric.