BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Conversion of axis units for the case of 1D simulation result. More...
Public Member Functions | |
~UnitConverter1D () override=default | |
virtual std::vector< Axes::Units > | availableUnits () const =0 |
std::string | axisName (size_t i_axis, Axes::Units units_type=Axes::Units::DEFAULT) const |
virtual size_t | axisSize (size_t i_axis) const =0 |
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... | |
UnitConverter1D * | clone () const override=0 |
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... | |
virtual Axes::Units | defaultUnits () const =0 |
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 | |
void | checkIndex (size_t i_axis) const |
virtual const IAxis * | coordinateAxis () const =0 |
virtual std::function< double(double)> | getTraslatorTo (Axes::Units units_type) const =0 |
Returns translating functional (rads --> output units) More... | |
void | throwUnitsError (std::string method, std::vector< Axes::Units > available) const |
Private Member Functions | |
virtual std::vector< std::map< Axes::Units, std::string > > | createNameMaps () const =0 |
Conversion of axis units for the case of 1D simulation result.
Definition at line 34 of file UnitConverter1D.h.
|
overridedefault |
|
pure virtualinherited |
Implemented in DepthProbeConverter, RectangularConverter, SphericalConverter, UnitConverterSimple, UnitConverterQSpec, and UnitConverterConvSpec.
Referenced by JobItemUtils::availableUnits(), and IUnitConverter::axisName().
|
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::UnitConverterConvSpec(), UnitConverterSimple::addDetectorAxis(), OffSpecularConverter::addDetectorYAxis(), createConvertedAxis(), and UnitConverterSimple::createConvertedAxis().
|
pure virtualinherited |
Implemented in UnitConverterSimple, UnitConverterQSpec, and UnitConverterConvSpec.
|
overridevirtual |
Calculates maximum on-axis value in given units.
Implements IUnitConverter.
Definition at line 60 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), coordinateAxis(), getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by createConvertedAxis().
|
overridevirtual |
Calculates minimum on-axis value in given units.
Implements IUnitConverter.
Definition at line 50 of file UnitConverter1D.cpp.
References IUnitConverter::checkIndex(), coordinateAxis(), getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by createConvertedAxis().
|
protectedinherited |
Definition at line 46 of file IUnitConverter.cpp.
References IUnitConverter::dimension().
Referenced by UnitConverterConvSpec::axisSize(), UnitConverterQSpec::axisSize(), UnitConverterSimple::axisSize(), calculateMax(), UnitConverterSimple::calculateMax(), calculateMin(), UnitConverterSimple::calculateMin(), and createConvertedAxis().
|
overridepure virtual |
Implements IUnitConverter.
Implemented in UnitConverterQSpec, and UnitConverterConvSpec.
|
protectedpure virtual |
Implemented in UnitConverterQSpec, and UnitConverterConvSpec.
Referenced by calculateMax(), calculateMin(), and createConvertedAxis().
|
overridevirtual |
Creates axis in converted units.
Implements IUnitConverter.
Definition at line 71 of file UnitConverter1D.cpp.
References IUnitConverter::axisName(), calculateMax(), calculateMin(), IUnitConverter::checkIndex(), coordinateAxis(), getTraslatorTo(), and IUnitConverter::substituteDefaultUnits().
Referenced by createConvertedData().
|
overridevirtual |
Creates OutputData array in converter units.
Reimplemented from IUnitConverter.
Definition at line 82 of file UnitConverter1D.cpp.
References createConvertedAxis(), OutputData< T >::getRawDataVector(), and OutputData< T >::rank().
|
privatepure virtualinherited |
Implemented in DepthProbeConverter, OffSpecularConverter, RectangularConverter, SphericalConverter, UnitConverterQSpec, and UnitConverterConvSpec.
Referenced by IUnitConverter::axisName().
|
static |
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().
|
pure virtualinherited |
Implemented in DepthProbeConverter, OffSpecularConverter, RectangularConverter, SphericalConverter, UnitConverterQSpec, and UnitConverterConvSpec.
Referenced by UnitConverterSimple::addDetectorAxis(), JobItemUtils::availableUnits(), SimDataPair::initResultArrays(), and IUnitConverter::substituteDefaultUnits().
|
overridevirtual |
Returns dimensionality of converted canvas.
Implements IUnitConverter.
Definition at line 45 of file UnitConverter1D.cpp.
|
protectedpure virtual |
Returns translating functional (rads --> output units)
Implemented in UnitConverterQSpec, and UnitConverterConvSpec.
Referenced by calculateMax(), calculateMin(), and createConvertedAxis().
|
inherited |
Definition at line 65 of file IUnitConverter.cpp.
References IUnitConverter::defaultUnits().
Referenced by IUnitConverter::axisName(), calculateMax(), UnitConverterSimple::calculateMax(), calculateMin(), UnitConverterSimple::calculateMin(), and createConvertedAxis().
|
protectedinherited |
Definition at line 54 of file IUnitConverter.cpp.
References axisUnitLabel.
Referenced by IUnitConverter::axisName(), SphericalConverter::calculateValue(), RectangularConverter::calculateValue(), OffSpecularConverter::calculateValue(), DepthProbeConverter::checkUnits(), UnitConverterConvSpec::getTraslatorFrom(), UnitConverterConvSpec::getTraslatorTo(), and UnitConverterQSpec::getTraslatorTo().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.