Skip to content
Snippets Groups Projects
Commit 65db90a3 authored by t.knopff's avatar t.knopff
Browse files

Make DistributionGateItem::P_(MIN|MAX) private

parent 35aa8cdf
No related branches found
No related tags found
1 merge request!85Refactor Model: distribution items
...@@ -228,6 +228,13 @@ void DistributionGateItem::init_distribution(double value) ...@@ -228,6 +228,13 @@ void DistributionGateItem::init_distribution(double value)
setItemValue(P_MAX, value + sigma); setItemValue(P_MAX, value + sigma);
} }
void DistributionGateItem::setRange(const double minimum, const double maximum)
{
ASSERT(minimum <= maximum);
setItemValue(P_MIN, minimum);
setItemValue(P_MAX, maximum);
}
// --------------------------------------------------------------------------------------------- // // --------------------------------------------------------------------------------------------- //
const QString DistributionLorentzItem::P_HWHM = QString::fromStdString("HWHM"); const QString DistributionLorentzItem::P_HWHM = QString::fromStdString("HWHM");
......
...@@ -85,10 +85,11 @@ public: ...@@ -85,10 +85,11 @@ public:
}; };
class BA_CORE_API_ DistributionGateItem : public DistributionItem { class BA_CORE_API_ DistributionGateItem : public DistributionItem {
public: private:
static const QString P_MIN; static const QString P_MIN;
static const QString P_MAX; static const QString P_MAX;
public:
static const QString M_TYPE; static const QString M_TYPE;
DistributionGateItem(); DistributionGateItem();
...@@ -96,6 +97,8 @@ public: ...@@ -96,6 +97,8 @@ public:
std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override; std::unique_ptr<IDistribution1D> createDistribution(double scale = 1.0) const override;
void init_distribution(double value) override; void init_distribution(double value) override;
void showMean(bool) override {} void showMean(bool) override {}
void setRange(double minimum, double maximum);
}; };
class BA_CORE_API_ DistributionLorentzItem : public SymmetricDistributionItem { class BA_CORE_API_ DistributionLorentzItem : public SymmetricDistributionItem {
......
...@@ -749,9 +749,11 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio ...@@ -749,9 +749,11 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio
SessionItem* item = nullptr; SessionItem* item = nullptr;
if (const DistributionGate* distr = dynamic_cast<const DistributionGate*>(p_distribution)) { if (const DistributionGate* distr = dynamic_cast<const DistributionGate*>(p_distribution)) {
item = part_distr_item->setDistributionGroupItem<DistributionGateItem>(); DistributionGateItem* distr_gate_item =
item->setItemValue(DistributionGateItem::P_MIN, factor * distr->lowerBound()); part_distr_item->setDistributionGroupItem<DistributionGateItem>();
item->setItemValue(DistributionGateItem::P_MAX, factor * distr->upperBound()); distr_gate_item->setRange(factor * distr->lowerBound(),
factor * distr->upperBound());
item = distr_gate_item;
} else if (const DistributionLorentz* distr = } else if (const DistributionLorentz* distr =
dynamic_cast<const DistributionLorentz*>(p_distribution)) { dynamic_cast<const DistributionLorentz*>(p_distribution)) {
DistributionLorentzItem* distr_lorentz_item = DistributionLorentzItem* distr_lorentz_item =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment