From 736e80ce31228b0194363018c3d58e5be8ef1bc5 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de> Date: Thu, 6 Apr 2023 18:18:53 +0200 Subject: [PATCH] don't create a scan just to obtain n --- GUI/Model/Device/GrazingScanItem.cpp | 5 +++++ GUI/Model/Device/GrazingScanItem.h | 2 ++ GUI/Model/Device/InstrumentItems.cpp | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/GUI/Model/Device/GrazingScanItem.cpp b/GUI/Model/Device/GrazingScanItem.cpp index a1fbf456ad1..aaefaf38847 100644 --- a/GUI/Model/Device/GrazingScanItem.cpp +++ b/GUI/Model/Device/GrazingScanItem.cpp @@ -148,6 +148,11 @@ double GrazingScanItem::scaleFactor() const return Units::deg; } +int GrazingScanItem::nBins() const +{ + return alphaAxisItem()->binCount(); +} + BasicAxisItem* GrazingScanItem::alphaAxisItem() const { return m_currentAxisIsUniformAxis ? m_uniformAlphaAxis.get() : m_pointwiseAlphaAxis.get(); diff --git a/GUI/Model/Device/GrazingScanItem.h b/GUI/Model/Device/GrazingScanItem.h index 95cf371eda3..db24c63cb01 100644 --- a/GUI/Model/Device/GrazingScanItem.h +++ b/GUI/Model/Device/GrazingScanItem.h @@ -36,6 +36,8 @@ public: double scaleFactor() const override; + int nBins() const; + //! The currently selected axis BasicAxisItem* alphaAxisItem() const; diff --git a/GUI/Model/Device/InstrumentItems.cpp b/GUI/Model/Device/InstrumentItems.cpp index ae2b4d6b8f6..2cdf4d054bf 100644 --- a/GUI/Model/Device/InstrumentItems.cpp +++ b/GUI/Model/Device/InstrumentItems.cpp @@ -575,7 +575,7 @@ OffspecInstrumentItem::OffspecInstrumentItem() std::vector<int> OffspecInstrumentItem::shape() const { - return {(int)createScan()->nScan(), detectorItem()->ySize()}; + return {scanItem()->grazingScanItem()->nBins(), detectorItem()->ySize()}; } void OffspecInstrumentItem::updateToRealData(const RealItem* dataItem) -- GitLab