BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
DepthProbeCoordinates 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 133 of file CoordSystem2D.h.
Public Member Functions | |
DepthProbeCoordinates (const OwningVector< IAxis > &axes, const Direction &direction, double wavelength) | |
~DepthProbeCoordinates () override | |
std::vector< Coords > | availableUnits () const override |
Returns list of units that are available for all 2D detectors. Further units may be added by child classes. More... | |
std::string | axisName (size_t i_axis, Coords units=Coords::UNDEFINED) const |
size_t | axisSize (size_t i_axis) const override |
double | calculateMax (size_t i_axis, Coords units) const override |
double | calculateMin (size_t i_axis, Coords units) const override |
DepthProbeCoordinates * | clone () const override |
std::vector< IAxis * > | convertedAxes (Coords units) const |
IAxis * | createConvertedAxis (size_t i_axis, Coords units) const override |
virtual Datafield * | createConvertedData (const Datafield &data, Coords units) const |
Creates Datafield array in converter units. More... | |
std::vector< IAxis * > | defaultAxes () const |
Coords | defaultUnits () const override |
size_t | rank () const override |
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, size_t nbins) |
Coords | substituteDefaultUnits (Coords units) const |
void | throwUnitsError (std::string method, std::vector< Coords > available) const |
Protected Attributes | |
double | m_alpha_i |
OwningVector< IAxis > | m_axes |
double | m_phi_i |
double | m_wavelength |
Private Member Functions | |
DepthProbeCoordinates (const DepthProbeCoordinates &other) | |
used by clone() More... | |
double | calculateValue (size_t, Coords units, double value) const override |
std::vector< std::map< Coords, std::string > > | createNameMaps () const override |
DepthProbeCoordinates::DepthProbeCoordinates | ( | const OwningVector< IAxis > & | axes, |
const Direction & | direction, | ||
double | wavelength | ||
) |
Definition at line 302 of file CoordSystem2D.cpp.
Referenced by clone().
|
overridedefault |
|
private |
used by clone()
Definition at line 308 of file CoordSystem2D.cpp.
|
protectedinherited |
Definition at line 70 of file CoordSystem2D.cpp.
References OwningVector< T >::emplace_back(), and CoordSystem2D::m_axes.
|
overridevirtual |
Returns list of units that are available for all 2D detectors. Further units may be added by child classes.
Reimplemented from CoordSystem2D.
Definition at line 320 of file CoordSystem2D.cpp.
References CoordSystem2D::availableUnits(), and QSPACE.
Referenced by calculateValue().
|
inherited |
Definition at line 36 of file ICoordSystem.cpp.
References ASSERT, ICoordSystem::createNameMaps(), ICoordSystem::defaultUnits(), and UNDEFINED.
Referenced by CoordSystem1D::createConvertedAxis(), and CoordSystem2D::createConvertedAxis().
|
overridevirtualinherited |
Implements ICoordSystem.
Definition at line 93 of file CoordSystem2D.cpp.
References ASSERT, CoordSystem2D::m_axes, CoordSystem2D::rank(), and OwningVector< T >::size().
Referenced by CoordSystem2D::createConvertedAxis().
|
overridevirtualinherited |
Implements ICoordSystem.
Definition at line 84 of file CoordSystem2D.cpp.
References ASSERT, CoordSystem2D::calculateValue(), CoordSystem2D::m_axes, NBINS, CoordSystem2D::rank(), OwningVector< T >::size(), and ICoordSystem::substituteDefaultUnits().
Referenced by CoordSystem2D::createConvertedAxis().
|
overridevirtualinherited |
Implements ICoordSystem.
Definition at line 75 of file CoordSystem2D.cpp.
References ASSERT, CoordSystem2D::calculateValue(), CoordSystem2D::m_axes, NBINS, CoordSystem2D::rank(), and ICoordSystem::substituteDefaultUnits().
Referenced by CoordSystem2D::createConvertedAxis().
|
overrideprivatevirtual |
Implements CoordSystem2D.
Definition at line 327 of file CoordSystem2D.cpp.
References ASSERT, availableUnits(), DEGREES, CoordSystem2D::m_wavelength, QSPACE, and Units::rad2deg().
|
overridevirtual |
Implements ICoordSystem.
Definition at line 315 of file CoordSystem2D.cpp.
References DepthProbeCoordinates().
Definition at line 28 of file ICoordSystem.cpp.
References ICoordSystem::createConvertedAxis(), and ICoordSystem::rank().
Referenced by ICoordSystem::defaultAxes().
|
overridevirtualinherited |
Implements ICoordSystem.
Definition at line 104 of file CoordSystem2D.cpp.
References ICoordSystem::axisName(), CoordSystem2D::axisSize(), CoordSystem2D::calculateMax(), and CoordSystem2D::calculateMin().
|
virtualinherited |
Creates Datafield array in converter units.
Reimplemented in CoordSystem1D.
Definition at line 46 of file ICoordSystem.cpp.
References ICoordSystem::createConvertedAxis(), Datafield::flatVector(), ICoordSystem::rank(), and Datafield::setVector().
|
overrideprivatevirtual |
Implements ICoordSystem.
Definition at line 345 of file CoordSystem2D.cpp.
References DataUtils::AxisNames::sampleDepthAxis, and DataUtils::AxisNames::specAxis.
|
inherited |
Definition at line 23 of file ICoordSystem.cpp.
References ICoordSystem::convertedAxes(), and ICoordSystem::defaultUnits().
Referenced by SimDataPair::execSimulation().
|
inlineoverridevirtual |
|
inlineoverridevirtualinherited |
Implements ICoordSystem.
Definition at line 39 of file CoordSystem2D.h.
References CoordSystem2D::m_axes, and OwningVector< T >::size().
Referenced by CoordSystem2D::axisSize(), CoordSystem2D::calculateMax(), and CoordSystem2D::calculateMin().
Definition at line 69 of file ICoordSystem.cpp.
References ICoordSystem::defaultUnits(), and UNDEFINED.
Referenced by CoordSystem1D::calculateMax(), CoordSystem2D::calculateMax(), CoordSystem1D::calculateMin(), CoordSystem2D::calculateMin(), and CoordSystem1D::createConvertedAxis().
|
protectedinherited |
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
protectedinherited |
Definition at line 58 of file CoordSystem2D.h.
Referenced by SphericalCoords::calculateValue(), and ImageCoords::calculateValue().
|
protectedinherited |
Definition at line 56 of file CoordSystem2D.h.
Referenced by CoordSystem2D::addAxisData(), CoordSystem2D::axisSize(), CoordSystem2D::calculateMax(), CoordSystem2D::calculateMin(), ImageCoords::calculateValue(), and CoordSystem2D::rank().
|
protectedinherited |
Definition at line 59 of file CoordSystem2D.h.
Referenced by SphericalCoords::calculateValue(), and ImageCoords::calculateValue().
|
protectedinherited |
Definition at line 57 of file CoordSystem2D.h.
Referenced by SphericalCoords::calculateValue(), ImageCoords::calculateValue(), and calculateValue().