BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
ICoordSystem class that handles the unit translations for off-specular simulations with a spherical detector Its default units are radians for both axes.
Definition at line 115 of file CoordSystem2D.h.
Public Member Functions | |
OffspecCoordinates (const OwningVector< IAxis > &axes, const Direction &direction) | |
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 |
OffspecCoordinates * | 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 | |
OffspecCoordinates (const OffspecCoordinates &other) | |
used by clone() More... | |
double | calculateValue (size_t i_axis, Coords units, double value) const override |
std::vector< std::map< Coords, std::string > > | createNameMaps () const override |
OffspecCoordinates::OffspecCoordinates | ( | const OwningVector< IAxis > & | axes, |
const Direction & | direction | ||
) |
Definition at line 264 of file CoordSystem2D.cpp.
Referenced by clone().
|
private |
used by clone()
Definition at line 269 of file CoordSystem2D.cpp.
|
protectedinherited |
Definition at line 70 of file CoordSystem2D.cpp.
References OwningVector< T >::emplace_back(), and CoordSystem2D::m_axes.
|
overridevirtualinherited |
Returns list of units that are available for all 2D detectors. Further units may be added by child classes.
Implements ICoordSystem.
Reimplemented in DepthProbeCoordinates, ImageCoords, and SphericalCoords.
Definition at line 99 of file CoordSystem2D.cpp.
References DEGREES, NBINS, and RADIANS.
Referenced by SphericalCoords::availableUnits(), ImageCoords::availableUnits(), and DepthProbeCoordinates::availableUnits().
|
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 279 of file CoordSystem2D.cpp.
References ASSERT, DEGREES, Units::rad2deg(), and RADIANS.
|
overridevirtual |
Implements ICoordSystem.
Definition at line 274 of file CoordSystem2D.cpp.
References OffspecCoordinates().
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 291 of file CoordSystem2D.cpp.
References DataUtils::AxisNames::offspecAxis0, and DataUtils::AxisNames::offspecAxis1.
|
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 DepthProbeCoordinates::calculateValue().