22 std::vector<Axes::Units> specularUnits()
24 std::vector<Axes::Units> result;
26 for (
auto& pair : units_map)
27 result.push_back(pair.first);
32 std::map<size_t, std::vector<Axes::Units>> available_units = {{1u, specularUnits()},
33 {2u, {Axes::Units::NBINS}}};
39 : m_data(
std::move(other.m_data)), m_units(other.m_units)
44 : m_data(units ==
Axes::
Units::NBINS && data
66 ImportDataInfo::operator bool()
const
68 return static_cast<bool>(m_data);
75 return std::unique_ptr<OutputData<double>>(
m_data->clone());
80 return std::move(m_data);
100 const size_t rank =
m_data->rank();
102 return axis_index == 0 ?
"X [nbins]" :
"Y [nbins]";
103 else if (rank == 1) {
105 return "Signal [a.u.]";
108 return QString::fromStdString(label_map[
m_units]);
110 throw GUIHelpers::Error(
"Error in ImportDataInfo::axisLabel: unsupported data type");
117 auto iter = available_units.find(
m_data->rank());
118 if (iter == available_units.end())
119 throw GUIHelpers::Error(
"Error in ImportDataInfo constructor: unsupported data type");
120 for (
auto& value : iter->second)
124 throw GUIHelpers::Error(
"Error in ImportDataInfo constructor: inacceptable units passed.");
Defines namespace AxisNames.
Defines class GUIHelpers functions.
Defines ImportDataUtils namespace.
Defines class JobItemUtils.
Defines and implements templated class OutputData.
Wrapper for detector axes units, required for a better representation of detector axes units in pytho...
Carries information about loaded data.
size_t dataRank() const
Returns number of dimensions.
QString unitsLabel() const
std::unique_ptr< OutputData< double > > m_data
QString axisLabel(size_t axis_index) const
std::unique_ptr< OutputData< double > > intensityData() const &
std::map< Axes::Units, std::string > InitSpecAxis()
Provides utility methods to import data files.
std::unique_ptr< OutputData< double > > CreateSimplifiedOutputData(const OutputData< double > &data)
Creates OutputData with bin-valued axes.
Contains set of convenience methods to set data to the IntensityDataItem from domain simulation.
Axes::Units axesUnitsFromName(const QString &name)
returns domain axes units type from their GUI name
QString nameFromAxesUnits(Axes::Units units)
returns axes units names from their domain counterpart
Constants and functions for physical unit conversions.