15 #ifndef BORNAGAIN_GUI_MODEL_DEVICE_BEAMITEMS_H
16 #define BORNAGAIN_GUI_MODEL_DEVICE_BEAMITEMS_H
25 #include <heinz/Vectors3D.h>
Defines class BeamAngleItems.
Defines class BeamWavelengthItem.
Defines class SelectionDescriptor.
Defines class SelectionProperty.
Defines class SessionItem.
Declares the class SpecularBeamInclinationItem.
The BeamDistributionItem handles wavelength, inclination and azimuthal parameter distribution for Bea...
virtual BeamDistributionItem * inclinationAngleItem() const
std::unique_ptr< Beam > createBeam() const
void initInclinationAngle()
void setWavelength(double value)
DOUBLE_PROPERTY(intensity, Intensity)
virtual ~BeamItem()=default
std::unique_ptr< BeamDistributionItem > m_inclinationAngleItem
BeamAzimuthalAngleItem * azimuthalAngleItem() const
virtual void serialize(Streamer &s)
std::unique_ptr< BeamWavelengthItem > m_wavelengthItem
virtual void setInclinationAngle(double value)
void setAzimuthalAngle(double value)
double wavelength() const
virtual double getInclinationAngle() const =0
std::unique_ptr< BeamAzimuthalAngleItem > m_azimuthalAngleItem
double getAzimuthalAngle() const
BeamWavelengthItem * wavelengthItem() const
double getInclinationAngle() const override
void setInclinationAngleGetter(std::function< double()> getter)
Explicitly set a getter function for the inclination angle.
std::function< double()> m_inclinationAngleGetter
Abstract base class for instrument-specific item classes.
Describes a selection (various possibilities and the current one).
Base class for a GUI data item.
BeamInclinationAxisItem contains inclination angle axis for specular/off-specular simulations and als...
void setSquareFootprint(double value)
SelectionDescriptor< FootprintItem * > footprintSelection() const
SelectionProperty< FootprintItem * > m_footprint
void setInclinationAngle(double value) override
FootprintItem * footprint() const
BasicAxisItem * inclinationAxis() const
void setGaussianFootprint(double value)
SpecularBeamItem(const InstrumentItem *owningInstrument)
SessionItem * footprintGroupItem() const
void updateToData(const IAxis &axis, QString units)
SpecularBeamInclinationItem * inclinationAngleItem() const override
double getInclinationAngle() const override
void serialize(Streamer &s) override
Supports serialization to or deserialization from QXmlStream.