BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Interface to provide axis translations to different units for simulation output.
Child classes are currently declared in
Definition at line 40 of file ICoordSystem.h.
Public Member Functions | |
~ICoordSystem () override | |
virtual std::vector< Coords > | availableUnits () const =0 |
std::string | axisName (size_t i_axis, Coords units=Coords::UNDEFINED) const |
virtual size_t | axisSize (size_t i_axis) const =0 |
virtual double | calculateMax (size_t i_axis, Coords units) const =0 |
virtual double | calculateMin (size_t i_axis, Coords units) const =0 |
ICoordSystem * | clone () const override=0 |
std::vector< IAxis * > | convertedAxes (Coords units) const |
virtual IAxis * | createConvertedAxis (size_t i_axis, Coords units) const =0 |
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 |
virtual size_t | rank () const =0 |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Protected Member Functions | |
Coords | substituteDefaultUnits (Coords units) const |
void | throwUnitsError (std::string method, std::vector< Coords > available) const |
Private Member Functions | |
virtual std::vector< std::map< Coords, std::string > > | createNameMaps () const =0 |
|
overridedefault |
|
pure virtual |
std::string ICoordSystem::axisName | ( | size_t | i_axis, |
Coords | units = Coords::UNDEFINED |
||
) | const |
Definition at line 36 of file ICoordSystem.cpp.
References ASSERT, createNameMaps(), defaultUnits(), and UNDEFINED.
Referenced by CoordSystem1D::createConvertedAxis(), and CoordSystem2D::createConvertedAxis().
|
pure virtual |
Implemented in CoordSystem2D, and CoordSystem1D.
|
pure virtual |
Implemented in CoordSystem2D, and CoordSystem1D.
|
pure virtual |
Implemented in CoordSystem2D, and CoordSystem1D.
|
overridepure virtual |
Implements ICloneable.
Implemented in CoordSystem1D, DepthProbeCoordinates, OffspecCoordinates, ImageCoords, SphericalCoords, WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Definition at line 28 of file ICoordSystem.cpp.
References createConvertedAxis(), and rank().
Referenced by defaultAxes().
Implemented in CoordSystem2D, and CoordSystem1D.
Referenced by convertedAxes(), and createConvertedData().
|
virtual |
Creates Datafield array in converter units.
Reimplemented in CoordSystem1D.
Definition at line 46 of file ICoordSystem.cpp.
References createConvertedAxis(), Datafield::flatVector(), rank(), and Datafield::setVector().
|
privatepure virtual |
Implemented in DepthProbeCoordinates, OffspecCoordinates, ImageCoords, SphericalCoords, WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Referenced by axisName().
std::vector< IAxis * > ICoordSystem::defaultAxes | ( | ) | const |
Definition at line 23 of file ICoordSystem.cpp.
References convertedAxes(), and defaultUnits().
Referenced by SimDataPair::execSimulation().
|
pure virtual |
Implemented in DepthProbeCoordinates, OffspecCoordinates, ImageCoords, SphericalCoords, WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Referenced by axisName(), defaultAxes(), and substituteDefaultUnits().
|
pure virtual |
Implemented in CoordSystem2D, and CoordSystem1D.
Referenced by convertedAxes(), and createConvertedData().
Definition at line 69 of file ICoordSystem.cpp.
References defaultUnits(), and UNDEFINED.
Referenced by CoordSystem1D::calculateMax(), CoordSystem2D::calculateMax(), CoordSystem1D::calculateMin(), CoordSystem2D::calculateMin(), and CoordSystem1D::createConvertedAxis().
|
protected |
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.