BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Abstract base class to support coordinate transforms and axis labels for 1D scans. Inherited by AngularReflectometryCoordinates and WavenumberReflectometryCoordinates.
Definition at line 33 of file CoordSystem1D.h.
Public Member Functions | |
CoordSystem1D (const IAxis *&&axis) | |
Takes ownership of axis. More... | |
~CoordSystem1D () override=default | |
virtual std::vector< Coords > | availableUnits () const =0 |
std::string | axisName (size_t i_axis, Coords units=Coords::UNDEFINED) const |
size_t | axisSize (size_t i_axis) const override |
Returns the size of underlying axis. More... | |
double | calculateMax (size_t i_axis, Coords units) const override |
Calculates maximum on-axis value in given units. More... | |
double | calculateMin (size_t i_axis, Coords units) const override |
Calculates minimum on-axis value in given units. More... | |
CoordSystem1D * | clone () const override=0 |
std::vector< IAxis * > | convertedAxes (Coords units) const |
IAxis * | createConvertedAxis (size_t i_axis, Coords units) const override |
Creates axis in converted units. More... | |
Datafield * | createConvertedData (const Datafield &data, Coords units) const override |
Creates Datafield array in converter units. More... | |
std::vector< IAxis * > | defaultAxes () const |
virtual Coords | defaultUnits () const =0 |
size_t | rank () const override |
Returns dimensionality of converted canvas. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Protected Member Functions | |
const IAxis * | coordinateAxis () const |
virtual std::function< double(double)> | getTraslatorTo (Coords units) const =0 |
Returns translating functional (rads --> output units) More... | |
Coords | substituteDefaultUnits (Coords units) const |
void | throwUnitsError (std::string method, std::vector< Coords > available) const |
Protected Attributes | |
std::unique_ptr< const IAxis > | m_axis |
semantics depends on subclass More... | |
Private Member Functions | |
virtual std::vector< std::map< Coords, std::string > > | createNameMaps () const =0 |
CoordSystem1D::CoordSystem1D | ( | const IAxis *&& | axis | ) |
Takes ownership of axis.
Definition at line 77 of file CoordSystem1D.cpp.
|
overridedefault |
|
pure virtualinherited |
|
inherited |
Definition at line 36 of file ICoordSystem.cpp.
References ASSERT, ICoordSystem::createNameMaps(), ICoordSystem::defaultUnits(), and UNDEFINED.
Referenced by createConvertedAxis(), and CoordSystem2D::createConvertedAxis().
|
overridevirtual |
Returns the size of underlying axis.
Implements ICoordSystem.
Definition at line 83 of file CoordSystem1D.cpp.
References ASSERT, coordinateAxis(), and IAxis::size().
|
overridevirtual |
Calculates maximum on-axis value in given units.
Implements ICoordSystem.
Definition at line 99 of file CoordSystem1D.cpp.
References ASSERT, IAxis::binCenter(), coordinateAxis(), getTraslatorTo(), NBINS, IAxis::size(), and ICoordSystem::substituteDefaultUnits().
Referenced by createConvertedAxis().
|
overridevirtual |
Calculates minimum on-axis value in given units.
Implements ICoordSystem.
Definition at line 89 of file CoordSystem1D.cpp.
References ASSERT, coordinateAxis(), getTraslatorTo(), NBINS, and ICoordSystem::substituteDefaultUnits().
Referenced by createConvertedAxis().
|
overridepure virtual |
Implements ICoordSystem.
Implemented in WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Definition at line 28 of file ICoordSystem.cpp.
References ICoordSystem::createConvertedAxis(), and ICoordSystem::rank().
Referenced by ICoordSystem::defaultAxes().
|
inlineprotected |
Definition at line 62 of file CoordSystem1D.h.
References m_axis.
Referenced by axisSize(), calculateMax(), calculateMin(), and createConvertedAxis().
Creates axis in converted units.
Implements ICoordSystem.
Definition at line 110 of file CoordSystem1D.cpp.
References ASSERT, ICoordSystem::axisName(), IAxis::binCenters(), calculateMax(), calculateMin(), coordinateAxis(), getTraslatorTo(), NBINS, and ICoordSystem::substituteDefaultUnits().
Referenced by createConvertedData().
|
overridevirtual |
Creates Datafield array in converter units.
Reimplemented from ICoordSystem.
Definition at line 125 of file CoordSystem1D.cpp.
References ASSERT, createConvertedAxis(), Datafield::flatVector(), Datafield::rank(), RQ4, Datafield::setVector(), and Datafield::size().
|
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 |
|
protectedpure virtual |
Returns translating functional (rads --> output units)
Implemented in WavenumberReflectometryCoordinates, and AngularReflectometryCoordinates.
Referenced by calculateMax(), calculateMin(), and createConvertedAxis().
|
inlineoverridevirtual |
Returns dimensionality of converted canvas.
Implements ICoordSystem.
Definition at line 41 of file CoordSystem1D.h.
Definition at line 69 of file ICoordSystem.cpp.
References ICoordSystem::defaultUnits(), and UNDEFINED.
Referenced by calculateMax(), CoordSystem2D::calculateMax(), calculateMin(), CoordSystem2D::calculateMin(), and createConvertedAxis().
|
protectedinherited |
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
protected |
semantics depends on subclass
Definition at line 64 of file CoordSystem1D.h.
Referenced by AngularReflectometryCoordinates::AngularReflectometryCoordinates(), and coordinateAxis().