BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Interface for objects that provide axis translations to different units for IDetector objects.
Definition at line 32 of file CoordSystem2D.h.
Public Member Functions | |
CoordSystem2D (const Direction &direction, double wavelength=0) | |
CoordSystem2D (const OwningVector< IAxis > &axes, const Direction &direction, double wavelength=0) | |
~CoordSystem2D () override=default | |
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 |
ICoordSystem * | clone () const override=0 |
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 |
virtual Coords | defaultUnits () const =0 |
size_t | rank () const override |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Protected Member Functions | |
CoordSystem2D (const CoordSystem2D &other) | |
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 | |
virtual double | calculateValue (size_t i_axis, Coords units, double value) const =0 |
virtual std::vector< std::map< Coords, std::string > > | createNameMaps () const =0 |
CoordSystem2D::CoordSystem2D | ( | const Direction & | direction, |
double | wavelength = 0 |
||
) |
Definition at line 48 of file CoordSystem2D.cpp.
CoordSystem2D::CoordSystem2D | ( | const OwningVector< IAxis > & | axes, |
const Direction & | direction, | ||
double | wavelength = 0 |
||
) |
Definition at line 53 of file CoordSystem2D.cpp.
|
overridedefault |
|
protected |
Definition at line 62 of file CoordSystem2D.cpp.
|
protected |
Definition at line 70 of file CoordSystem2D.cpp.
References OwningVector< T >::emplace_back(), and m_axes.
|
overridevirtual |
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 createConvertedAxis().
|
overridevirtual |
Implements ICoordSystem.
Definition at line 93 of file CoordSystem2D.cpp.
References ASSERT, m_axes, rank(), and OwningVector< T >::size().
Referenced by createConvertedAxis().
|
overridevirtual |
Implements ICoordSystem.
Definition at line 84 of file CoordSystem2D.cpp.
References ASSERT, calculateValue(), m_axes, NBINS, rank(), OwningVector< T >::size(), and ICoordSystem::substituteDefaultUnits().
Referenced by createConvertedAxis().
|
overridevirtual |
Implements ICoordSystem.
Definition at line 75 of file CoordSystem2D.cpp.
References ASSERT, calculateValue(), m_axes, NBINS, rank(), and ICoordSystem::substituteDefaultUnits().
Referenced by createConvertedAxis().
|
privatepure virtual |
Implemented in DepthProbeCoordinates, OffspecCoordinates, ImageCoords, and SphericalCoords.
Referenced by calculateMax(), and calculateMin().
|
overridepure virtualinherited |
Implements ICloneable.
Implemented in CoordSystem1D, DepthProbeCoordinates, OffspecCoordinates, ImageCoords, SphericalCoords, WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Definition at line 28 of file ICoordSystem.cpp.
References ICoordSystem::createConvertedAxis(), and ICoordSystem::rank().
Referenced by ICoordSystem::defaultAxes().
Implements ICoordSystem.
Definition at line 104 of file CoordSystem2D.cpp.
References ICoordSystem::axisName(), axisSize(), calculateMax(), and 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().
|
privatepure virtualinherited |
Implemented in DepthProbeCoordinates, OffspecCoordinates, ImageCoords, SphericalCoords, WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Referenced by ICoordSystem::axisName().
|
inherited |
Definition at line 23 of file ICoordSystem.cpp.
References ICoordSystem::convertedAxes(), and ICoordSystem::defaultUnits().
Referenced by SimDataPair::execSimulation().
|
pure virtualinherited |
|
inlineoverridevirtual |
Implements ICoordSystem.
Definition at line 39 of file CoordSystem2D.h.
References m_axes, and OwningVector< T >::size().
Referenced by axisSize(), calculateMax(), and calculateMin().
Definition at line 69 of file ICoordSystem.cpp.
References ICoordSystem::defaultUnits(), and UNDEFINED.
Referenced by CoordSystem1D::calculateMax(), calculateMax(), CoordSystem1D::calculateMin(), calculateMin(), and CoordSystem1D::createConvertedAxis().
|
protectedinherited |
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
protected |
Definition at line 58 of file CoordSystem2D.h.
Referenced by SphericalCoords::calculateValue(), and ImageCoords::calculateValue().
|
protected |
Definition at line 56 of file CoordSystem2D.h.
Referenced by addAxisData(), axisSize(), calculateMax(), calculateMin(), ImageCoords::calculateValue(), and rank().
|
protected |
Definition at line 59 of file CoordSystem2D.h.
Referenced by SphericalCoords::calculateValue(), and ImageCoords::calculateValue().
|
protected |
Definition at line 57 of file CoordSystem2D.h.
Referenced by SphericalCoords::calculateValue(), ImageCoords::calculateValue(), and DepthProbeCoordinates::calculateValue().