BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Holds pair of simulation/experimental data to fit. More...
Public Member Functions | |
SimDataPair (SimDataPair &&other) | |
SimDataPair (simulation_builder_t builder, const OutputData< double > &data, std::unique_ptr< OutputData< double >> uncertainties, double user_weight=1.0) | |
SimDataPair (simulation_builder_t builder, const OutputData< double > &data, std::unique_ptr< OutputData< double >> uncertainties, std::unique_ptr< OutputData< double >> user_weights) | |
~SimDataPair () | |
SimulationResult | absoluteDifference () const |
Returns the absolute difference between simulated and experimental data cut to the ROI area. More... | |
bool | containsUncertainties () const |
std::vector< double > | experimental_array () const |
Returns the flattened experimental data cut to the ROI area. More... | |
SimulationResult | experimentalData () const |
Returns the experimental data cut to the ROI area. More... | |
size_t | numberOfFitElements () const |
Returns the number of elements in the fit area. More... | |
SimulationResult | relativeDifference () const |
Returns the relative difference between simulated and experimental data cut to the ROI area. More... | |
void | runSimulation (const mumufit::Parameters ¶ms) |
std::vector< double > | simulation_array () const |
Returns the flattened simulated intensities cut to the ROI area. More... | |
SimulationResult | simulationResult () const |
Returns the result of last computed simulation. More... | |
SimulationResult | uncertainties () const |
Returns the data uncertainties cut to the ROI area If no uncertainties present, returns zero-filled SimulationResult. More... | |
std::vector< double > | uncertainties_array () const |
Returns the flattened experimental uncertainties cut to the ROI area. More... | |
std::vector< double > | user_weights_array () const |
Returns a flat array of user weights cut to the ROI area. More... | |
SimulationResult | userWeights () const |
Returns the user uncertainties cut to the ROI area. More... | |
Private Member Functions | |
void | initResultArrays () |
void | validate () const |
Private Attributes | |
SimulationResult | m_exp_data |
Experimental data cut to the ROI. Masked areas are nullified. More... | |
std::unique_ptr< OutputData< double > > | m_raw_data |
Raw experimental data as obtained from the user. More... | |
std::unique_ptr< OutputData< double > > | m_raw_uncertainties |
Data uncertainties as provided by the user. More... | |
std::unique_ptr< OutputData< double > > | m_raw_user_weights |
User-defined weights. More... | |
SimulationResult | m_sim_data |
Current simulation results. Masked areas are nullified. More... | |
std::unique_ptr< ISimulation > | m_simulation |
Current simulation for given set of parameters. More... | |
simulation_builder_t | m_simulation_builder |
ISimulation builder from the user to construct simulation for given set of parameters. More... | |
SimulationResult | m_uncertainties |
Weights from experimental data uncertainties. Masked areas are nullified. More... | |
SimulationResult | m_user_weights |
Manually defined (user) weights. Masked areas are nullified. More... | |
Holds pair of simulation/experimental data to fit.
Definition at line 30 of file SimDataPair.h.
SimDataPair::SimDataPair | ( | simulation_builder_t | builder, |
const OutputData< double > & | data, | ||
std::unique_ptr< OutputData< double >> | uncertainties, | ||
double | user_weight = 1.0 |
||
) |
Definition at line 38 of file SimDataPair.cpp.
References m_raw_data, m_raw_user_weights, and validate().
SimDataPair::SimDataPair | ( | simulation_builder_t | builder, |
const OutputData< double > & | data, | ||
std::unique_ptr< OutputData< double >> | uncertainties, | ||
std::unique_ptr< OutputData< double >> | user_weights | ||
) |
Definition at line 48 of file SimDataPair.cpp.
References m_raw_data, m_raw_user_weights, and validate().
SimDataPair::SimDataPair | ( | SimDataPair && | other | ) |
Definition at line 61 of file SimDataPair.cpp.
References validate().
|
default |
SimulationResult SimDataPair::absoluteDifference | ( | ) | const |
Returns the absolute difference between simulated and experimental data cut to the ROI area.
Definition at line 139 of file SimDataPair.cpp.
References Numeric::GetAbsoluteDifference(), m_exp_data, m_sim_data, and SimulationResult::size().
Referenced by FitObjective::absoluteDifference().
bool SimDataPair::containsUncertainties | ( | ) | const |
Definition at line 86 of file SimDataPair.cpp.
References m_raw_uncertainties.
Referenced by FitObjective::allPairsHaveUncertainties(), ObjectiveMetric::compute(), FitObjective::containsUncertainties(), and initResultArrays().
std::vector< double > SimDataPair::experimental_array | ( | ) | const |
Returns the flattened experimental data cut to the ROI area.
Definition at line 151 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), and m_exp_data.
Referenced by ObjectiveMetric::compute(), and FitObjective::experimental_array().
SimulationResult SimDataPair::experimentalData | ( | ) | const |
Returns the experimental data cut to the ROI area.
Definition at line 103 of file SimDataPair.cpp.
References SimulationResult::empty(), and m_exp_data.
Referenced by RQ4Metric::compute(), and FitObjective::experimentalData().
|
private |
Definition at line 179 of file SimDataPair.cpp.
References containsUncertainties(), SimulationResult::converter(), UnitConverterUtils::createOutputData(), IUnitConverter::defaultUnits(), m_exp_data, m_raw_data, m_raw_uncertainties, m_raw_user_weights, m_sim_data, m_simulation, m_uncertainties, m_user_weights, and SimulationResult::size().
Referenced by runSimulation().
size_t SimDataPair::numberOfFitElements | ( | ) | const |
Returns the number of elements in the fit area.
Definition at line 91 of file SimDataPair.cpp.
References m_simulation.
SimulationResult SimDataPair::relativeDifference | ( | ) | const |
Returns the relative difference between simulated and experimental data cut to the ROI area.
Returns relative difference between simulation and experimental data.
Definition at line 127 of file SimDataPair.cpp.
References Numeric::GetRelativeDifference(), m_exp_data, m_sim_data, and SimulationResult::size().
Referenced by FitObjective::relativeDifference().
void SimDataPair::runSimulation | ( | const mumufit::Parameters & | params | ) |
Definition at line 77 of file SimDataPair.cpp.
References initResultArrays(), m_sim_data, m_simulation, and m_simulation_builder.
std::vector< double > SimDataPair::simulation_array | ( | ) | const |
Returns the flattened simulated intensities cut to the ROI area.
Definition at line 158 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), and m_sim_data.
Referenced by ObjectiveMetric::compute(), and FitObjective::simulation_array().
SimulationResult SimDataPair::simulationResult | ( | ) | const |
Returns the result of last computed simulation.
Definition at line 96 of file SimDataPair.cpp.
References SimulationResult::empty(), and m_sim_data.
Referenced by RQ4Metric::compute(), FitObjective::simulationResult(), and GUIFitObserver::update().
SimulationResult SimDataPair::uncertainties | ( | ) | const |
Returns the data uncertainties cut to the ROI area If no uncertainties present, returns zero-filled SimulationResult.
Definition at line 110 of file SimDataPair.cpp.
References SimulationResult::empty(), and m_uncertainties.
Referenced by FitObjective::uncertaintyData().
std::vector< double > SimDataPair::uncertainties_array | ( | ) | const |
Returns the flattened experimental uncertainties cut to the ROI area.
If no uncertainties are available, returns a zero-filled array sized to the ROI area.
Definition at line 165 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), and m_uncertainties.
Referenced by ObjectiveMetric::compute(), and FitObjective::uncertainties().
std::vector< double > SimDataPair::user_weights_array | ( | ) | const |
Returns a flat array of user weights cut to the ROI area.
Definition at line 172 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), and m_user_weights.
Referenced by ObjectiveMetric::compute(), RQ4Metric::compute(), and FitObjective::weights_array().
SimulationResult SimDataPair::userWeights | ( | ) | const |
Returns the user uncertainties cut to the ROI area.
Definition at line 118 of file SimDataPair.cpp.
References SimulationResult::empty(), and m_user_weights.
|
private |
Definition at line 201 of file SimDataPair.cpp.
References m_raw_data, m_raw_uncertainties, m_raw_user_weights, and m_simulation_builder.
Referenced by SimDataPair().
|
private |
Experimental data cut to the ROI. Masked areas are nullified.
Definition at line 98 of file SimDataPair.h.
Referenced by absoluteDifference(), experimental_array(), experimentalData(), initResultArrays(), and relativeDifference().
|
private |
Raw experimental data as obtained from the user.
Definition at line 105 of file SimDataPair.h.
Referenced by SimDataPair(), initResultArrays(), and validate().
|
private |
Data uncertainties as provided by the user.
Definition at line 107 of file SimDataPair.h.
Referenced by containsUncertainties(), initResultArrays(), and validate().
|
private |
User-defined weights.
Definition at line 109 of file SimDataPair.h.
Referenced by SimDataPair(), initResultArrays(), and validate().
|
private |
Current simulation results. Masked areas are nullified.
Definition at line 96 of file SimDataPair.h.
Referenced by absoluteDifference(), initResultArrays(), relativeDifference(), runSimulation(), simulation_array(), and simulationResult().
|
private |
Current simulation for given set of parameters.
Definition at line 93 of file SimDataPair.h.
Referenced by initResultArrays(), numberOfFitElements(), and runSimulation().
|
private |
ISimulation builder from the user to construct simulation for given set of parameters.
Definition at line 90 of file SimDataPair.h.
Referenced by runSimulation(), and validate().
|
private |
Weights from experimental data uncertainties. Masked areas are nullified.
Definition at line 100 of file SimDataPair.h.
Referenced by initResultArrays(), uncertainties(), and uncertainties_array().
|
private |
Manually defined (user) weights. Masked areas are nullified.
Definition at line 102 of file SimDataPair.h.
Referenced by initResultArrays(), user_weights_array(), and userWeights().