29 auto basicAxis = addProperty<BasicAxisItem>(
P_XAXIS);
32 auto amplitudeAxis = addProperty<AmplitudeAxisItem>(
P_YAXIS);
45 if (data !=
nullptr) {
46 if (data->
rank() != 1)
48 "Error in SpecularDataItem::setOutputData: cannot handle non-1D data");
75 const double defaultXmin(0.0);
76 return m_data ?
m_data->axis(0).lowerBound() : defaultXmin;
81 const double defaultXmax(1.0);
82 return m_data ?
m_data->axis(0).upperBound() : defaultXmax;
202 const int nx =
static_cast<int>(
m_data->axis(0).size());
209 const double default_min = 0.0;
210 const double default_max = 1.0;
213 return QPair<double, double>(default_min, default_max);
214 double min(*std::min_element(data->
begin(), data->
end()));
215 double max(*std::max_element(data->
begin(), data->
end()));
218 min = std::numeric_limits<double>::epsilon() < min ? min : default_min;
220 max = max > min ? max : default_max;
222 return QPair<double, double>(min, max);
227 return item<BasicAxisItem>(
P_XAXIS);
232 return item<BasicAxisItem>(
P_XAXIS);
237 return item<AmplitudeAxisItem>(
P_YAXIS);
242 return item<AmplitudeAxisItem>(
P_YAXIS);
Defines various axis items.
Defines class GUIHelpers functions.
Defines ImportDataUtils namespace.
Defines class JobItemUtils.
Defines class SpecularDataItem.
void setLogScale(bool value)
static const QString P_NBINS
static const QString P_TITLE
double upperBound() const
static const QString P_IS_VISIBLE
double lowerBound() const
void setLowerBound(double value)
void setUpperBound(double value)
void setTitle(const QString &title)
Custom property to define list of string values with multiple selections.
QVariant variant() const
Constructs variant enclosing given ComboProperty.
Provides common functionality for IntensityDataItem and SpecularDataItem.
OutputData< double > * getOutputData()
virtual void setOutputData(OutputData< double > *data)=0
The given pointer becomes owned by this class!!
static const QString P_AXES_UNITS
std::unique_ptr< OutputData< double > > m_data
simulation results
Carries information about loaded data.
QString unitsLabel() const
QString axisLabel(size_t axis_index) const
iterator end()
Returns read/write iterator that points to the one past last element.
size_t rank() const
Returns number of dimensions.
iterator begin()
Returns read/write iterator that points to the first element.
SessionItem * addProperty(const QString &name, const QVariant &variant)
Add new property item and register new tag.
QVariant value() const
Get value.
void setVisible(bool enabled)
Flags accessors.
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
void emitDataChanged(int role=Qt::DisplayRole)
Notify model about data changes.
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.
void setYaxisTitle(const QString &title) override
double getLowerY() const
returns lower and upper zoom ranges of y-axis
QString getXaxisTitle() const
void updateAxesZoomLevel()
Sets zoom range of X,Y axes, if it was not yet defined.
int getNbins() const
Number of bins in data.
void setUpperY(double value)
void setXaxisTitle(const QString &title) override
void setUpperX(double value)
void setLowerX(double value)
void setOutputData(OutputData< double > *data) override
The given pointer becomes owned by this class!!
static const QString P_YAXIS
std::vector< int > shape() const override
static const QString P_TITLE
static const QString P_XAXIS
void setLowerY(double value)
void setLog(bool log_flag)
void updateAxesUnits(const InstrumentItem *instrument) override
double getLowerX() const
returns lower and upper zoom ranges of x-axis
void setAxesRangeToData() override
set zoom range of x,y axes to axes of input data
QString getYaxisTitle() const
double getXmin() const
returns min and max range of x-axis as given by IntensityData
void resetView()
Set axes viewport to original data.
QPair< double, double > dataRange() const
Init ymin, ymax to match the intensity values range.
double getYmin() const
returns min and max range of y-axis as given by IntensityData
const AmplitudeAxisItem * yAxisItem() const
void reset(ImportDataInfo data) override
Returns data to the state defined by user (imported) data.
const BasicAxisItem * xAxisItem() const
void updateDataAxes(DataItem *intensityItem, const InstrumentItem *instrumentItem)
updates axes of OutputData in IntensityData item
const QString y_axis_default_name
const QString x_axis_default_name