Skip to content
Snippets Groups Projects
Commit 56669207 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

FitComparisonWidget now is able to show real data and simulated data during real time tuning.

parent 4851f79e
No related branches found
No related tags found
No related merge requests found
......@@ -62,7 +62,7 @@ std::shared_ptr<FitSuite> DomainFittingBuilder::createFitSuite(JobItem *jobItem)
builder.getSimulation(jobItem->getMultiLayerItem(),
jobItem->getInstrumentItem()));
RealDataItem *realDataItem = dynamic_cast<RealDataItem*>(jobItem->getItem(JobItem::T_REALDATA));
RealDataItem *realDataItem = jobItem->realDataItem();
if(!realDataItem)
throw GUIHelpers::Error("DomainFittingBuilder::createFitSuite() -> No Real Data defined.");
......
......@@ -27,6 +27,7 @@
#include "FitSuiteItem.h"
#include "ParameterTreeItems.h"
#include "FitParameterItems.h"
#include "RealDataItem.h"
#include <QDateTime>
#include <QDebug>
......@@ -293,6 +294,11 @@ FitParameterContainerItem *JobItem::fitParameterContainerItem()
return nullptr;
}
RealDataItem *JobItem::realDataItem()
{
return dynamic_cast<RealDataItem*>(getItem(JobItem::T_REALDATA));
}
//! Updates the name of file to store intensity data.
void JobItem::updateIntensityDataFileName()
......
......@@ -28,6 +28,7 @@ class SimulationOptionsItem;
class FitSuiteItem;
class ParameterContainerItem;
class FitParameterContainerItem;
class RealDataItem;
class BA_CORE_API_ JobItem : public SessionItem
{
......@@ -98,6 +99,7 @@ public:
FitSuiteItem *fitSuiteItem();
ParameterContainerItem *parameterContainerItem();
FitParameterContainerItem *fitParameterContainerItem();
RealDataItem *realDataItem();
private:
void updateIntensityDataFileName();
......
......@@ -15,21 +15,40 @@
// ************************************************************************** //
#include "FitComparisonWidget.h"
#include "ColorMapPlot.h"
#include "JobItem.h"
#include "RealDataItem.h"
#include <QGridLayout>
#include <QVBoxLayout>
#include <QLabel>
#include <QDebug>
FitComparisonWidget::FitComparisonWidget(QWidget *parent)
: SessionItemWidget(parent)
, m_realDataPlot(new ColorMapPlot)
, m_simulatedDataPlot(new ColorMapPlot)
, m_chi2DataPlot(new ColorMapPlot)
{
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(new QLabel("xxx"));
setLayout(layout);
QGridLayout *gridLayout = new QGridLayout;
gridLayout->addWidget(m_realDataPlot, 0, 0);
gridLayout->addWidget(m_simulatedDataPlot, 0, 1);
gridLayout->addWidget(m_chi2DataPlot, 1, 0);
setLayout(gridLayout);
}
void FitComparisonWidget::setItem(SessionItem *item)
{
Q_UNUSED(item);
JobItem *jobItem = dynamic_cast<JobItem *>(item);
setJobItem(jobItem);
}
void FitComparisonWidget::setJobItem(JobItem *jobItem)
{
m_realDataPlot->setItem(jobItem->realDataItem()->intensityDataItem());
m_simulatedDataPlot->setItem(jobItem->getIntensityDataItem());
}
......@@ -31,6 +31,13 @@ public:
void setItem(class SessionItem *item);
protected:
void setJobItem(class JobItem *jobItem);
private:
class ColorMapPlot *m_realDataPlot;
class ColorMapPlot *m_simulatedDataPlot;
class ColorMapPlot *m_chi2DataPlot;
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment