15 #ifndef BORNAGAIN_GUI_MODEL_DEVICE_RECTANGULARDETECTORITEM_H
16 #define BORNAGAIN_GUI_MODEL_DEVICE_RECTANGULARDETECTORITEM_H
18 #include "Device/Detector/RectangularDetector.h"
28 static constexpr
auto P_NORMAL{
"Normal vector"};
30 static constexpr
auto P_U0{
"u0"};
31 static constexpr
auto P_V0{
"v0"};
41 int xSize()
const override;
44 int ySize()
const override;
Defines class AxisProperty.
Defines classes DetectorItems.
Defines class DoubleProperty.
Defines class VectorProperty.
static constexpr auto P_X_AXIS
VECTOR_PROPERTY(directionVector, DirectionVector)
static constexpr auto P_DBEAM_V0
static constexpr auto P_DBEAM_U0
static constexpr auto P_U0
static constexpr auto P_Y_AXIS
int ySize() const override
Returns the size of y-axis of the detector.
void setXSize(size_t nx) override
sets the size of x-axis of the detector
SelectionDescriptor< RectangularDetector::EDetectorArrangement > detectorAlignmentSelection() const
void serialize(Streamer &s) override
std::unique_ptr< IDetector > createDomainDetector() const override
static constexpr auto P_V0
RectangularDetector::EDetectorArrangement m_detectorAlignment
static constexpr auto P_NORMAL
QVector< std::variant< VectorDescriptor, DoubleDescriptor > > alignmentPropertiesForUI() const
The properties of the currently active alignment. Sorted as expected on the UI.
DOUBLE_PROPERTY(width, Width)
VECTOR_PROPERTY(normalVector, NormalVector)
void setYSize(size_t ny) override
sets the size of y-axis of the detector
static constexpr auto P_DIRECTION
void setDetectorAlignment(RectangularDetector::EDetectorArrangement alignment)
DOUBLE_PROPERTY(distance, Distance)
static constexpr auto P_DISTANCE
RectangularDetectorItem()
int xSize() const override
Returns the size of x-axis of the detector.
DOUBLE_PROPERTY(height, Height)
RectangularDetector::EDetectorArrangement detectorAlignment() const
Describes a selection (various possibilities and the current one).
Supports serialization to or deserialization from QXmlStream.