Skip to content
Snippets Groups Projects
Commit 99d71ad7 authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

JobItemUtils: error bars fix

parent 9a63dab8
No related branches found
No related tags found
1 merge request!1001GUI: show error bars for loaded reflectivity data
......@@ -59,12 +59,10 @@ Datafield::Datafield(const std::vector<IAxis*>& axes, const std::vector<double>&
}
Datafield::~Datafield() {}
#include <iostream>
Datafield* Datafield::clone() const
{
// std::cout << "OLD m_errSigmas.size() " << m_errSigmas.size() << " " << this << std::endl;
Datafield* data = new Datafield(m_frame->cloned_axes(), m_values, m_errSigmas);
// std::cout << "NEW m_errSigmas.size() " << data->m_errSigmas.size() << " " << data << std::endl;
return data;
}
......@@ -83,9 +81,9 @@ bool Datafield::hasErrorSigmas() const
return m_errSigmas.size()>0;
}
double Datafield::errorSigmaAt(size_t i) const
const std::vector<double> &Datafield::errorSigmas() const
{
return m_errSigmas[i];
return m_errSigmas;
}
void Datafield::setAllTo(const double& value)
......
......@@ -53,7 +53,7 @@ public:
double valAt(size_t i) const;
bool hasErrorSigmas() const;
double errorSigmaAt(size_t i) const;
const std::vector<double>& errorSigmas() const;
// retrieve basic info
......
......@@ -213,7 +213,6 @@ std::unique_ptr<Datafield> IDetector::createDetectorMap() const
tmp->clip(regionOfInterestBounds(iAxis));
axes.emplace_back(tmp);
}
return std::make_unique<Datafield>(axes);
}
......
......@@ -40,7 +40,6 @@ void DataItem::setDatafield(Datafield* data)
m_datafield.reset(data);
setLastModified(QDateTime::currentDateTime());
qInfo() << this << "set new datafield" << data << m_data.get();
emit datafieldChanged();
}
......
......@@ -46,16 +46,17 @@ void GUI::Model::JobItemUtils::updateDataAxes(DataItem* dataItem,
return;
}
if (!dataItem->datafield())
Datafield* oldData = dataItem->datafield();
if (!oldData)
return;
Coords axes_units = GUI::Util::CoordName::coordFromName(dataItem->currentAxesUnits());
auto* const converter = instrumentItem->createCoordSystem();
auto newData = std::make_unique<Datafield>(converter->convertedAxes(axes_units));
newData->setVector(dataItem->datafield()->flatVector());
auto newData = std::make_unique<Datafield>(converter->convertedAxes(axes_units),
oldData->flatVector(),
oldData->errorSigmas());
dataItem->setDatafield(newData.release());
dataItem->setAxesRangeToData();
......
......@@ -377,11 +377,7 @@ RealItem* JobItem::createRealItem()
void JobItem::copyRealItemIntoJob(const RealItem* srcRealItem)
{
createRealItem();
qInfo() << "\nJobItem::copyRealItemIntoJob";
qInfo() << "source data" << srcRealItem->dataItem()->getDatafield() << srcRealItem->dataItem()->getDatafield()->hasErrorSigmas();
srcRealItem->copyTo(realItem());
qInfo() << "target data" << realItem()->dataItem()->getDatafield() << realItem()->dataItem()->getDatafield()->hasErrorSigmas();
qInfo() << "JobItem::copyRealItemIntoJob : copied\n";
if (isSpecularJob())
m_realItem->specularDataItem()->setRealPlotStyle();
......
......@@ -67,8 +67,6 @@ JobItem* JobModel::addJob(const MultiLayerItem* sampleItem, const InstrumentItem
jobItem->createSumulatedDataItem();
if (realItem) {
qInfo() << "addJob:rItem" << realItem << realItem->dataItem()->getDatafield() << realItem->dataItem()->getDatafield()->hasErrorSigmas();
qInfo() << "addJob: spec" << realItem->specularDataItem() << realItem->specularDataItem()->getDatafield();
jobItem->copyRealItemIntoJob(realItem);
jobItem->adjustReaDataToJobInstrument();
......
......@@ -552,7 +552,6 @@ void QREDataLoader::datafieldFromParsingResult(RealItem* item) const
eVec.push_back(m_importResult.eValues[lineNr]);
auto* oData = new Datafield({new PointwiseAxis("qVector", qVec)}, rVec, eVec); // eVec can be empty
qInfo() << "REAL parsing" << item << oData;
// -- Replacement of item->setImportData(std::move(data));
item->initNativeData();
......@@ -576,8 +575,6 @@ void QREDataLoader::datafieldFromParsingResult(RealItem* item) const
item->setNativeDataUnits(units_name);
item->setNativeDatafield(oData->clone()); // also takes ownership
qInfo() << "SPEC parsing" << specularItem << specularItem->getDatafield();
qInfo() << "NATI parsing" << item->nativeDatafield();
}
QDataStream& operator<<(QDataStream& stream, const QREDataLoader::ImportSettings& s)
......
......@@ -142,7 +142,7 @@ void SpecularPlot::initPlot()
m_custom_plot->graph()->setScatterStyle(
QCPScatterStyle(item->scatter(), item->scatterSize()));
// add error bars for ALL graphs. only for some items they will be filled and used
// create error bars for ALL graphs. only for some items they will be filled and used
QCPErrorBars* errorBars = new QCPErrorBars(m_custom_plot->xAxis, m_custom_plot->yAxis);
m_errorbar_map.insert(item, errorBars);
errorBars->removeFromLegend();
......@@ -264,7 +264,7 @@ void SpecularPlot::setDataFromItem(SpecularDataItem* item)
ASSERT(m_errorbar_map.contains(item));
QCPErrorBars* errorBars = m_errorbar_map.value(item);
for (size_t i = 0; i < data->size(); ++i) {
double y_Err = data->errorSigmaAt(i);
double y_Err = data->errorSigmas()[i];
errorBars->addData(y_Err);
}
}
......
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