diff --git a/GUI/Models/DetectorItems.cpp b/GUI/Models/DetectorItems.cpp index fb29855af38b70020fda08880898d2caa37afcdf..7d2cef6973adfef1726f2c369cc7238e8af8ab78 100644 --- a/GUI/Models/DetectorItems.cpp +++ b/GUI/Models/DetectorItems.cpp @@ -103,6 +103,16 @@ SessionItem* DetectorItem::resolutionFunctionItem() const return getItem(P_RESOLUTION_FUNCTION); } +void DetectorItem::setAnalyserDirection(const kvector_t& direction) +{ + item<VectorItem>(P_ANALYZER_DIRECTION)->setVector(direction); +} + +SessionItem* DetectorItem::analyserDirectionItem() const +{ + return getItem(P_ANALYZER_DIRECTION); +} + void DetectorItem::register_resolution_function() { auto item = addGroupProperty(P_RESOLUTION_FUNCTION, "Resolution function group"); diff --git a/GUI/Models/DetectorItems.h b/GUI/Models/DetectorItems.h index 7f3f858d841f96dc051b807219c923ebd446ae4f..6c469b819737c22df7bf8374445e95fa5d429718 100644 --- a/GUI/Models/DetectorItems.h +++ b/GUI/Models/DetectorItems.h @@ -16,6 +16,7 @@ #define BORNAGAIN_GUI_MODELS_DETECTORITEMS_H #include "GUI/Models/SessionItem.h" +#include "Base/Vector/Vectors3D.h" class MaskContainerItem; class IDetector2D; @@ -26,9 +27,9 @@ class BA_CORE_API_ DetectorItem : public SessionItem { private: static const QString T_MASKS; static const QString P_RESOLUTION_FUNCTION; + static const QString P_ANALYZER_DIRECTION; public: - static const QString P_ANALYZER_DIRECTION; static const QString P_ANALYZER_EFFICIENCY; static const QString P_ANALYZER_TOTAL_TRANSMISSION; explicit DetectorItem(const QString& modelType); @@ -60,6 +61,9 @@ public: SessionItem* setResolutionFunctionType(const QString& model_type); SessionItem* resolutionFunctionItem() const; + void setAnalyserDirection(const kvector_t& directorion); + SessionItem* analyserDirectionItem() const; + protected: void register_resolution_function(); void update_resolution_function_tooltips(); diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp index da51896711a59f73f31debd9ccf18d0b0081c25e..af9b29ef6a4f0d34e5c0223889f86b3ce1bfd303 100644 --- a/GUI/Models/TransformFromDomain.cpp +++ b/GUI/Models/TransformFromDomain.cpp @@ -350,7 +350,7 @@ void TransformFromDomain::setDetectorProperties(DetectorItem* detector_item, kvector_t analyzer_dir = detector.detectionProperties().analyzerDirection(); double efficiency = detector.detectionProperties().analyzerEfficiency(); - detector_item->item<VectorItem>(DetectorItem::P_ANALYZER_DIRECTION)->setVector(analyzer_dir); + detector_item->setAnalyserDirection(analyzer_dir); detector_item->setItemValue(DetectorItem::P_ANALYZER_EFFICIENCY, efficiency); detector_item->setItemValue(DetectorItem::P_ANALYZER_TOTAL_TRANSMISSION, total_transmission); } diff --git a/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp b/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp index 16b40e0909fca630d865c3acd3a256b94710b34e..c0d4d800727a0c502c23eb1a826c08a457e57300 100644 --- a/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp +++ b/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp @@ -98,7 +98,7 @@ void PolarizationAnalysisEditor::updateAnalyserEditor() { m_analyserDirectionEditor->clearEditor(); m_analyserPropertiesEditor->clearEditor(); - m_analyserDirectionEditor->addItem(detectorItem()->getItem(DetectorItem::P_ANALYZER_DIRECTION)); + m_analyserDirectionEditor->addItem(detectorItem()->analyserDirectionItem()); m_analyserPropertiesEditor->addItem( detectorItem()->getItem(DetectorItem::P_ANALYZER_EFFICIENCY)); m_analyserPropertiesEditor->addItem(