Skip to content
Snippets Groups Projects
Commit c8aa12dc authored by t.knopff's avatar t.knopff
Browse files

Use string constant for instrument items type names

parent 7e6be7ed
No related branches found
No related tags found
1 merge request!92Refactor model: instrument, footprint and background items
Pipeline #38033 passed
...@@ -40,8 +40,6 @@ ...@@ -40,8 +40,6 @@
namespace { namespace {
const QString background_group_label = "Type"; const QString background_group_label = "Type";
const QStringList instrument_names{"GISASInstrument", "OffSpecularInstrument",
"SpecularInstrument"};
BasicAxisItem* addAxisGroupProperty(SessionItem* parent, const QString& tag) BasicAxisItem* addAxisGroupProperty(SessionItem* parent, const QString& tag)
{ {
...@@ -145,7 +143,9 @@ template <typename T> T* InstrumentItem::beam() const ...@@ -145,7 +143,9 @@ template <typename T> T* InstrumentItem::beam() const
// class SpecularInstrumentItem // class SpecularInstrumentItem
// ************************************************************************************************ // ************************************************************************************************
SpecularInstrumentItem::SpecularInstrumentItem() : InstrumentItem("SpecularInstrument") const QString SpecularInstrumentItem::M_TYPE = "SpecularInstrument";
SpecularInstrumentItem::SpecularInstrumentItem() : InstrumentItem(M_TYPE)
{ {
addBeam<SpecularBeamItem>(); addBeam<SpecularBeamItem>();
...@@ -284,7 +284,9 @@ bool Instrument2DItem::isDetectorPropertyName(const QString& name) ...@@ -284,7 +284,9 @@ bool Instrument2DItem::isDetectorPropertyName(const QString& name)
// class GISASInstrumentItem // class GISASInstrumentItem
// ************************************************************************************************ // ************************************************************************************************
GISASInstrumentItem::GISASInstrumentItem() : Instrument2DItem("GISASInstrument") {} const QString GISASInstrumentItem::M_TYPE = "GISASInstrument";
GISASInstrumentItem::GISASInstrumentItem() : Instrument2DItem(M_TYPE) {}
std::vector<int> GISASInstrumentItem::shape() const std::vector<int> GISASInstrumentItem::shape() const
{ {
...@@ -323,7 +325,9 @@ ICoordSystem* GISASInstrumentItem::createCoordSystem() const ...@@ -323,7 +325,9 @@ ICoordSystem* GISASInstrumentItem::createCoordSystem() const
const QString OffSpecularInstrumentItem::P_ALPHA_AXIS = "Alpha axis"; const QString OffSpecularInstrumentItem::P_ALPHA_AXIS = "Alpha axis";
OffSpecularInstrumentItem::OffSpecularInstrumentItem() : Instrument2DItem("OffSpecularInstrument") const QString OffSpecularInstrumentItem::M_TYPE = "OffSpecularInstrument";
OffSpecularInstrumentItem::OffSpecularInstrumentItem() : Instrument2DItem(M_TYPE)
{ {
BasicAxisItem* axis_item = addAxisGroupProperty(this, P_ALPHA_AXIS); BasicAxisItem* axis_item = addAxisGroupProperty(this, P_ALPHA_AXIS);
auto inclination_item = axis_item->lowerBoundItem(); auto inclination_item = axis_item->lowerBoundItem();
...@@ -396,10 +400,10 @@ BasicAxisItem* OffSpecularInstrumentItem::alphaAxis() const ...@@ -396,10 +400,10 @@ BasicAxisItem* OffSpecularInstrumentItem::alphaAxis() const
const QString DepthProbeInstrumentItem::P_Z_AXIS = "Z axis"; const QString DepthProbeInstrumentItem::P_Z_AXIS = "Z axis";
DepthProbeInstrumentItem::DepthProbeInstrumentItem() : InstrumentItem("DepthProbeInstrument") const QString DepthProbeInstrumentItem::M_TYPE = "DepthProbeInstrument";
{
setItemName("DepthProbeInstrument");
DepthProbeInstrumentItem::DepthProbeInstrumentItem() : InstrumentItem(M_TYPE)
{
addBeam<SpecularBeamItem>(); addBeam<SpecularBeamItem>();
auto axisItem = beamItem()->currentInclinationAxisItem(); auto axisItem = beamItem()->currentInclinationAxisItem();
......
...@@ -73,6 +73,8 @@ protected: ...@@ -73,6 +73,8 @@ protected:
class BA_CORE_API_ SpecularInstrumentItem : public InstrumentItem { class BA_CORE_API_ SpecularInstrumentItem : public InstrumentItem {
public: public:
static const QString M_TYPE;
SpecularInstrumentItem(); SpecularInstrumentItem();
~SpecularInstrumentItem() override; ~SpecularInstrumentItem() override;
...@@ -115,6 +117,8 @@ protected: ...@@ -115,6 +117,8 @@ protected:
class BA_CORE_API_ GISASInstrumentItem : public Instrument2DItem { class BA_CORE_API_ GISASInstrumentItem : public Instrument2DItem {
public: public:
static const QString M_TYPE;
GISASInstrumentItem(); GISASInstrumentItem();
std::vector<int> shape() const override; std::vector<int> shape() const override;
void updateToRealData(const RealDataItem* item) override; void updateToRealData(const RealDataItem* item) override;
...@@ -129,6 +133,8 @@ private: ...@@ -129,6 +133,8 @@ private:
static const QString P_ALPHA_AXIS; static const QString P_ALPHA_AXIS;
public: public:
static const QString M_TYPE;
OffSpecularInstrumentItem(); OffSpecularInstrumentItem();
std::vector<int> shape() const override; std::vector<int> shape() const override;
void updateToRealData(const RealDataItem* item) override; void updateToRealData(const RealDataItem* item) override;
...@@ -145,6 +151,8 @@ private: ...@@ -145,6 +151,8 @@ private:
static const QString P_Z_AXIS; static const QString P_Z_AXIS;
public: public:
static const QString M_TYPE;
DepthProbeInstrumentItem(); DepthProbeInstrumentItem();
SpecularBeamItem* beamItem() const override; SpecularBeamItem* beamItem() const override;
......
...@@ -77,12 +77,12 @@ ItemCatalog::ItemCatalog() ...@@ -77,12 +77,12 @@ ItemCatalog::ItemCatalog()
add("InterferenceFinite2DLattice", create_new<InterferenceFunctionFinite2DLatticeItem>); add("InterferenceFinite2DLattice", create_new<InterferenceFunctionFinite2DLatticeItem>);
add("InterferenceHardDisk", create_new<InterferenceFunctionHardDiskItem>); add("InterferenceHardDisk", create_new<InterferenceFunctionHardDiskItem>);
add("InterferenceRadialParaCrystal", create_new<InterferenceFunctionRadialParaCrystalItem>); add("InterferenceRadialParaCrystal", create_new<InterferenceFunctionRadialParaCrystalItem>);
add("GISASInstrument", create_new<GISASInstrumentItem>); addItem<GISASInstrumentItem>();
add("OffSpecularInstrument", create_new<OffSpecularInstrumentItem>); addItem<OffSpecularInstrumentItem>();
// the following line is necessary for loading BornAgain projects which have been created before // the following line is necessary for loading BornAgain projects which have been created before
// global renaming to "OffSpecularInstrument" // global renaming to "OffSpecularInstrument"
add("OffSpecInstrument", create_new<OffSpecularInstrumentItem>); add("OffSpecInstrument", create_new<OffSpecularInstrumentItem>);
add("SpecularInstrument", create_new<SpecularInstrumentItem>); addItem<SpecularInstrumentItem>();
addItem<GISASBeamItem>(); addItem<GISASBeamItem>();
addItem<SpecularBeamItem>(); addItem<SpecularBeamItem>();
addItem<BackgroundNoneItem>(); addItem<BackgroundNoneItem>();
...@@ -238,7 +238,7 @@ ItemCatalog::ItemCatalog() ...@@ -238,7 +238,7 @@ ItemCatalog::ItemCatalog()
add("ProjectionContainer", create_new<ProjectionContainerItem>); add("ProjectionContainer", create_new<ProjectionContainerItem>);
add("DepthProbeInstrument", create_new<DepthProbeInstrumentItem>); addItem<DepthProbeInstrumentItem>();
} }
std::unique_ptr<SessionItem> ItemCatalog::createItemPtr(const QString& modelType) const std::unique_ptr<SessionItem> ItemCatalog::createItemPtr(const QString& modelType) const
......
...@@ -72,11 +72,10 @@ JobItem::JobItem() : SessionItem("JobItem") ...@@ -72,11 +72,10 @@ JobItem::JobItem() : SessionItem("JobItem")
registerTag(T_SAMPLE, 1, 1, QStringList() << "MultiLayer"); registerTag(T_SAMPLE, 1, 1, QStringList() << "MultiLayer");
registerTag(T_MATERIAL_CONTAINER, 1, 1, QStringList{"MaterialContainer"}); registerTag(T_MATERIAL_CONTAINER, 1, 1, QStringList{"MaterialContainer"});
registerTag(T_INSTRUMENT, 1, 1, registerTag(T_INSTRUMENT, 1, 1, { GISASInstrumentItem::M_TYPE,
QStringList() << "GISASInstrument" OffSpecularInstrumentItem::M_TYPE,
<< "OffSpecularInstrument" SpecularInstrumentItem::M_TYPE,
<< "SpecularInstrument" DepthProbeInstrumentItem::M_TYPE });
<< "DepthProbeInstrument");
registerTag(T_OUTPUT, 1, 1, { IntensityDataItem::M_TYPE, registerTag(T_OUTPUT, 1, 1, { IntensityDataItem::M_TYPE,
SpecularDataItem::M_TYPE }); SpecularDataItem::M_TYPE });
registerTag(T_REALDATA, 1, 1, QStringList() << "RealData"); registerTag(T_REALDATA, 1, 1, QStringList() << "RealData");
......
...@@ -69,7 +69,7 @@ void DetectorMaskDelegate::createIntensityDataItem() ...@@ -69,7 +69,7 @@ void DetectorMaskDelegate::createIntensityDataItem()
// creating output data corresponding to the detector // creating output data corresponding to the detector
auto instrument = dynamic_cast<const GISASInstrumentItem*>( auto instrument = dynamic_cast<const GISASInstrumentItem*>(
ModelPath::ancestor(m_detectorItem, "GISASInstrument")); ModelPath::ancestor(m_detectorItem, GISASInstrumentItem::M_TYPE));
JobItemUtils::createDefaultDetectorMap(m_intensityItem, instrument); JobItemUtils::createDefaultDetectorMap(m_intensityItem, instrument);
m_intensityItem->getOutputData()->setAllTo(1.0); m_intensityItem->getOutputData()->setAllTo(1.0);
......
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