BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
DepthProbeConverter class handles the unit translations for depth probe simulations Its default units are radians for x-axis and nm for y-axis. More...
Public Member Functions | |
DepthProbeConverter (const Beam &beam, const IAxis &alpha_axis, const IAxis &z_axis) | |
~DepthProbeConverter () 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 |
double | calculateMax (size_t i_axis, Axes::Units units_type) const override |
double | calculateMin (size_t i_axis, Axes::Units units_type) const override |
DepthProbeConverter * | clone () const override |
std::unique_ptr< IAxis > | createConvertedAxis (size_t i_axis, Axes::Units units) const override |
virtual std::unique_ptr< OutputData< double > > | createConvertedData (const OutputData< double > &data, Axes::Units units) const |
Creates OutputData array in converter units. More... | |
Axes::Units | defaultUnits () const override |
virtual size_t | dimension () const override |
Axes::Units | substituteDefaultUnits (Axes::Units units) const |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Protected Member Functions | |
void | addAxisData (std::string name, double min, double max, Axes::Units default_units, size_t nbins) |
void | addDetectorAxis (const IDetector &detector, size_t i_axis) |
void | checkIndex (size_t i_axis) const |
void | throwUnitsError (std::string method, std::vector< Axes::Units > available) const |
Protected Attributes | |
double | m_alpha_i |
std::vector< AxisData > | m_axis_data_table |
double | m_phi_i |
double | m_wavelength |
Private Member Functions | |
DepthProbeConverter (const DepthProbeConverter &other) | |
double | calculateValue (size_t, Axes::Units units_type, double value) const override |
void | checkUnits (Axes::Units units_type) const |
std::vector< std::map< Axes::Units, std::string > > | createNameMaps () const override |
DepthProbeConverter class handles the unit translations for depth probe simulations Its default units are radians for x-axis and nm for y-axis.
Definition at line 149 of file SimpleUnitConverters.h.
DepthProbeConverter::DepthProbeConverter | ( | const Beam & | beam, |
const IAxis & | alpha_axis, | ||
const IAxis & | z_axis | ||
) |
Definition at line 406 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::addAxisData(), IUnitConverter::axisName(), defaultUnits(), IAxis::lowerBound(), IAxis::size(), IAxis::upperBound(), and z_axis_name.
Referenced by clone().
|
overridedefault |
|
private |
Definition at line 432 of file SimpleUnitConverters.cpp.
|
protectedinherited |
Definition at line 51 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::m_axis_data_table, and RealSpace::Particles::name().
Referenced by DepthProbeConverter(), OffSpecularConverter::OffSpecularConverter(), UnitConverterSimple::addDetectorAxis(), and OffSpecularConverter::addDetectorYAxis().
|
protectedinherited |
Definition at line 107 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::addAxisData(), IDetector::axis(), IUnitConverter::axisName(), IUnitConverter::defaultUnits(), and IDetector::regionOfInterest().
Referenced by RectangularConverter::RectangularConverter(), and SphericalConverter::SphericalConverter().
|
overridevirtual |
Returns the list of all available units.
Reimplemented from UnitConverterSimple.
Definition at line 425 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::availableUnits().
Referenced by checkUnits().
|
inherited |
Definition at line 20 of file IUnitConverter.cpp.
References IUnitConverter::availableUnits(), IUnitConverter::createNameMaps(), IUnitConverter::substituteDefaultUnits(), and IUnitConverter::throwUnitsError().
Referenced by DepthProbeConverter(), OffSpecularConverter::OffSpecularConverter(), UnitConverterConvSpec::UnitConverterConvSpec(), UnitConverterSimple::addDetectorAxis(), OffSpecularConverter::addDetectorYAxis(), UnitConverter1D::createConvertedAxis(), and UnitConverterSimple::createConvertedAxis().
|
overridevirtualinherited |
Implements IUnitConverter.
Definition at line 78 of file SimpleUnitConverters.cpp.
References IUnitConverter::checkIndex(), and UnitConverterSimple::m_axis_data_table.
Referenced by UnitConverterSimple::createConvertedAxis().
|
overridevirtualinherited |
Implements IUnitConverter.
Definition at line 68 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::calculateValue(), IUnitConverter::checkIndex(), UnitConverterSimple::m_axis_data_table, and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverterSimple::createConvertedAxis().
|
overridevirtualinherited |
Implements IUnitConverter.
Definition at line 58 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::calculateValue(), IUnitConverter::checkIndex(), UnitConverterSimple::m_axis_data_table, and IUnitConverter::substituteDefaultUnits().
Referenced by UnitConverterSimple::createConvertedAxis().
|
overrideprivatevirtual |
Implements UnitConverterSimple.
Definition at line 437 of file SimpleUnitConverters.cpp.
References checkUnits(), UnitConverterSimple::m_wavelength, and Units::rad2deg().
|
protectedinherited |
Definition at line 46 of file IUnitConverter.cpp.
References IUnitConverter::dimension().
Referenced by UnitConverterConvSpec::axisSize(), UnitConverterQSpec::axisSize(), UnitConverterSimple::axisSize(), UnitConverter1D::calculateMax(), UnitConverterSimple::calculateMax(), UnitConverter1D::calculateMin(), UnitConverterSimple::calculateMin(), and UnitConverter1D::createConvertedAxis().
|
private |
Definition at line 461 of file SimpleUnitConverters.cpp.
References availableUnits(), and IUnitConverter::throwUnitsError().
Referenced by calculateValue().
|
overridevirtual |
Implements IUnitConverter.
Definition at line 420 of file SimpleUnitConverters.cpp.
References DepthProbeConverter().
|
overridevirtualinherited |
Implements IUnitConverter.
Definition at line 89 of file SimpleUnitConverters.cpp.
References IUnitConverter::axisName(), UnitConverterSimple::axisSize(), UnitConverterSimple::calculateMax(), and UnitConverterSimple::calculateMin().
|
virtualinherited |
Creates OutputData array in converter units.
Reimplemented in UnitConverter1D.
Definition at line 36 of file IUnitConverter.cpp.
References IUnitConverter::createConvertedAxis(), OutputData< T >::getRawDataVector(), and OutputData< T >::rank().
|
overrideprivatevirtual |
Implements IUnitConverter.
Definition at line 453 of file SimpleUnitConverters.cpp.
References AxisNames::InitSampleDepthAxis(), and AxisNames::InitSpecAxis().
|
inlineoverridevirtual |
Implements IUnitConverter.
Definition at line 159 of file SimpleUnitConverters.h.
Referenced by DepthProbeConverter().
|
overridevirtualinherited |
Implements IUnitConverter.
Definition at line 46 of file SimpleUnitConverters.cpp.
References UnitConverterSimple::m_axis_data_table.
|
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(), 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.
|
protectedinherited |
Definition at line 69 of file SimpleUnitConverters.h.
Referenced by SphericalConverter::calculateValue(), and RectangularConverter::calculateValue().
|
protectedinherited |
Definition at line 66 of file SimpleUnitConverters.h.
Referenced by UnitConverterSimple::addAxisData(), UnitConverterSimple::axisSize(), UnitConverterSimple::calculateMax(), UnitConverterSimple::calculateMin(), RectangularConverter::calculateValue(), and UnitConverterSimple::dimension().
|
protectedinherited |
Definition at line 70 of file SimpleUnitConverters.h.
Referenced by SphericalConverter::calculateValue(), and RectangularConverter::calculateValue().
|
protectedinherited |
Definition at line 68 of file SimpleUnitConverters.h.
Referenced by SphericalConverter::calculateValue(), RectangularConverter::calculateValue(), calculateValue(), and RectangularConverter::normalizeToWavelength().