15 #ifndef BORNAGAIN_CORE_INSTRUMENT_SIMULATIONRESULT_H
16 #define BORNAGAIN_CORE_INSTRUMENT_SIMULATIONRESULT_H
57 std::unique_ptr<OutputData<double>> data(Axes::Units units = Axes::Units::DEFAULT)
const;
60 Histogram2D* histogram2d(Axes::Units units = Axes::Units::DEFAULT)
const;
63 std::vector<AxisInfo>
axisInfo(Axes::Units units = Axes::Units::DEFAULT)
const;
72 bool empty()
const {
return size() == 0; }
75 #ifdef BORNAGAIN_PYTHON
76 PyObject*
array(Axes::Units units = Axes::Units::DEFAULT)
const;
79 std::vector<double> axis(Axes::Units units = Axes::Units::DEFAULT)
const;
83 std::vector<double> axis(
size_t i_axis, Axes::Units units = Axes::Units::DEFAULT)
const;
86 void checkDimensions()
const;
87 std::unique_ptr<OutputData<double>> mP_data;
88 std::unique_ptr<IUnitConverter> mP_unit_converter;
Defines interface IUnitConverter and possible axis units.
PyObvject forward declaration.
One dimensional histogram.
Two dimensional histogram.
Interface for one-dimensional axes.
Interface to provide axis translations to different units for simulation output.
Template class to store data of any type in multi-dimensional space.
Wrapper around OutputData<double> that also provides unit conversions.
const IUnitConverter & converter() const
Returns underlying unit converter.
double & operator[](size_t i)
Data element access.
std::vector< AxisInfo > axisInfo(Axes::Units units=Axes::Units::DEFAULT) const
Provide AxisInfo for each axis and the given units.
PyObject * array(Axes::Units units=Axes::Units::DEFAULT) const
returns intensity data as Python numpy array
Information about an axis in specific units.