BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
PoissonLikeMetric () | |
PoissonLikeMetric * | clone () const override |
double | computeFromArrays (std::vector< double > sim_data, std::vector< double > exp_data, std::vector< double > weight_factors) const override |
double | computeFromArrays (std::vector< double > sim_data, std::vector< double > exp_data, std::vector< double > uncertainties, std::vector< double > weight_factors) const override |
double | computeFromArrays (std::vector< double > sim_data, std::vector< double > exp_data, std::vector< double > weight_factors) const override |
double | computeFromArrays (std::vector< double > sim_data, std::vector< double > exp_data, std::vector< double > uncertainties, std::vector< double > weight_factors) const override |
virtual double | compute (const SimDataPair &data_pair, bool use_weights) const |
void | setNorm (std::function< double(double)> norm) |
auto | norm () const |
virtual void | transferToCPP () |
Private Attributes | |
std::function< double(double)> | m_norm |
Implementation of metric with standard deviation , where is the simulated intensity.
With default L2 norm corresponds to the formula
for unweighted experimental data. Falls to standard Chi2Metric when data uncertainties are taken into account.
Definition at line 109 of file ObjectiveMetric.h.
PoissonLikeMetric::PoissonLikeMetric | ( | ) |
Definition at line 120 of file ObjectiveMetric.cpp.
|
overridevirtual |
Reimplemented from Chi2Metric.
Definition at line 122 of file ObjectiveMetric.cpp.
References anonymous_namespace{ObjectiveMetric.cpp}::copyMetric().
|
overridevirtual |
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. |
Reimplemented from Chi2Metric.
Definition at line 127 of file ObjectiveMetric.cpp.
References anonymous_namespace{ObjectiveMetric.cpp}::checkIntegrity(), anonymous_namespace{ObjectiveMetric.cpp}::double_max, and ObjectiveMetric::norm().
|
override |
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. |
Definition at line 87 of file ObjectiveMetric.cpp.
|
override |
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. |
Definition at line 98 of file ObjectiveMetric.cpp.
|
overridevirtualinherited |
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. |
Implements ObjectiveMetric.
Definition at line 89 of file ObjectiveMetric.cpp.
References anonymous_namespace{ObjectiveMetric.cpp}::checkIntegrity(), and ObjectiveMetric::norm().
Referenced by RQ4Metric::compute().
|
virtualinherited |
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.
References ObjectiveMetric::computeFromArrays(), SimDataPair::containsUncertainties(), SimDataPair::experimental_array(), SimDataPair::simulation_array(), SimDataPair::uncertainties_array(), and SimDataPair::user_weights_array().
Referenced by RQ4Metric::compute().
|
inherited |
Definition at line 75 of file ObjectiveMetric.cpp.
References ObjectiveMetric::m_norm, and ObjectiveMetric::norm().
|
inlineinherited |
Returns a copy of the normalization function used.
Definition at line 63 of file ObjectiveMetric.h.
References ObjectiveMetric::m_norm.
Referenced by Chi2Metric::computeFromArrays(), LogMetric::computeFromArrays(), computeFromArrays(), RelativeDifferenceMetric::computeFromArrays(), and ObjectiveMetric::setNorm().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
privateinherited |
Definition at line 66 of file ObjectiveMetric.h.
Referenced by ObjectiveMetric::norm(), and ObjectiveMetric::setNorm().