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

use scanItem, idsuse is<>

parent 9fd9b0ab
No related branches found
No related tags found
1 merge request!1434InstrumentItems::beamItem() relegated to GISASInstrumentItems; otherwise provide and use scanItem()
......@@ -300,38 +300,38 @@ void ParameterTreeBuilder::addInstrument()
parameterContainerItem()->parameterTreeRoot());
auto* beamItem = iI->beamItem();
if (auto* gisas = dynamic_cast<const GISASInstrumentItem*>(iI)) {
if (auto* iiI = dynamic_cast<GISASInstrumentItem*>(iI)) {
auto* beamLabel = new ParameterLabelItem("Beam", label);
addParameterItem(beamLabel, beamItem->intensity());
addBeamDistribution(beamLabel, beamItem->wavelengthItem(), "Wavelength");
addBeamDistribution(beamLabel, beamItem->beamDistributionItem(), "Inclination angle");
addBeamDistribution(beamLabel, beamItem->azimuthalAngleItem(), "Azimuthal angle");
addDetector(label, gisas->detectorItem());
addPolarization(label, iI);
addBackground(label, iI->backgroundItem());
} else if (iI->is<SpecularInstrumentItem>()) {
addDetector(label, iiI->detectorItem());
addPolarization(label, iiI);
addBackground(label, iiI->backgroundItem());
} else if (auto* iiI = dynamic_cast<SpecularInstrumentItem*>(iI)) {
auto* beamLabel = new ParameterLabelItem("Beam", label);
addParameterItem(beamLabel, beamItem->intensity());
addBeamDistribution(beamLabel, beamItem->wavelengthItem(), "Wavelength");
// TODO implement correctly "Inclination angle" which is scanned
// https://jugit.fz-juelich.de/mlz/bornagain/-/issues/301
// addBeamDistribution(beamLabel, beamItem->grazingScanItem(), "Inclination angle");
addPolarization(label, iI);
addBackground(label, iI->backgroundItem());
} else if (auto* os = dynamic_cast<const OffspecInstrumentItem*>(iI)) {
addPolarization(label, iiI);
addBackground(label, iiI->backgroundItem());
} else if (auto* iiI = dynamic_cast<OffspecInstrumentItem*>(iI)) {
auto* beamLabel = new ParameterLabelItem("Beam", label);
addParameterItem(beamLabel, beamItem->intensity());
addBeamDistribution(beamLabel, beamItem->wavelengthItem(), "Wavelength");
addBeamDistribution(beamLabel, beamItem->azimuthalAngleItem(), "Azimuthal angle");
addOffspecDetector(label, os->detectorItem());
addPolarization(label, iI);
} else if (iI->is<DepthprobeInstrumentItem>()) {
addParameterItem(beamLabel, iiI->scanItem()->intensity());
addBeamDistribution(beamLabel, iiI->scanItem()->wavelengthItem(), "Wavelength");
addBeamDistribution(beamLabel, iiI->scanItem()->azimuthalAngleItem(), "Azimuthal angle");
addOffspecDetector(label, iiI->detectorItem());
addPolarization(label, iiI);
} else if (auto* iiI = dynamic_cast<DepthprobeInstrumentItem*>(iI)) {
auto* beamLabel = new ParameterLabelItem("Parameters", label);
addBeamDistribution(beamLabel, beamItem->wavelengthItem(), "Wavelength");
addBeamDistribution(beamLabel, iiI->scanItem()->wavelengthItem(), "Wavelength");
// TODO implement correctly "Inclination angle" which is scanned
// https://jugit.fz-juelich.de/mlz/bornagain/-/issues/301
// addBeamDistribution(beamLabel, beamItem->grazingScanItem(), "Inclination angle");
addPolarization(label, iI);
// addBeamDistribution(beamLabel, scanItem->grazingScanItem(), "Inclination angle");
addPolarization(label, iiI);
} else
ASSERT(false);
}
......
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