diff --git a/GUI/Models/RectangularDetectorItem.cpp b/GUI/Models/RectangularDetectorItem.cpp index e4cddea3b2b91e43b6364ee2e6d1f3812045a072..f665db744341f1233c862ed349d7667430b1db80 100644 --- a/GUI/Models/RectangularDetectorItem.cpp +++ b/GUI/Models/RectangularDetectorItem.cpp @@ -239,6 +239,26 @@ void RectangularDetectorItem::setV0(const double v0) setItemValue(P_V0, v0); } +SessionItem* RectangularDetectorItem::directBeamU0Item() const +{ + return getItem(P_DBEAM_U0); +} + +void RectangularDetectorItem::setDirectBeamU0(const double u0) +{ + setItemValue(P_DBEAM_U0, u0); +} + +SessionItem* RectangularDetectorItem::directBeamV0Item() const +{ + return getItem(P_DBEAM_V0); +} + +void RectangularDetectorItem::setDirectBeamV0(const double v0) +{ + setItemValue(P_DBEAM_V0, v0); +} + std::unique_ptr<IDetector2D> RectangularDetectorItem::createDomainDetector() const { // basic axes parameters diff --git a/GUI/Models/RectangularDetectorItem.h b/GUI/Models/RectangularDetectorItem.h index aa7455e275e3a83af2936ce3e86b3a223e74c8b4..955cbf3f1b83e169650a9130f1d7a0d1f93d9e83 100644 --- a/GUI/Models/RectangularDetectorItem.h +++ b/GUI/Models/RectangularDetectorItem.h @@ -30,10 +30,10 @@ private: static const QString P_DIRECTION; static const QString P_U0; static const QString P_V0; - -public: static const QString P_DBEAM_U0; static const QString P_DBEAM_V0; + +public: static const QString P_DISTANCE; RectangularDetectorItem(); @@ -67,6 +67,12 @@ public: SessionItem* v0Item() const; void setV0(double v0); + SessionItem* directBeamU0Item() const; + void setDirectBeamU0(double dbeam_u0); + + SessionItem* directBeamV0Item() const; + void setDirectBeamV0(double dbeam_v0); + private: std::unique_ptr<IDetector2D> createDomainDetector() const override; void update_properties_appearance(); diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp index 15ae94959540014c16b9a711f0c4b9f407452950..69e12eb6d12951ca9fe7bb9b3498b28155bc9c19 100644 --- a/GUI/Models/TransformFromDomain.cpp +++ b/GUI/Models/TransformFromDomain.cpp @@ -408,8 +408,8 @@ void TransformFromDomain::setRectangularDetector(RectangularDetectorItem* detect == RectangularDetector::PERPENDICULAR_TO_DIRECT_BEAM) { detector_item->setDetectorAlignment("Perpendicular to direct beam"); detector_item->setItemValue(RectangularDetectorItem::P_DISTANCE, detector.getDistance()); - detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_U0, detector.getU0()); - detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_V0, detector.getV0()); + detector_item->setDirectBeamU0(detector.getU0()); + detector_item->setDirectBeamV0(detector.getV0()); } else if (detector.getDetectorArrangment() == RectangularDetector::PERPENDICULAR_TO_REFLECTED_BEAM) { @@ -422,10 +422,8 @@ void TransformFromDomain::setRectangularDetector(RectangularDetectorItem* detect == RectangularDetector::PERPENDICULAR_TO_REFLECTED_BEAM_DPOS) { detector_item->setDetectorAlignment("Perpendicular to reflected beam (dpos)"); detector_item->setItemValue(RectangularDetectorItem::P_DISTANCE, detector.getDistance()); - detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_U0, - detector.getDirectBeamU0()); - detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_V0, - detector.getDirectBeamV0()); + detector_item->setDirectBeamU0(detector.getDirectBeamU0()); + detector_item->setDirectBeamV0(detector.getDirectBeamV0()); } else { throw Error( diff --git a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp index 1102c02a682b7b4681cbff751dc3fce001869df9..41360726e601f8c41bca87ac27a1e877a989ef43 100644 --- a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp +++ b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp @@ -147,8 +147,8 @@ void RectangularDetectorEditor::init_alignment_editors() } else if (alignment.getValue() == "Perpendicular to direct beam" || alignment.getValue() == "Perpendicular to reflected beam (dpos)") { m_positionsEditor->show(); - m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_DBEAM_U0)); - m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_DBEAM_V0)); + m_positionsEditor->addItem(detectorItem()->directBeamU0Item()); + m_positionsEditor->addItem(detectorItem()->directBeamV0Item()); m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_DISTANCE)); } else if (alignment.getValue() == "Perpendicular to sample x-axis"