From b3827da30c8a1caee25dc673ddcd388211446221 Mon Sep 17 00:00:00 2001 From: Tobias Knopff <t.knopff@fz-juelich.de> Date: Fri, 21 May 2021 14:15:47 +0200 Subject: [PATCH] Use string constant for Distribution*Item type names --- GUI/Models/DistributionItems.cpp | 24 ++++++++++++++++------ GUI/Models/DistributionItems.h | 18 +++++++++++++++++ GUI/Models/GroupInfoCatalog.cpp | 32 +++++++++++++++--------------- GUI/Models/ItemCatalog.cpp | 12 +++++------ GUI/Models/TransformFromDomain.cpp | 12 +++++------ 5 files changed, 64 insertions(+), 34 deletions(-) diff --git a/GUI/Models/DistributionItems.cpp b/GUI/Models/DistributionItems.cpp index 22b710b61ec..119fe7ea59d 100644 --- a/GUI/Models/DistributionItems.cpp +++ b/GUI/Models/DistributionItems.cpp @@ -201,7 +201,9 @@ void DistributionNoneItem::init_distribution(double value) const QString DistributionGateItem::P_MIN = QString::fromStdString("Min"); const QString DistributionGateItem::P_MAX = QString::fromStdString("Max"); -DistributionGateItem::DistributionGateItem() : DistributionItem("DistributionGate") +const QString DistributionGateItem::M_TYPE = "DistributionGate"; + +DistributionGateItem::DistributionGateItem() : DistributionItem(M_TYPE) { addProperty(P_MIN, 0.0)->setLimits(RealLimits::limitless()); addProperty(P_MAX, 1.0)->setLimits(RealLimits::limitless()); @@ -230,8 +232,10 @@ void DistributionGateItem::init_distribution(double value) const QString DistributionLorentzItem::P_HWHM = QString::fromStdString("HWHM"); +const QString DistributionLorentzItem::M_TYPE = "DistributionLorentz"; + DistributionLorentzItem::DistributionLorentzItem() - : SymmetricDistributionItem("DistributionLorentz", 1.0) + : SymmetricDistributionItem(M_TYPE, 1.0) { addProperty(P_HWHM, 1.0); register_number_of_samples(); @@ -272,8 +276,10 @@ void DistributionLorentzItem::init_distribution(double value) const QString DistributionGaussianItem::P_STD_DEV = QString::fromStdString("StdDev"); +const QString DistributionGaussianItem::M_TYPE = "DistributionGaussian"; + DistributionGaussianItem::DistributionGaussianItem() - : SymmetricDistributionItem("DistributionGaussian", 1.0) + : SymmetricDistributionItem(M_TYPE, 1.0) { addProperty(P_STD_DEV, 1.0); register_number_of_samples(); @@ -315,7 +321,9 @@ void DistributionGaussianItem::init_distribution(double value) const QString DistributionLogNormalItem::P_MEDIAN = QString::fromStdString("Median"); const QString DistributionLogNormalItem::P_SCALE_PAR = QString::fromStdString("ScaleParameter"); -DistributionLogNormalItem::DistributionLogNormalItem() : DistributionItem("DistributionLogNormal") +const QString DistributionLogNormalItem::M_TYPE = "DistributionLogNormal"; + +DistributionLogNormalItem::DistributionLogNormalItem() : DistributionItem(M_TYPE) { addProperty(P_MEDIAN, 1.0); addProperty(P_SCALE_PAR, 1.0); @@ -351,8 +359,10 @@ void DistributionLogNormalItem::showMean(bool flag) const QString DistributionCosineItem::P_SIGMA = QString::fromStdString("Sigma"); +const QString DistributionCosineItem::M_TYPE = "DistributionCosine"; + DistributionCosineItem::DistributionCosineItem() - : SymmetricDistributionItem("DistributionCosine", 1.0) + : SymmetricDistributionItem(M_TYPE, 1.0) { addProperty(P_SIGMA, 1.0); register_number_of_samples(); @@ -396,7 +406,9 @@ const QString DistributionTrapezoidItem::P_LEFTWIDTH = QString::fromStdString("L const QString DistributionTrapezoidItem::P_MIDDLEWIDTH = QString::fromStdString("MiddleWidth"); const QString DistributionTrapezoidItem::P_RIGHTWIDTH = QString::fromStdString("RightWidth"); -DistributionTrapezoidItem::DistributionTrapezoidItem() : DistributionItem("DistributionTrapezoid") +const QString DistributionTrapezoidItem::M_TYPE = "DistributionTrapezoid"; + +DistributionTrapezoidItem::DistributionTrapezoidItem() : DistributionItem(M_TYPE) { addProperty(P_CENTER, 1.0)->setLimits(RealLimits::limitless()); addProperty(P_LEFTWIDTH, 1.0); diff --git a/GUI/Models/DistributionItems.h b/GUI/Models/DistributionItems.h index 6e0e59ead98..8f80904f1d8 100644 --- a/GUI/Models/DistributionItems.h +++ b/GUI/Models/DistributionItems.h @@ -88,6 +88,9 @@ class BA_CORE_API_ DistributionGateItem : public DistributionItem { public: static const QString P_MIN; static const QString P_MAX; + + static const QString M_TYPE; + DistributionGateItem(); std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; @@ -98,6 +101,9 @@ public: class BA_CORE_API_ DistributionLorentzItem : public SymmetricDistributionItem { public: static const QString P_HWHM; + + static const QString M_TYPE; + DistributionLorentzItem(); std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; @@ -109,6 +115,9 @@ public: class BA_CORE_API_ DistributionGaussianItem : public SymmetricDistributionItem { public: static const QString P_STD_DEV; + + static const QString M_TYPE; + DistributionGaussianItem(); std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; @@ -122,6 +131,9 @@ class BA_CORE_API_ DistributionLogNormalItem : public DistributionItem { public: static const QString P_MEDIAN; static const QString P_SCALE_PAR; + + static const QString M_TYPE; + DistributionLogNormalItem(); std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; @@ -132,6 +144,9 @@ public: class BA_CORE_API_ DistributionCosineItem : public SymmetricDistributionItem { public: static const QString P_SIGMA; + + static const QString M_TYPE; + DistributionCosineItem(); std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; @@ -146,6 +161,9 @@ public: static const QString P_LEFTWIDTH; static const QString P_MIDDLEWIDTH; static const QString P_RIGHTWIDTH; + + static const QString M_TYPE; + DistributionTrapezoidItem(); std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; diff --git a/GUI/Models/GroupInfoCatalog.cpp b/GUI/Models/GroupInfoCatalog.cpp index 0663602edda..ce4843cd630 100644 --- a/GUI/Models/GroupInfoCatalog.cpp +++ b/GUI/Models/GroupInfoCatalog.cpp @@ -74,31 +74,31 @@ GroupInfoCatalog::GroupInfoCatalog() addInfo(info); info = GroupInfo("Distribution group"); - info.add("DistributionGate", "Gate distribution"); - info.add("DistributionLorentz", "Lorentz distribution"); - info.add("DistributionGaussian", "Gaussian distribution"); - info.add("DistributionLogNormal", "Log Normal distribution"); - info.add("DistributionCosine", "Cosine distribution"); - info.add("DistributionTrapezoid", "Trapezoid distribution"); - info.setDefaultType("DistributionGaussian"); + info.add(DistributionGateItem::M_TYPE, "Gate distribution"); + info.add(DistributionLorentzItem::M_TYPE, "Lorentz distribution"); + info.add(DistributionGaussianItem::M_TYPE, "Gaussian distribution"); + info.add(DistributionLogNormalItem::M_TYPE, "Log Normal distribution"); + info.add(DistributionCosineItem::M_TYPE, "Cosine distribution"); + info.add(DistributionTrapezoidItem::M_TYPE, "Trapezoid distribution"); + info.setDefaultType(DistributionGaussianItem::M_TYPE); addInfo(info); info = GroupInfo("Distribution extended group"); info.add(DistributionNoneItem::M_TYPE, "None"); - info.add("DistributionGate", "Gate"); - info.add("DistributionLorentz", "Lorentz"); - info.add("DistributionGaussian", "Gaussian"); - info.add("DistributionLogNormal", "Log Normal"); - info.add("DistributionCosine", "Cosine"); - info.add("DistributionTrapezoid", "Trapezoid"); + info.add(DistributionGateItem::M_TYPE, "Gate"); + info.add(DistributionLorentzItem::M_TYPE, "Lorentz"); + info.add(DistributionGaussianItem::M_TYPE, "Gaussian"); + info.add(DistributionLogNormalItem::M_TYPE, "Log Normal"); + info.add(DistributionCosineItem::M_TYPE, "Cosine"); + info.add(DistributionTrapezoidItem::M_TYPE, "Trapezoid"); info.setDefaultType(DistributionNoneItem::M_TYPE); addInfo(info); info = GroupInfo("Symmetric distribution group"); info.add(DistributionNoneItem::M_TYPE, "None"); - info.add("DistributionLorentz", "Lorentz"); - info.add("DistributionGaussian", "Gaussian"); - info.add("DistributionCosine", "Cosine"); + info.add(DistributionLorentzItem::M_TYPE, "Lorentz"); + info.add(DistributionGaussianItem::M_TYPE, "Gaussian"); + info.add(DistributionCosineItem::M_TYPE, "Cosine"); info.setDefaultType(DistributionNoneItem::M_TYPE); addInfo(info); diff --git a/GUI/Models/ItemCatalog.cpp b/GUI/Models/ItemCatalog.cpp index d94403654f7..c8ddfdfbfbd 100644 --- a/GUI/Models/ItemCatalog.cpp +++ b/GUI/Models/ItemCatalog.cpp @@ -132,12 +132,12 @@ ItemCatalog::ItemCatalog() add("RectangularDetector", create_new<RectangularDetectorItem>); addItem<DistributionNoneItem>(); - add("DistributionGate", create_new<DistributionGateItem>); - add("DistributionLorentz", create_new<DistributionLorentzItem>); - add("DistributionGaussian", create_new<DistributionGaussianItem>); - add("DistributionLogNormal", create_new<DistributionLogNormalItem>); - add("DistributionCosine", create_new<DistributionCosineItem>); - add("DistributionTrapezoid", create_new<DistributionTrapezoidItem>); + addItem<DistributionGateItem>(); + addItem<DistributionLorentzItem>(); + addItem<DistributionGaussianItem>(); + addItem<DistributionLogNormalItem>(); + addItem<DistributionCosineItem>(); + addItem<DistributionTrapezoidItem>(); add("FTDistribution1DCauchy", create_new<FTDistribution1DCauchyItem>); add("FTDistribution1DGauss", create_new<FTDistribution1DGaussItem>); diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp index c6c59bc073e..d74793fec0d 100644 --- a/GUI/Models/TransformFromDomain.cpp +++ b/GUI/Models/TransformFromDomain.cpp @@ -749,14 +749,14 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio SessionItem* item = nullptr; if (const DistributionGate* distr = dynamic_cast<const DistributionGate*>(p_distribution)) { - item = part_distr_item->setDistributionGroupItem("DistributionGate"); + item = part_distr_item->setDistributionGroupItem(DistributionGateItem::M_TYPE); item->setItemValue(DistributionGateItem::P_MIN, factor * distr->lowerBound()); item->setItemValue(DistributionGateItem::P_MAX, factor * distr->upperBound()); } else if (const DistributionLorentz* distr = dynamic_cast<const DistributionLorentz*>(p_distribution)) { DistributionLorentzItem* distr_lorentz_item = dynamic_cast<DistributionLorentzItem*> - (part_distr_item->setDistributionGroupItem("DistributionLorentz")); + (part_distr_item->setDistributionGroupItem(DistributionLorentzItem::M_TYPE)); distr_lorentz_item->setMeanValue(factor * distr->getMean()); distr_lorentz_item->setItemValue(DistributionLorentzItem::P_HWHM, factor * distr->getHWHM()); @@ -765,27 +765,27 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio dynamic_cast<const DistributionGaussian*>(p_distribution)) { DistributionGaussianItem* distr_gauss_item = dynamic_cast<DistributionGaussianItem*> - (part_distr_item->setDistributionGroupItem("DistributionGaussian")); + (part_distr_item->setDistributionGroupItem(DistributionGaussianItem::M_TYPE)); distr_gauss_item->setMeanValue(factor * distr->getMean()); distr_gauss_item->setItemValue(DistributionGaussianItem::P_STD_DEV, factor * distr->getStdDev()); item = distr_gauss_item; } else if (const DistributionLogNormal* distr = dynamic_cast<const DistributionLogNormal*>(p_distribution)) { - item = part_distr_item->setDistributionGroupItem("DistributionLogNormal"); + item = part_distr_item->setDistributionGroupItem(DistributionLogNormalItem::M_TYPE); item->setItemValue(DistributionLogNormalItem::P_MEDIAN, factor * distr->getMedian()); item->setItemValue(DistributionLogNormalItem::P_SCALE_PAR, distr->getScalePar()); } else if (const DistributionCosine* distr = dynamic_cast<const DistributionCosine*>(p_distribution)) { DistributionCosineItem* distr_cos_item = dynamic_cast<DistributionCosineItem*> - (part_distr_item->setDistributionGroupItem("DistributionCosine")); + (part_distr_item->setDistributionGroupItem(DistributionCosineItem::M_TYPE)); distr_cos_item->setMeanValue(factor * distr->getMean()); distr_cos_item->setItemValue(DistributionCosineItem::P_SIGMA, factor * distr->getSigma()); item = distr_cos_item; } else if (const DistributionTrapezoid* distr = dynamic_cast<const DistributionTrapezoid*>(p_distribution)) { - item = part_distr_item->setDistributionGroupItem("DistributionTrapezoid"); + item = part_distr_item->setDistributionGroupItem(DistributionTrapezoidItem::M_TYPE); item->setItemValue(DistributionTrapezoidItem::P_CENTER, factor * distr->getMean()); item->setItemValue(DistributionTrapezoidItem::P_LEFTWIDTH, factor * distr->getLeftWidth()); item->setItemValue(DistributionTrapezoidItem::P_MIDDLEWIDTH, -- GitLab