28 const double relative_diff_min_2d = 1e-05;
29 const double relative_diff_max_2d = 1.0;
76 double zmin = real_data_item->
getLowerZ();
77 double zmax = real_data_item->getUpperZ();
78 sim_data_item->setLowerAndUpperZ(zmin, zmax);
124 , m_current_item(nullptr)
125 , m_tempIntensityDataModel(new
SessionModel(
"TempIntensityDataModel", this))
126 , m_diff_item(dynamic_cast<
DataItem*>(m_tempIntensityDataModel->insertNewItem(data_type)))
136 void DiffItemController::setItem(
JobItem* job_item)
152 ASSERT(sim_data && real_data);
154 if (!sim_data->getOutputData())
158 *real_data->getOutputData())
179 [
this](
const QString&
name) {
#define ASSERT(condition)
Defines various axis items.
Defines namespace DataUtils.
FitComparisonController2D::DiffItemController DiffItemController
Defines class FitComparisonController.
Defines class IntensityDataItem.
Defines class PropertyRepeater.
Defines class RealDataItem.
Defines class SessionModel.
Defines class SpecularDataItem.
static const QString P_TITLE
Provides common functionality for IntensityDataItem and SpecularDataItem.
virtual void updateAxesUnits(const InstrumentItem *instrument)=0
virtual void setOutputData(OutputData< double > *data)=0
The given pointer becomes owned by this class!!
static const QString P_AXES_UNITS
~DiffItemController() override
DiffItemController(const QString &data_type, QObject *parent)
DiffItemController(const QString &data_type, QObject *parent)
~DiffItemController() override
SessionModel * m_tempIntensityDataModel
void setItem(JobItem *job_item)
void setItem(JobItem *job_item)
PropertyRepeater * m_xAxisRepeater
PropertyRepeater * m_yAxisRepeater
DiffItemController * m_diff_item_controller
PropertyRepeater * m_appearanceRepeater
FitComparisonController2D(QObject *parent=nullptr)
IntensityDataItem * diffItem()
PropertyRepeater * m_zAxisRepeater
double getLowerZ() const
returns lower and upper zoom ranges of z-axis
void setLowerAndUpperZ(double zmin, double zmax)
void setAxesRangeToData() override
set zoom range of x,y axes to axes of input data
void resetView()
Set axes viewport to original data.
const BasicAxisItem * yAxisItem() const
const BasicAxisItem * xAxisItem() const
InstrumentItem * instrumentItem()
RealDataItem * realDataItem()
void unsubscribe(const void *caller)
Cancells all subscribtion of given caller.
void setOnValueChange(std::function< void(void)> f, const void *caller=0)
void setOnPropertyChange(std::function< void(QString)> f, const void *caller=0)
Tracks property change (axes range, units etc) for the collection of IntensityDataItems and sets same...
void addItem(SessionItem *sessionItem)
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
std::unique_ptr< OutputData< double > > createRelativeDifferenceData(const OutputData< double > &data, const OutputData< double > &reference)
QString const & name(EShape k)