BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Conversion of axis units for the case of conventional (angle-based) reflectometry. More...
Public Member Functions | |
UnitConverterConvSpec (const AngularSpecScan &handler) | |
UnitConverterConvSpec (const Beam &beam, const IAxis &axis, Axes::Units axis_units=Axes::Units::RADIANS) | |
Constructs the object for unit conversion. More... | |
~UnitConverterConvSpec () override | |
std::vector< Axes::Units > | availableUnits () const override |
Returns the list of all available units. More... | |
std::string | axisName (size_t i_axis, Axes::Units units_type=Axes::Units::DEFAULT) const |
size_t | axisSize (size_t i_axis) const override |
Returns the size of underlying axis. More... | |
double | calculateMax (size_t i_axis, Axes::Units units_type) const override |
Calculates maximum on-axis value in given units. More... | |
double | calculateMin (size_t i_axis, Axes::Units units_type) const override |
Calculates minimum on-axis value in given units. More... | |
UnitConverterConvSpec * | clone () const override |
std::unique_ptr< IAxis > | createConvertedAxis (size_t i_axis, Axes::Units units) const override |
Creates axis in converted units. More... | |
std::unique_ptr< OutputData< double > > | createConvertedData (const OutputData< double > &data, Axes::Units units) const override |
Creates OutputData array in converter units. More... | |
Axes::Units | defaultUnits () const override |
Returns default units to convert to. More... | |
size_t | dimension () const override |
Returns dimensionality of converted canvas. More... | |
Axes::Units | substituteDefaultUnits (Axes::Units units) const |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Static Public Member Functions | |
static std::unique_ptr< UnitConverter1D > | createUnitConverter (const ISpecularScan &handler) |
Factory function to create unit converter for particular type of specular data. More... | |
Protected Member Functions | |
UnitConverterConvSpec (const UnitConverterConvSpec &other) | |
void | checkIndex (size_t i_axis) const |
const IAxis * | coordinateAxis () const override |
std::vector< std::map< Axes::Units, std::string > > | createNameMaps () const override |
Creates name map for axis in various units. More... | |
std::function< double(double)> | getTraslatorFrom (Axes::Units units_type) const |
Returns translating functional (input units --> rads) More... | |
std::function< double(double)> | getTraslatorTo (Axes::Units units_type) const override |
Returns translating functional (rads --> desired units) More... | |
void | throwUnitsError (std::string method, std::vector< Axes::Units > available) const |
Protected Attributes | |
std::unique_ptr< IAxis > | m_axis |
basic inclination angles (in rads). More... | |
double | m_wavelength |
basic wavelength in nm (for translation to q-space). More... | |
Conversion of axis units for the case of conventional (angle-based) reflectometry.
Definition at line 67 of file UnitConverter1D.h.
UnitConverterConvSpec::UnitConverterConvSpec | ( | const Beam & | beam, |
const IAxis & | axis, | ||
Axes::Units | axis_units = Axes::Units::RADIANS |
||
) |
Constructs the object for unit conversion.
Definition at line 102 of file UnitConverter1D.cpp.
References IUnitConverter::axisName(), getTraslatorFrom(), m_axis, and M_PI_2.
Referenced by clone().
UnitConverterConvSpec::UnitConverterConvSpec | ( | const AngularSpecScan & | handler | ) |
Definition at line 111 of file UnitConverter1D.cpp.
|
overridedefault |
|
protected |
Definition at line 140 of file UnitConverter1D.cpp.
|
overridevirtual |
Returns the list of all available units.
Implements IUnitConverter.
Definition at line 129 of file UnitConverter1D.cpp.
Referenced by getTraslatorTo().
|
inherited |
Definition at line 20 of file IUnitConverter.cpp.
References IUnitConverter::availableUnits(), IUnitConverter::createNameMaps(), IUnitConverter::substituteDefaultUnits(), and IUnitConverter::throwUnitsError().
Referenced by DepthProbeConverter::DepthProbeConverter(), OffSpecularConverter::OffSpecularConverter(), UnitConverterConvSpec(), UnitConverterSimple::addDetectorAxis(), OffSpecularConverter::addDetectorYAxis(), UnitConverter1D::createConvertedAxis(), and UnitConverterSimple::createConvertedAxis().
|
overridevirtual |
Returns the size of underlying axis.
Implements IUnitConverter.
Definition at line 123 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), and m_axis.
|
overridevirtualinherited |
Calculates maximum on-axis value in given units.
Implements IUnitConverter.
Definition at line 60 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), UnitConverter1D::coordinateAxis(), UnitConverter1D::getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverter1D::createConvertedAxis().
|
overridevirtualinherited |
Calculates minimum on-axis value in given units.
Implements IUnitConverter.
Definition at line 50 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), UnitConverter1D::coordinateAxis(), UnitConverter1D::getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverter1D::createConvertedAxis().
|
protectedinherited |
Definition at line 46 of file IUnitConverter.cpp.
References IUnitConverter::dimension().
Referenced by axisSize(), UnitConverterQSpec::axisSize(), UnitConverterSimple::axisSize(), UnitConverter1D::calculateMax(), UnitConverterSimple::calculateMax(), UnitConverter1D::calculateMin(), UnitConverterSimple::calculateMin(), and UnitConverter1D::createConvertedAxis().
|
overridevirtual |
Implements UnitConverter1D.
Definition at line 118 of file UnitConverter1D.cpp.
References UnitConverterConvSpec().
|
inlineoverrideprotectedvirtual |
|
overridevirtualinherited |
Creates axis in converted units.
Implements IUnitConverter.
Definition at line 71 of file UnitConverter1D.cpp.
References IUnitConverter::axisName(), UnitConverter1D::calculateMax(), UnitConverter1D::calculateMin(), IUnitConverter::checkIndex(), UnitConverter1D::coordinateAxis(), UnitConverter1D::getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverter1D::createConvertedData().
|
overridevirtualinherited |
Creates OutputData array in converter units.
Reimplemented from IUnitConverter.
Definition at line 82 of file UnitConverter1D.cpp.
References UnitConverter1D::createConvertedAxis(), OutputData< T >::getRawDataVector(), and OutputData< T >::rank().
|
overrideprotectedvirtual |
Creates name map for axis in various units.
Implements IUnitConverter.
Definition at line 145 of file UnitConverter1D.cpp.
References AxisNames::InitSpecAxis().
|
staticinherited |
Factory function to create unit converter for particular type of specular data.
Definition at line 34 of file UnitConverter1D.cpp.
Referenced by UnitConverterUtils::createConverter(), and SpecularSimulation::result().
|
overridevirtual |
Returns default units to convert to.
Implements IUnitConverter.
Definition at line 135 of file UnitConverter1D.cpp.
|
overridevirtualinherited |
Returns dimensionality of converted canvas.
Implements IUnitConverter.
Definition at line 45 of file UnitConverter1D.cpp.
|
protected |
Returns translating functional (input units --> rads)
Definition at line 152 of file UnitConverter1D.cpp.
References Units::deg2rad(), m_wavelength, and IUnitConverter::throwUnitsError().
Referenced by UnitConverterConvSpec().
|
overrideprotectedvirtual |
Returns translating functional (rads --> desired units)
Implements UnitConverter1D.
Definition at line 167 of file UnitConverter1D.cpp.
References availableUnits(), m_wavelength, Units::rad2deg(), and IUnitConverter::throwUnitsError().
|
inherited |
Definition at line 65 of file IUnitConverter.cpp.
References IUnitConverter::defaultUnits().
Referenced by IUnitConverter::axisName(), UnitConverter1D::calculateMax(), UnitConverterSimple::calculateMax(), UnitConverter1D::calculateMin(), UnitConverterSimple::calculateMin(), and UnitConverter1D::createConvertedAxis().
|
protectedinherited |
Definition at line 54 of file IUnitConverter.cpp.
References axisUnitLabel.
Referenced by IUnitConverter::axisName(), SphericalConverter::calculateValue(), RectangularConverter::calculateValue(), OffSpecularConverter::calculateValue(), DepthProbeConverter::checkUnits(), getTraslatorFrom(), getTraslatorTo(), and UnitConverterQSpec::getTraslatorTo().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
protected |
basic inclination angles (in rads).
Definition at line 101 of file UnitConverter1D.h.
Referenced by UnitConverterConvSpec(), axisSize(), and coordinateAxis().
|
protected |
basic wavelength in nm (for translation to q-space).
Definition at line 100 of file UnitConverter1D.h.
Referenced by getTraslatorFrom(), and getTraslatorTo().