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 spherical detectors Its default units are radians for both axes.
Definition at line 69 of file CoordSystem2D.h.
Public Member Functions | |
SphericalCoords (const OwningVector< IAxis > &axes, const Direction &direction, double wavelength) | |
~SphericalCoords () 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 |
SphericalCoords * | 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 | |
SphericalCoords (const SphericalCoords &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 |
SphericalCoords::SphericalCoords | ( | const OwningVector< IAxis > & | axes, |
const Direction & | direction, | ||
double | wavelength | ||
) |
Definition at line 117 of file CoordSystem2D.cpp.
References ASSERT, and OwningVector< T >::size().
Referenced by clone().
|
overridedefault |
|
private |
used by clone()
Definition at line 124 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 136 of file CoordSystem2D.cpp.
References CoordSystem2D::availableUnits(), and QSPACE.
|
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 143 of file CoordSystem2D.cpp.
References ASSERT, DEGREES, CoordSystem2D::m_alpha_i, CoordSystem2D::m_phi_i, CoordSystem2D::m_wavelength, QSPACE, QXQY, Units::rad2deg(), RADIANS, and vecOfLambdaAlphaPhi().
|
overridevirtual |
Implements ICoordSystem.
Definition at line 131 of file CoordSystem2D.cpp.
References SphericalCoords().
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 179 of file CoordSystem2D.cpp.
References DataUtils::AxisNames::sphericalAxis0, and DataUtils::AxisNames::sphericalAxis1.
|
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 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 calculateValue(), and ImageCoords::calculateValue().
|
protectedinherited |
Definition at line 57 of file CoordSystem2D.h.
Referenced by calculateValue(), ImageCoords::calculateValue(), and DepthProbeCoordinates::calculateValue().