From ff61faa90a1dc4c086fa3de52247af8d1b443cb4 Mon Sep 17 00:00:00 2001
From: Joachim Wuttke <j.wuttke@fz-juelich.de>
Date: Wed, 24 Jul 2024 22:31:05 +0200
Subject: [PATCH] replace GrazingScanItem by BeamDistributionItem

---
 GUI/Model/Beam/SourceItems.cpp    | 8 +-------
 GUI/Model/Beam/SourceItems.h      | 5 ++---
 GUI/Model/Sim/InstrumentItems.cpp | 3 +--
 3 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/GUI/Model/Beam/SourceItems.cpp b/GUI/Model/Beam/SourceItems.cpp
index 5b19519674b..b1815a60d72 100644
--- a/GUI/Model/Beam/SourceItems.cpp
+++ b/GUI/Model/Beam/SourceItems.cpp
@@ -25,7 +25,6 @@
 #include "GUI/Model/Beam/BeamDistributionItem.h"
 #include "GUI/Model/Beam/DistributionItems.h"
 #include "GUI/Model/Beam/FootprintItems.h"
-#include "GUI/Model/Beam/GrazingScanItem.h"
 #include "Param/Distrib/Distributions.h"
 #include "Sim/Scan/AlphaScan.h"
 
@@ -218,7 +217,7 @@ std::unique_ptr<Beam> BeamItem::createBeam() const
 ScanItem::ScanItem()
     : m_current_axis_is_uniform_axis(true)
 {
-    m_grazing_scan_item = std::make_unique<GrazingScanItem>();
+    m_grazing_scan_item = std::make_unique<BeamDistributionItem>(Units::deg);
     m_wavelength_item = std::make_unique<BeamDistributionItem>(1.);
 
     m_uniform_alpha_axis = std::make_unique<BasicAxisItem>();
@@ -277,11 +276,6 @@ void ScanItem::readFrom(QXmlStreamReader* r)
     }
 }
 
-GrazingScanItem* ScanItem::grazingScanItem() const
-{
-    return m_grazing_scan_item.get();
-}
-
 BasicAxisItem* ScanItem::inclinationAxisItem() const
 {
     return alphaAxisItem();
diff --git a/GUI/Model/Beam/SourceItems.h b/GUI/Model/Beam/SourceItems.h
index ab91b37dcc5..e44c0399ddc 100644
--- a/GUI/Model/Beam/SourceItems.h
+++ b/GUI/Model/Beam/SourceItems.h
@@ -26,7 +26,6 @@ class Beam;
 class BeamDistributionItem;
 class BeamScan;
 class Frame;
-class GrazingScanItem;
 class IFootprint;
 class PointwiseAxisItem;
 class Scale;
@@ -94,7 +93,7 @@ public:
     void writeTo(QXmlStreamWriter* w) const;
     void readFrom(QXmlStreamReader* r);
 
-    GrazingScanItem* grazingScanItem() const;
+    BeamDistributionItem* grazingScanItem() const { return m_grazing_scan_item.get(); }
     BasicAxisItem* inclinationAxisItem() const;
 
     void updateToData(const Scale& axis);
@@ -129,7 +128,7 @@ private:
     std::unique_ptr<BasicAxisItem> m_uniform_alpha_axis;
     std::unique_ptr<PointwiseAxisItem> m_pointwise_alpha_axis;
     bool m_current_axis_is_uniform_axis;
-    std::unique_ptr<GrazingScanItem> m_grazing_scan_item;
+    std::unique_ptr<BeamDistributionItem> m_grazing_scan_item;
 };
 
 #endif // BORNAGAIN_GUI_MODEL_BEAM_SOURCEITEMS_H
diff --git a/GUI/Model/Sim/InstrumentItems.cpp b/GUI/Model/Sim/InstrumentItems.cpp
index e18ce908e82..876d83a3f79 100644
--- a/GUI/Model/Sim/InstrumentItems.cpp
+++ b/GUI/Model/Sim/InstrumentItems.cpp
@@ -27,7 +27,6 @@
 #include "GUI/Model/Beam/BeamDistributionItem.h"
 #include "GUI/Model/Beam/DistributionItems.h"
 #include "GUI/Model/Beam/FootprintItems.h"
-#include "GUI/Model/Beam/GrazingScanItem.h"
 #include "GUI/Model/Beam/SourceItems.h"
 #include "GUI/Model/Data/DataItem.h"
 #include "GUI/Model/Detector/DetectorItem.h"
@@ -208,7 +207,7 @@ std::unique_ptr<PhysicalScan> ScanningInstrumentItem::createScan(const Scale& ax
     }
 
     {
-        const GrazingScanItem* it = scanItem()->grazingScanItem();
+        const BeamDistributionItem* it = scanItem()->grazingScanItem();
         ASSERT(it);
         const DistributionItem* distr_item = it->distributionItem();
         ASSERT(distr_item);
-- 
GitLab