Skip to content
Snippets Groups Projects
Commit ad0e756d authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

InstrumentItem: move m_beamItem to subclasses

parent 2f83da94
No related branches found
No related tags found
1 merge request!1434InstrumentItems::beamItem() relegated to GISASInstrumentItems; otherwise provide and use scanItem()
Pipeline #91491 passed
......@@ -120,8 +120,6 @@ void InstrumentItem::setWithPolarizerAnalyzer(bool with)
void InstrumentItem::writeTo(QXmlStreamWriter* w) const
{
ASSERT(m_beamItem);
XML::writeAttribute(w, XML::Attrib::version, uint(1));
// id
......@@ -169,11 +167,6 @@ void InstrumentItem::writeTo(QXmlStreamWriter* w) const
m_background.writeTo(w);
w->writeEndElement();
// beam
w->writeStartElement(Tag::Beam);
m_beamItem->writeTo(w);
w->writeEndElement();
// info groupbox: is expanded?
w->writeStartElement(Tag::ExpandInfoGroupbox);
XML::writeAttribute(w, XML::Attrib::value, m_expandInfo);
......@@ -197,8 +190,6 @@ void InstrumentItem::writeTo(QXmlStreamWriter* w) const
void InstrumentItem::readFrom(QXmlStreamReader* r)
{
ASSERT(m_beamItem);
const uint version = XML::readUIntAttribute(r, XML::Attrib::version);
Q_UNUSED(version)
......@@ -250,11 +241,6 @@ void InstrumentItem::readFrom(QXmlStreamReader* r)
m_background.readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// beam
} else if (tag == Tag::Beam) {
m_beamItem->readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// info groupbox: is expanded?
} else if (tag == Tag::ExpandInfoGroupbox) {
XML::readAttribute(r, XML::Attrib::value, &m_expandInfo);
......@@ -437,6 +423,11 @@ void DepthprobeInstrumentItem::writeTo(QXmlStreamWriter* w) const
InstrumentItem::writeTo(w);
w->writeEndElement();
// beam
w->writeStartElement(Tag::Beam);
m_beamItem->writeTo(w);
w->writeEndElement();
// z axis
w->writeStartElement(Tag::ZAxis);
m_zAxis.writeTo(w);
......@@ -456,6 +447,11 @@ void DepthprobeInstrumentItem::readFrom(QXmlStreamReader* r)
InstrumentItem::readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// scan
} else if (tag == Tag::Beam) {
m_beamItem->readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// z axis
} else if (tag == Tag::ZAxis) {
m_zAxis.readFrom(r);
......@@ -553,6 +549,11 @@ void OffspecInstrumentItem::writeTo(QXmlStreamWriter* w) const
InstrumentItem::writeTo(w);
w->writeEndElement();
// beam
w->writeStartElement(Tag::Beam);
m_beamItem->writeTo(w);
w->writeEndElement();
// alpha axis
w->writeStartElement(Tag::AlphaAxis);
m_alphaAxis.writeTo(w);
......@@ -577,6 +578,11 @@ void OffspecInstrumentItem::readFrom(QXmlStreamReader* r)
InstrumentItem::readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// scan
} else if (tag == Tag::Beam) {
m_beamItem->readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// alpha axis
} else if (tag == Tag::AlphaAxis) {
m_alphaAxis.readFrom(r);
......@@ -671,6 +677,11 @@ void GISASInstrumentItem::writeTo(QXmlStreamWriter* w) const
InstrumentItem::writeTo(w);
w->writeEndElement();
// beam
w->writeStartElement(Tag::Beam);
m_beamItem->writeTo(w);
w->writeEndElement();
// detector
w->writeStartElement(Tag::Detector);
m_detector.writeTo(w);
......@@ -690,6 +701,11 @@ void GISASInstrumentItem::readFrom(QXmlStreamReader* r)
InstrumentItem::readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// beam
} else if (tag == Tag::Beam) {
m_beamItem->readFrom(r);
XML::gotoEndElementOfTag(r, tag);
// detector
} else if (tag == Tag::Detector) {
m_detector.readFrom(r);
......
......@@ -125,7 +125,6 @@ protected:
QString m_description;
bool m_withPolarizerAnalyzer;
SelectionProperty<BackgroundItemCatalog> m_background;
std::unique_ptr<BeamItem> m_beamItem;
VectorProperty m_polarization;
VectorProperty m_analyzerDirection;
......@@ -153,6 +152,9 @@ public:
const ICoordSystem* createCoordSystem() const override;
ISimulation* createSimulation(const MultiLayer& sample) const override;
private:
std::unique_ptr<ScanItem> m_beamItem;
};
......@@ -183,6 +185,9 @@ protected:
mutable std::unique_ptr<const ICoordSystem> m_coosys;
AxisProperty m_zAxis;
bool m_expandParameters = true;
private:
std::unique_ptr<ScanItem> m_beamItem;
};
......@@ -215,6 +220,9 @@ protected:
AxisProperty m_alphaAxis;
bool m_expandBeamParameters = true;
std::unique_ptr<OffspecDetectorItem> m_detector;
private:
std::unique_ptr<ScanItem> m_beamItem;
};
......@@ -245,6 +253,7 @@ public:
private:
SelectionProperty<DetectorItemCatalog> m_detector;
std::unique_ptr<BeamItem> m_beamItem;
};
......
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