Skip to content
Snippets Groups Projects
Commit 2752cd48 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

merge local fct

parent 795f83f9
No related branches found
No related tags found
1 merge request!41various simplifications and clarifications around OutputData
Pipeline #35261 passed
...@@ -81,7 +81,24 @@ void SimDataPair::runSimulation(const mumufit::Parameters& params) ...@@ -81,7 +81,24 @@ void SimDataPair::runSimulation(const mumufit::Parameters& params)
m_simulation->runSimulation(); m_simulation->runSimulation();
m_sim_data = m_simulation->result(); m_sim_data = m_simulation->result();
initResultArrays(); if (m_exp_data.size() != 0 && m_uncertainties.size() != 0 && m_user_weights.size() != 0)
return;
if (!m_simulation || m_sim_data.size() == 0)
throwInitializationException("initResultArrays");
m_exp_data = m_simulation->convertData(*m_raw_data, true);
if (containsUncertainties()) {
m_uncertainties = m_simulation->convertData(*m_raw_uncertainties, true);
} else {
const IUnitConverter& converter = m_sim_data.converter();
std::unique_ptr<OutputData<double>> dummy_array =
UnitConverterUtils::createOutputData(converter, converter.defaultUnits());
m_uncertainties = SimulationResult(*dummy_array, converter);
}
m_user_weights = m_simulation->convertData(*m_raw_user_weights, true);
} }
bool SimDataPair::containsUncertainties() const bool SimDataPair::containsUncertainties() const
...@@ -177,28 +194,6 @@ std::vector<double> SimDataPair::user_weights_array() const ...@@ -177,28 +194,6 @@ std::vector<double> SimDataPair::user_weights_array() const
return m_user_weights.data()->getRawDataVector(); return m_user_weights.data()->getRawDataVector();
} }
void SimDataPair::initResultArrays()
{
if (m_exp_data.size() != 0 && m_uncertainties.size() != 0 && m_user_weights.size() != 0)
return;
if (!m_simulation || m_sim_data.size() == 0)
throwInitializationException("initResultArrays");
m_exp_data = m_simulation->convertData(*m_raw_data, true);
if (containsUncertainties()) {
m_uncertainties = m_simulation->convertData(*m_raw_uncertainties, true);
} else {
const IUnitConverter& converter = m_sim_data.converter();
std::unique_ptr<OutputData<double>> dummy_array =
UnitConverterUtils::createOutputData(converter, converter.defaultUnits());
m_uncertainties = SimulationResult(*dummy_array, converter);
}
m_user_weights = m_simulation->convertData(*m_raw_user_weights, true);
}
void SimDataPair::validate() const void SimDataPair::validate() const
{ {
if (!m_simulation_builder) if (!m_simulation_builder)
......
...@@ -83,7 +83,6 @@ public: ...@@ -83,7 +83,6 @@ public:
std::vector<double> user_weights_array() const; std::vector<double> user_weights_array() const;
private: private:
void initResultArrays();
void validate() const; void validate() const;
//! ISimulation builder from the user to construct simulation for given set of parameters. //! ISimulation builder from the user to construct simulation for given set of parameters.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment