15 #ifndef BORNAGAIN_CORE_INTENSITY_SIMPLEUNITCONVERTERS_H
16 #define BORNAGAIN_CORE_INTENSITY_SIMPLEUNITCONVERTERS_H
41 size_t axisSize(
size_t i_axis) const final;
118 double axisAngle(
size_t i_axis,
kvector_t k_f) const;
141 void addDetectorYAxis(const
IDetector2D& detector);
164 std::vector<std::map<Axes::Units, std::string>>
createNameMaps() const final;
165 void checkUnits(
Axes::
Units units_type) const;
Defines interface IUnitConverter and possible axis units.
Defines basic vectors in R^3 and C^3.
Wrapper for detector axes units, required for a better representation of detector axes units in pytho...
Beam defined by wavelength, direction and intensity.
DepthProbeConverter class handles the unit translations for depth probe simulations Its default units...
~DepthProbeConverter() final
Interface for one-dimensional axes.
Abstract 2D detector interface.
Abstract detector interface.
Interface to provide axis translations to different units for simulation output.
IUnitConverter class that handles the unit translations for off-specular simulations with a spherical...
~OffSpecularConverter() final
IUnitConverter class that handles the unit translations for rectangular detectors Its default units a...
~RectangularConverter() final
A flat rectangular detector with axes and resolution function.
A pixel in a RectangularDetector.
IUnitConverter class that handles the unit translations for spherical detectors Its default units are...
SphericalConverter(const SphericalDetector &detector, const Beam &beam)
std::vector< std::map< Axes::Units, std::string > > createNameMaps() const final
SphericalConverter * clone() const final
~SphericalConverter() final
double calculateValue(size_t i_axis, Axes::Units units_type, double value) const final
std::vector< Axes::Units > availableUnits() const final
Returns the list of all available units.
Axes::Units defaultUnits() const final
A spherical detector with axes and resolution function.
Interface for objects that provide axis translations to different units for IDetector objects.
void addDetectorAxis(const IDetector &detector, size_t i_axis)
double calculateMax(size_t i_axis, Axes::Units units_type) const final
double calculateMin(size_t i_axis, Axes::Units units_type) const final
void addAxisData(std::string name, double min, double max, Axes::Units default_units, size_t nbins)
std::vector< AxisData > m_axis_data_table
size_t axisSize(size_t i_axis) const final
~UnitConverterSimple() override=default
virtual size_t dimension() const final
virtual double calculateValue(size_t i_axis, Axes::Units units_type, double value) const =0
std::unique_ptr< IAxis > createConvertedAxis(size_t i_axis, Axes::Units units) const final
UnitConverterSimple(const Beam &beam)
std::vector< Axes::Units > availableUnits() const override
Returns the list of all available units.
Constants and functions for physical unit conversions.
Axes::Units default_units