BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
UnitConverterConvSpec (const Beam &beam, const IAxis &axis, Axes::Units axis_units=Axes::Units::RADIANS) | |
UnitConverterConvSpec (const AngularSpecScan &handler) | |
~UnitConverterConvSpec () override | |
UnitConverterConvSpec * | clone () const override |
size_t | axisSize (size_t i_axis) const override |
std::vector< Axes::Units > | availableUnits () const override |
Axes::Units | defaultUnits () const override |
size_t | dimension () const override |
double | calculateMin (size_t i_axis, Axes::Units units_type) const override |
double | calculateMax (size_t i_axis, Axes::Units units_type) const override |
std::unique_ptr< IAxis > | createConvertedAxis (size_t i_axis, Axes::Units units) const override |
std::unique_ptr< OutputData< double > > | createConvertedData (const OutputData< double > &data, Axes::Units units) const override |
std::string | axisName (size_t i_axis, Axes::Units units_type=Axes::Units::DEFAULT) const |
Axes::Units | substituteDefaultUnits (Axes::Units units) const |
virtual void | transferToCPP () |
Static Public Member Functions | |
static std::unique_ptr< UnitConverter1D > | createUnitConverter (const ISpecularScan &handler) |
Protected Member Functions | |
UnitConverterConvSpec (const UnitConverterConvSpec &other) | |
std::vector< std::map< Axes::Units, std::string > > | createNameMaps () const override |
std::function< double(double)> | getTraslatorFrom (Axes::Units units_type) const |
std::function< double(double)> | getTraslatorTo (Axes::Units units_type) const override |
const IAxis * | coordinateAxis () const override |
void | checkIndex (size_t i_axis) const |
void | throwUnitsError (std::string method, std::vector< Axes::Units > available) const |
Protected Attributes | |
double | m_wavelength |
std::unique_ptr< IAxis > | m_axis |
Conversion of axis units for the case of conventional (angle-based) reflectometry.
Definition at line 63 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 103 of file UnitConverter1D.cpp.
References IUnitConverter::axisName(), anonymous_namespace{UnitConverter1D.cpp}::createTranslatedAxis(), getTraslatorFrom(), m_axis, and M_PI_2.
Referenced by clone().
UnitConverterConvSpec::UnitConverterConvSpec | ( | const AngularSpecScan & | handler | ) |
Definition at line 112 of file UnitConverter1D.cpp.
|
overridedefault |
|
protected |
Definition at line 141 of file UnitConverter1D.cpp.
|
overridevirtual |
Implements UnitConverter1D.
Definition at line 119 of file UnitConverter1D.cpp.
References UnitConverterConvSpec().
|
overridevirtual |
Returns the size of underlying axis.
Implements IUnitConverter.
Definition at line 124 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), and m_axis.
|
overridevirtual |
Returns the list of all available units.
Implements IUnitConverter.
Definition at line 130 of file UnitConverter1D.cpp.
Referenced by getTraslatorTo().
|
overridevirtual |
Returns default units to convert to.
Implements IUnitConverter.
Definition at line 136 of file UnitConverter1D.cpp.
|
overrideprotectedvirtual |
Creates name map for axis in various units.
Implements IUnitConverter.
Definition at line 146 of file UnitConverter1D.cpp.
References AxisNames::InitSpecAxis().
|
protected |
Returns translating functional (input units --> rads)
Definition at line 153 of file UnitConverter1D.cpp.
References Units::deg2rad(), anonymous_namespace{UnitConverter1D.cpp}::getInvQ(), m_wavelength, and IUnitConverter::throwUnitsError().
Referenced by UnitConverterConvSpec().
|
overrideprotectedvirtual |
Returns translating functional (rads --> desired units)
Implements UnitConverter1D.
Definition at line 168 of file UnitConverter1D.cpp.
References availableUnits(), anonymous_namespace{UnitConverter1D.cpp}::getQ(), m_wavelength, Units::rad2deg(), and IUnitConverter::throwUnitsError().
|
inlineoverrideprotectedvirtual |
|
staticinherited |
Factory function to create unit converter for particular type of specular data.
Definition at line 35 of file UnitConverter1D.cpp.
Referenced by UnitConverterUtils::createConverter(), and SpecularSimulation::result().
|
overridevirtualinherited |
Returns dimensionality of converted canvas.
Implements IUnitConverter.
Definition at line 46 of file UnitConverter1D.cpp.
|
overridevirtualinherited |
Calculates minimum on-axis value in given units.
Implements IUnitConverter.
Definition at line 51 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), UnitConverter1D::coordinateAxis(), UnitConverter1D::getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverter1D::createConvertedAxis().
|
overridevirtualinherited |
Calculates maximum on-axis value in given units.
Implements IUnitConverter.
Definition at line 61 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), UnitConverter1D::coordinateAxis(), UnitConverter1D::getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverter1D::createConvertedAxis().
|
overridevirtualinherited |
Creates axis in converted units.
Implements IUnitConverter.
Definition at line 72 of file UnitConverter1D.cpp.
References IUnitConverter::axisName(), UnitConverter1D::calculateMax(), UnitConverter1D::calculateMin(), IUnitConverter::checkIndex(), UnitConverter1D::coordinateAxis(), anonymous_namespace{UnitConverter1D.cpp}::createTranslatedAxis(), UnitConverter1D::getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverter1D::createConvertedData().
|
overridevirtualinherited |
Creates OutputData array in converter units.
Reimplemented from IUnitConverter.
Definition at line 83 of file UnitConverter1D.cpp.
References UnitConverter1D::createConvertedAxis(), OutputData< T >::getRank(), and OutputData< T >::getRawDataVector().
|
inherited |
Definition at line 20 of file IUnitConverter.cpp.
References IUnitConverter::availableUnits(), IUnitConverter::createNameMaps(), IUnitConverter::substituteDefaultUnits(), and IUnitConverter::throwUnitsError().
Referenced by UnitConverterSimple::addDetectorAxis(), OffSpecularConverter::addDetectorYAxis(), UnitConverterSimple::createConvertedAxis(), UnitConverter1D::createConvertedAxis(), DepthProbeConverter::DepthProbeConverter(), OffSpecularConverter::OffSpecularConverter(), and UnitConverterConvSpec().
|
inherited |
Definition at line 65 of file IUnitConverter.cpp.
References IUnitConverter::defaultUnits().
Referenced by IUnitConverter::axisName(), UnitConverterSimple::calculateMax(), UnitConverter1D::calculateMax(), UnitConverterSimple::calculateMin(), UnitConverter1D::calculateMin(), and UnitConverter1D::createConvertedAxis().
|
protectedinherited |
Definition at line 46 of file IUnitConverter.cpp.
References IUnitConverter::dimension().
Referenced by UnitConverterSimple::axisSize(), axisSize(), UnitConverterQSpec::axisSize(), UnitConverterSimple::calculateMax(), UnitConverter1D::calculateMax(), UnitConverterSimple::calculateMin(), UnitConverter1D::calculateMin(), and UnitConverter1D::createConvertedAxis().
|
protectedinherited |
Definition at line 54 of file IUnitConverter.cpp.
References axisUnitName.
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 wavelength in nm (for translation to q-space).
Definition at line 97 of file UnitConverter1D.h.
Referenced by getTraslatorFrom(), and getTraslatorTo().
|
protected |
basic inclination angles (in rads).
Definition at line 98 of file UnitConverter1D.h.
Referenced by axisSize(), coordinateAxis(), and UnitConverterConvSpec().