diff --git a/GUI/Model/Beam/BeamDistributionItem.cpp b/GUI/Model/Beam/BeamDistributionItem.cpp index 72b988ad79b11ae33293b851f1891a3a1d56d86e..7812cd5c594f8497c29066f86caf034d82726315 100644 --- a/GUI/Model/Beam/BeamDistributionItem.cpp +++ b/GUI/Model/Beam/BeamDistributionItem.cpp @@ -25,7 +25,8 @@ const QString ExpandGroupbox("ExpandGroupbox"); // obsolete since v22.0 } // namespace -BeamDistributionItem::BeamDistributionItem() +BeamDistributionItem::BeamDistributionItem(double scale) + : m_scale(scale) { m_distribution.simpleInit("Distribution", "", DistributionCatalog::Type::None); } @@ -60,8 +61,3 @@ void BeamDistributionItem::resetToValue(double value) d->mean().setDVal(value); m_distribution.setCertainItem(d); } - -double BeamDistributionItem::scaleFactor() const -{ - return 1.0; -} diff --git a/GUI/Model/Beam/BeamDistributionItem.h b/GUI/Model/Beam/BeamDistributionItem.h index 71ec4b9882c1cfc7b5c19a18431eaac7473bf0b3..56b3b1a8a67a5d8a5c7a9f7bb1e0acc93778c45f 100644 --- a/GUI/Model/Beam/BeamDistributionItem.h +++ b/GUI/Model/Beam/BeamDistributionItem.h @@ -25,7 +25,7 @@ class DistributionItem; class BeamDistributionItem { public: - BeamDistributionItem(); + BeamDistributionItem(double scale); virtual ~BeamDistributionItem(); virtual void writeTo(QXmlStreamWriter* w) const; @@ -34,12 +34,13 @@ public: virtual double centralValue() const; void resetToValue(double value); - virtual double scaleFactor() const; + double scaleFactor() const { return m_scale; } DistributionItem* distributionItem() const { return m_distribution.certainItem(); } PolyItem<DistributionCatalog>& distributionSelection() { return m_distribution; } protected: + const double m_scale; PolyItem<DistributionCatalog> m_distribution; }; diff --git a/GUI/Model/Beam/GrazingScanItem.cpp b/GUI/Model/Beam/GrazingScanItem.cpp index a97aff1cb7beb2bc1913ceb3cff7ffc92bf782fd..dccd47ba238f8bbdf80a8dbf89fd830ab1af1657 100644 --- a/GUI/Model/Beam/GrazingScanItem.cpp +++ b/GUI/Model/Beam/GrazingScanItem.cpp @@ -15,7 +15,7 @@ #include "GUI/Model/Beam/GrazingScanItem.h" #include "Base/Const/Units.h" -double GrazingScanItem::scaleFactor() const +GrazingScanItem::GrazingScanItem() + : BeamDistributionItem(Units::deg) { - return Units::deg; } diff --git a/GUI/Model/Beam/GrazingScanItem.h b/GUI/Model/Beam/GrazingScanItem.h index 8efa1e23c8e9c919fe6f3915609bc33debffe2b9..04ef787fe5bd74e7468441e036c21fbb930d3e13 100644 --- a/GUI/Model/Beam/GrazingScanItem.h +++ b/GUI/Model/Beam/GrazingScanItem.h @@ -20,7 +20,7 @@ class GrazingScanItem : public BeamDistributionItem { public: - double scaleFactor() const override; + GrazingScanItem(); }; #endif // BORNAGAIN_GUI_MODEL_BEAM_GRAZINGSCANITEM_H diff --git a/GUI/Model/Beam/SourceItems.cpp b/GUI/Model/Beam/SourceItems.cpp index d1602b032856029d4da070b557f4cf18762b1618..5b19519674b9a65c6241001238cfa50e3aea522d 100644 --- a/GUI/Model/Beam/SourceItems.cpp +++ b/GUI/Model/Beam/SourceItems.cpp @@ -72,7 +72,7 @@ SourceItem::SourceItem() m_intensity.init("Intensity", "Beam intensity in neutrons/photons per sec.", 1e8, 3, RealLimits::limited(0.0, 1e32), "intensity"); - m_azimuthal_angle_item = std::make_unique<BeamDistributionItem>(); + m_azimuthal_angle_item = std::make_unique<BeamDistributionItem>(1.); m_footprint.simpleInit("Type", "Footprint type", FootprintCatalog::Type::Gaussian); } @@ -160,8 +160,8 @@ void SourceItem::setFootprint(const IFootprint* footprint) BeamItem::BeamItem() { - m_wavelength_item = std::make_unique<BeamDistributionItem>(); - m_inclination_angle_item = std::make_unique<BeamDistributionItem>(); + m_wavelength_item = std::make_unique<BeamDistributionItem>(1.); + m_inclination_angle_item = std::make_unique<BeamDistributionItem>(1.); } void BeamItem::writeTo(QXmlStreamWriter* w) const @@ -219,7 +219,7 @@ ScanItem::ScanItem() : m_current_axis_is_uniform_axis(true) { m_grazing_scan_item = std::make_unique<GrazingScanItem>(); - m_wavelength_item = std::make_unique<BeamDistributionItem>(); + m_wavelength_item = std::make_unique<BeamDistributionItem>(1.); m_uniform_alpha_axis = std::make_unique<BasicAxisItem>(); setAxisPresentationDefaults(m_uniform_alpha_axis.get());