BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
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 (SimDataPair &&other) | |
~SimDataPair () | |
void | runSimulation (const Fit::Parameters ¶ms) |
bool | containsUncertainties () const |
size_t | numberOfFitElements () const |
SimulationResult | simulationResult () const |
SimulationResult | experimentalData () const |
SimulationResult | uncertainties () const |
SimulationResult | userWeights () const |
SimulationResult | relativeDifference () const |
SimulationResult | absoluteDifference () const |
std::vector< double > | simulation_array () const |
std::vector< double > | experimental_array () const |
std::vector< double > | uncertainties_array () const |
std::vector< double > | user_weights_array () const |
Private Member Functions | |
void | initResultArrays () |
void | validate () const |
Private Attributes | |
simulation_builder_t | m_simulation_builder |
std::unique_ptr< Simulation > | m_simulation |
SimulationResult | m_sim_data |
SimulationResult | m_exp_data |
SimulationResult | m_uncertainties |
SimulationResult | m_user_weights |
std::unique_ptr< OutputData< double > > | m_raw_data |
std::unique_ptr< OutputData< double > > | m_raw_uncertainties |
std::unique_ptr< OutputData< double > > | m_raw_user_weights |
Holds pair of simulation/experimental data to fit.
Definition at line 25 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 39 of file SimDataPair.cpp.
References anonymous_namespace{SimDataPair.cpp}::initUserWeights(), 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 anonymous_namespace{SimDataPair.cpp}::initUserWeights(), m_raw_data, m_raw_user_weights, and validate().
SimDataPair::SimDataPair | ( | SimDataPair && | other | ) |
Definition at line 59 of file SimDataPair.cpp.
References validate().
|
default |
void SimDataPair::runSimulation | ( | const Fit::Parameters & | params | ) |
Definition at line 72 of file SimDataPair.cpp.
References initResultArrays(), m_sim_data, m_simulation, and m_simulation_builder.
bool SimDataPair::containsUncertainties | ( | ) | const |
Definition at line 81 of file SimDataPair.cpp.
References m_raw_uncertainties.
Referenced by FitObjective::allPairsHaveUncertainties(), ObjectiveMetric::compute(), FitObjective::containsUncertainties(), and initResultArrays().
size_t SimDataPair::numberOfFitElements | ( | ) | const |
Returns the number of elements in the fit area.
Definition at line 86 of file SimDataPair.cpp.
References m_simulation.
SimulationResult SimDataPair::simulationResult | ( | ) | const |
Returns the result of last computed simulation.
Definition at line 91 of file SimDataPair.cpp.
References SimulationResult::empty(), m_sim_data, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by RQ4Metric::compute(), and FitObjective::simulationResult().
SimulationResult SimDataPair::experimentalData | ( | ) | const |
Returns the experimental data cut to the ROI area.
Definition at line 98 of file SimDataPair.cpp.
References SimulationResult::empty(), m_exp_data, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by RQ4Metric::compute(), and FitObjective::experimentalData().
SimulationResult SimDataPair::uncertainties | ( | ) | const |
Returns the data uncertainties cut to the ROI area If no uncertainties present, returns zero-filled SimulationResult.
Definition at line 105 of file SimDataPair.cpp.
References SimulationResult::empty(), m_uncertainties, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by FitObjective::uncertaintyData().
SimulationResult SimDataPair::userWeights | ( | ) | const |
Returns the user uncertainties cut to the ROI area.
Definition at line 113 of file SimDataPair.cpp.
References SimulationResult::empty(), m_user_weights, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
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 122 of file SimDataPair.cpp.
References Numeric::GetRelativeDifference(), m_exp_data, m_sim_data, SimulationResult::size(), and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by FitObjective::relativeDifference().
SimulationResult SimDataPair::absoluteDifference | ( | ) | const |
Returns the absolute difference between simulated and experimental data cut to the ROI area.
Definition at line 134 of file SimDataPair.cpp.
References Numeric::GetAbsoluteDifference(), m_exp_data, m_sim_data, SimulationResult::size(), and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by FitObjective::absoluteDifference().
std::vector< double > SimDataPair::simulation_array | ( | ) | const |
Returns the flattened simulated intensities cut to the ROI area.
Definition at line 153 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), m_sim_data, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by ObjectiveMetric::compute(), and FitObjective::simulation_array().
std::vector< double > SimDataPair::experimental_array | ( | ) | const |
Returns the flattened experimental data cut to the ROI area.
Definition at line 146 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), m_exp_data, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by ObjectiveMetric::compute(), and FitObjective::experimental_array().
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 160 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), m_uncertainties, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
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 167 of file SimDataPair.cpp.
References SimulationResult::data(), SimulationResult::empty(), m_user_weights, and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by ObjectiveMetric::compute(), RQ4Metric::compute(), and FitObjective::weights_array().
|
private |
Definition at line 174 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, SimulationResult::size(), and anonymous_namespace{SimDataPair.cpp}::throwInitializationException().
Referenced by runSimulation().
|
private |
Definition at line 196 of file SimDataPair.cpp.
References m_raw_data, m_raw_uncertainties, m_raw_user_weights, and m_simulation_builder.
Referenced by SimDataPair().
|
private |
Simulation builder from the user to construct simulation for given set of parameters.
Definition at line 86 of file SimDataPair.h.
Referenced by runSimulation(), and validate().
|
private |
Current simulation for given set of parameters.
Definition at line 89 of file SimDataPair.h.
Referenced by initResultArrays(), numberOfFitElements(), and runSimulation().
|
private |
Current simulation results. Masked areas are nullified.
Definition at line 92 of file SimDataPair.h.
Referenced by absoluteDifference(), initResultArrays(), relativeDifference(), runSimulation(), simulation_array(), and simulationResult().
|
private |
Experimental data cut to the ROI. Masked areas are nullified.
Definition at line 94 of file SimDataPair.h.
Referenced by absoluteDifference(), experimental_array(), experimentalData(), initResultArrays(), and relativeDifference().
|
private |
Weights from experimental data uncertainties. Masked areas are nullified.
Definition at line 96 of file SimDataPair.h.
Referenced by initResultArrays(), uncertainties(), and uncertainties_array().
|
private |
Manually defined (user) weights. Masked areas are nullified.
Definition at line 98 of file SimDataPair.h.
Referenced by initResultArrays(), user_weights_array(), and userWeights().
|
private |
Raw experimental data as obtained from the user.
Definition at line 101 of file SimDataPair.h.
Referenced by initResultArrays(), SimDataPair(), and validate().
|
private |
Data uncertainties as provided by the user.
Definition at line 103 of file SimDataPair.h.
Referenced by containsUncertainties(), initResultArrays(), and validate().
|
private |
User-defined weights.
Definition at line 105 of file SimDataPair.h.
Referenced by initResultArrays(), SimDataPair(), and validate().