From e3458da80fba0872b860b51dae723fb18ed6bab5 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sun, 22 Jan 2023 13:57:09 +0100 Subject: [PATCH] rm distribution limits from GUI --- GUI/Model/Descriptor/DistributionItems.cpp | 14 +------------ GUI/Model/Descriptor/DistributionItems.h | 6 ------ GUI/Model/Device/BeamAngleItems.cpp | 4 ---- GUI/Model/Device/BeamDistributionItem.cpp | 3 +-- GUI/Model/Device/BeamWavelengthItem.cpp | 3 --- .../Device/SpecularBeamInclinationItem.cpp | 2 -- GUI/Model/FromCore/ItemizeSimulation.cpp | 3 --- GUI/View/Instrument/DistributionPlot.cpp | 20 +------------------ GUI/View/Instrument/DistributionPlot.h | 1 - 9 files changed, 3 insertions(+), 53 deletions(-) diff --git a/GUI/Model/Descriptor/DistributionItems.cpp b/GUI/Model/Descriptor/DistributionItems.cpp index 8e8e2535dc4..b40fbaa52ac 100644 --- a/GUI/Model/Descriptor/DistributionItems.cpp +++ b/GUI/Model/Descriptor/DistributionItems.cpp @@ -44,11 +44,6 @@ using std::variant; DistributionItem::DistributionItem() {} -void DistributionItem::setLimits(const RealLimits& limits) -{ - m_limits = limits; -} - void DistributionItem::initSigmaFactor() { m_sigmaFactor.init("Sigma factor", "", 2.0, Unit::unitless, "sigmaFactor"); @@ -63,7 +58,7 @@ void DistributionItem::writeTo(QXmlStreamWriter* w) const { XML::writeAttribute(w, XML::Attrib::version, uint(1)); - // m_limits and a changed unit (with setUnit) will not be serialized here. They have to be set + // a changed unit (with setUnit) will not be serialized here. They have to be set // again by the owner of DistributionItem after reading it // number of samples @@ -115,12 +110,6 @@ void SymmetricResolutionItem::setUnit(const variant<QString, Unit>& unit) m_mean.setUnit(unit); } -void SymmetricResolutionItem::setLimits(const RealLimits& limits) -{ - DistributionItem::setLimits(limits); - m_mean.setLimits(limits); -} - void SymmetricResolutionItem::setMeanDecimals(uint d) { m_mean.setDecimals(d); @@ -325,7 +314,6 @@ void DistributionLorentzItem::initDistribution(double value) setMean(value); setHwhm(hw); - m_hwhm.setLimits(RealLimits::lowerLimited(0.0)); } void DistributionLorentzItem::writeTo(QXmlStreamWriter* w) const diff --git a/GUI/Model/Descriptor/DistributionItems.h b/GUI/Model/Descriptor/DistributionItems.h index 9497f6ee2cb..0d5d9634139 100644 --- a/GUI/Model/Descriptor/DistributionItems.h +++ b/GUI/Model/Descriptor/DistributionItems.h @@ -37,9 +37,6 @@ public: virtual void initDistribution(double) {} - virtual void setLimits(const RealLimits& limits); - RealLimits limits() const { return m_limits; } - //! Set the unit of the distributed value virtual void setUnit(const std::variant<QString, Unit>& unit) = 0; @@ -64,8 +61,6 @@ public: protected: void initSigmaFactor(); - RealLimits m_limits; - uint m_numberOfSamples = 5; DoubleProperty m_sigmaFactor; @@ -75,7 +70,6 @@ class SymmetricResolutionItem : public DistributionItem { public: SymmetricResolutionItem(double mean, int decimals = 3, const QString& meanLabel = "Mean"); void setUnit(const std::variant<QString, Unit>& unit) override; - void setLimits(const RealLimits& limits) override; DoubleProperty& mean() { return m_mean; } const DoubleProperty& mean() const { return m_mean; } diff --git a/GUI/Model/Device/BeamAngleItems.cpp b/GUI/Model/Device/BeamAngleItems.cpp index a2501e9cd23..d41bbadf84f 100644 --- a/GUI/Model/Device/BeamAngleItems.cpp +++ b/GUI/Model/Device/BeamAngleItems.cpp @@ -26,14 +26,12 @@ void BeamAzimuthalAngleItem::readFrom(QXmlStreamReader* r) // Here we only directly call parental method, so no versioning BeamDistributionItem::readFrom(r); - m_distribution->setLimits(RealLimits::limited(-90.0, 90.0)); m_distribution->setUnit(Unit::degree); } void BeamAzimuthalAngleItem::initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { - newDistribution->setLimits(RealLimits::limited(-90.0, 90.0)); newDistribution->setUnit(Unit::degree); double meanVal = 0.0; @@ -71,7 +69,6 @@ void BeamInclinationAngleItem::readFrom(QXmlStreamReader* r) // Here we only directly call parental method, so no versioning BeamDistributionItem::readFrom(r); - m_distribution->setLimits(RealLimits::limited(-90.0, 90.0)); m_distribution->setUnit(Unit::degree); } @@ -88,7 +85,6 @@ double BeamInclinationAngleItem::scaleFactor() const void BeamInclinationAngleItem::initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { - newDistribution->setLimits(RealLimits::limited(-90.0, 90.0)); newDistribution->setUnit(Unit::degree); double meanVal = 0.2; diff --git a/GUI/Model/Device/BeamDistributionItem.cpp b/GUI/Model/Device/BeamDistributionItem.cpp index d5a98fbaa0e..92f86185aa2 100644 --- a/GUI/Model/Device/BeamDistributionItem.cpp +++ b/GUI/Model/Device/BeamDistributionItem.cpp @@ -60,10 +60,9 @@ std::unique_ptr<ParameterDistribution> BeamDistributionItem::getParameterDistrib if (distribution1D) { const auto nbrOfSamples = d->numberOfSamples(); const double sigmaFactor = d->hasSigmaFactor() ? d->sigmaFactor() : 0.0; - const auto limits = d->limits().scaledLimits(scaleFactor()); return std::make_unique<ParameterDistribution>(which, *distribution1D, nbrOfSamples, - sigmaFactor, limits); + sigmaFactor); } } return {}; diff --git a/GUI/Model/Device/BeamWavelengthItem.cpp b/GUI/Model/Device/BeamWavelengthItem.cpp index 054242d2d81..6f4fda43a3e 100644 --- a/GUI/Model/Device/BeamWavelengthItem.cpp +++ b/GUI/Model/Device/BeamWavelengthItem.cpp @@ -22,7 +22,6 @@ const double default_wl = 0.1; void initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { - newDistribution->setLimits(RealLimits::positive()); newDistribution->setUnit(Unit::nanometer); double meanVal = default_wl; @@ -58,7 +57,6 @@ void BeamWavelengthItem::readFrom(QXmlStreamReader* r) // Here we only directly call parental method, so no versioning BeamDistributionItem::readFrom(r); - m_distribution->setLimits(RealLimits::positive()); m_distribution->setUnit(Unit::nanometer); } @@ -82,6 +80,5 @@ void SpecularBeamWavelengthItem::setToRange(const RealLimits& limits) limits.isLimited() ? (limits.upperLimit() - limits.lowerLimit()) / 2. : default_wl; symmetricDistribution->setMean(new_value); } - symmetricDistribution->setLimits(limits); } } diff --git a/GUI/Model/Device/SpecularBeamInclinationItem.cpp b/GUI/Model/Device/SpecularBeamInclinationItem.cpp index cdfd84571ff..461b5dae3c7 100644 --- a/GUI/Model/Device/SpecularBeamInclinationItem.cpp +++ b/GUI/Model/Device/SpecularBeamInclinationItem.cpp @@ -46,7 +46,6 @@ void setAxisPresentationDefaults(BasicAxisItem* axisItem) void initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { - newDistribution->setLimits(RealLimits::limited(-90.0, 90.0)); newDistribution->setUnit(Unit::degree); double meanVal = 0.0; @@ -115,7 +114,6 @@ void SpecularBeamInclinationItem::readFrom(QXmlStreamReader* r) // parameters from base class if (tag == Tag::BaseData) { BeamDistributionItem::readFrom(r); - m_distribution->setLimits(RealLimits::limited(-90.0, 90.0)); m_distribution->setUnit(Unit::degree); XML::gotoEndElementOfTag(r, tag); diff --git a/GUI/Model/FromCore/ItemizeSimulation.cpp b/GUI/Model/FromCore/ItemizeSimulation.cpp index 9302b12ff40..20ebf344f46 100644 --- a/GUI/Model/FromCore/ItemizeSimulation.cpp +++ b/GUI/Model/FromCore/ItemizeSimulation.cpp @@ -204,9 +204,6 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio if (distItem->hasSigmaFactor()) distItem->setSigmaFactor(par_distr.sigmaFactor()); - - // TODO It's wrong if domain distribution made for angles. - distItem->setLimits(par_distr.getLimits().scaledLimits(factor)); } void setItemFromSample(BeamDistributionItem* beam_distribution_item, diff --git a/GUI/View/Instrument/DistributionPlot.cpp b/GUI/View/Instrument/DistributionPlot.cpp index 4b9ba810b0e..0ed9358e0ca 100644 --- a/GUI/View/Instrument/DistributionPlot.cpp +++ b/GUI/View/Instrument/DistributionPlot.cpp @@ -178,13 +178,10 @@ void DistributionPlot::plot_multiple_values() if (m_distItem->hasSigmaFactor()) sigmafactor = m_distItem->sigmaFactor(); - plotLimits(m_distItem->limits()); - auto dist = m_distItem->createDistribution(); // Calculating bars - std::vector<double> xp = - dist->equidistantPoints(numberOfSamples, sigmafactor, m_distItem->limits()); + std::vector<double> xp = dist->equidistantPoints(numberOfSamples, sigmafactor); std::vector<double> yp(xp.size()); std::transform(xp.begin(), xp.end(), yp.begin(), [&](double value) { return dist->probabilityDensity(value); }); @@ -268,21 +265,6 @@ void DistributionPlot::plotVerticalLine(double xMin, double yMin, double xMax, d line->end->setCoords(xMax, yMax); } -//! Plots red line denoting lower and upper limits, if any. - -void DistributionPlot::plotLimits(const RealLimits& limits) -{ - if (limits.hasLowerLimit()) { - double value = limits.lowerLimit(); - plotVerticalLine(value, default_yrange.first, value, default_yrange.second, Qt::red); - } - - if (limits.hasUpperLimit()) { - double value = limits.upperLimit(); - plotVerticalLine(value, default_yrange.first, value, default_yrange.second, Qt::red); - } -} - void DistributionPlot::setXAxisName(const QString& xAxisName) { m_plot->xAxis->setLabel(xAxisName); diff --git a/GUI/View/Instrument/DistributionPlot.h b/GUI/View/Instrument/DistributionPlot.h index c83d325f749..e66a440aa01 100644 --- a/GUI/View/Instrument/DistributionPlot.h +++ b/GUI/View/Instrument/DistributionPlot.h @@ -54,7 +54,6 @@ private: void plotFunction(const QVector<double>& xFunc, const QVector<double>& yFunc); void plotVerticalLine(double xMin, double yMin, double xMax, double yMax, const QColor& color = Qt::blue); - void plotLimits(const RealLimits& limits); QPoint positionForCautionSign(); QCustomPlot* m_plot; -- GitLab