diff --git a/Base/Axis/Scale.cpp b/Base/Axis/Scale.cpp index a02f21b1b6dddd95f310ac8b34c4791641e3da36..d9d2c33ff45f87f66504c931963cbac956e09e39 100644 --- a/Base/Axis/Scale.cpp +++ b/Base/Axis/Scale.cpp @@ -149,6 +149,8 @@ bool Scale::isScan() const Scale Scale::clipped(double lower, double upper) const { + if (lower > upper) + throw std::runtime_error("Scale::clipped called with invalid bounds (lower > upper)"); std::vector<Bin1D> out_bins; const bool is_scan = isScan(); for (const Bin1D& b : m_bins) diff --git a/Sim/Fitting/SimDataPair.cpp b/Sim/Fitting/SimDataPair.cpp index fda76323f78ac1fe6c827273ff51209f82093d30..51465004a0fd54c4af6de6a97686a67e7b5e8a63 100644 --- a/Sim/Fitting/SimDataPair.cpp +++ b/Sim/Fitting/SimDataPair.cpp @@ -140,21 +140,25 @@ bool SimDataPair::containsUncertainties() const Datafield SimDataPair::simulationResult() const { - ASSERT(m_sim_data); + if (!m_sim_data) + throw std::runtime_error("SimDataPair::simulationResult() called before sim_data were set"); ASSERT(!m_sim_data->empty()); return *m_sim_data; } Datafield SimDataPair::experimentalData() const { - ASSERT(m_exp_data); + if (!m_exp_data) + throw std::runtime_error("SimDataPair::experimentalData() called before exp_data were set"); ASSERT(!m_exp_data->empty()); return *m_exp_data; } Datafield SimDataPair::uncertainties() const { - ASSERT(m_uncertainties); + if (!m_uncertainties) + throw std::runtime_error( + "SimDataPair::uncertainties() called before uncertainties were set"); ASSERT(!m_uncertainties->empty()); return *m_uncertainties; } @@ -162,7 +166,8 @@ Datafield SimDataPair::uncertainties() const //! Returns the user uncertainties cut to the ROI area. Datafield SimDataPair::userWeights() const { - ASSERT(m_user_weights); + if (!m_user_weights) + throw std::runtime_error("SimDataPair::userWeights() called before user_weights were set"); ASSERT(!m_user_weights->empty()); return *m_user_weights; }