From 84e12d76447f2c029afeee1a20808a185a11706f Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Thu, 11 Jan 2018 09:37:28 +0100
Subject: [PATCH] InstrumentItem -> GISASInstrumentItem

---
 GUI/coregui/Models/DomainObjectBuilder.cpp    |  2 +-
 GUI/coregui/Models/DomainObjectBuilder.h      |  4 +--
 .../Models/DomainSimulationBuilder.cpp        |  2 +-
 GUI/coregui/Models/DomainSimulationBuilder.h  |  4 +--
 GUI/coregui/Models/GUIObjectBuilder.cpp       |  4 +--
 GUI/coregui/Models/InstrumentItems.cpp        | 28 +++++++++----------
 GUI/coregui/Models/InstrumentItems.h          |  4 +--
 GUI/coregui/Models/InstrumentModel.cpp        |  4 +--
 GUI/coregui/Models/InstrumentModel.h          |  4 +--
 GUI/coregui/Models/ItemFactory.cpp            |  2 +-
 GUI/coregui/Models/JobItem.cpp                |  4 +--
 GUI/coregui/Models/JobItem.h                  |  4 +--
 GUI/coregui/Models/JobItemUtils.cpp           |  8 +++---
 GUI/coregui/Models/JobItemUtils.h             | 10 +++----
 GUI/coregui/Models/JobModel.cpp               |  2 +-
 GUI/coregui/Models/JobModel.h                 |  4 +--
 GUI/coregui/Models/RealDataItem.cpp           |  2 +-
 GUI/coregui/Models/RealDataItem.h             |  6 ++--
 GUI/coregui/Models/TransformFromDomain.cpp    |  8 +++---
 GUI/coregui/Models/TransformFromDomain.h      |  6 ++--
 .../ImportDataWidgets/ImportDataAssistant.cpp |  8 +++---
 .../ImportDataWidgets/ImportDataAssistant.h   | 10 +++----
 .../LinkInstrumentManager.cpp                 | 22 +++++++--------
 .../ImportDataWidgets/LinkInstrumentManager.h | 14 +++++-----
 .../DetectorEditorWidget.cpp                  |  6 ++--
 .../InstrumentWidgets/DetectorEditorWidget.h  |  4 +--
 .../DetectorMaskDelegate.cpp                  |  2 +-
 .../InstrumentComponentsWidget.cpp            |  2 +-
 .../InstrumentComponentsWidget.h              |  4 +--
 .../InstrumentEditorWidget.cpp                |  2 +-
 .../SimulationWidgets/PythonScriptWidget.cpp  |  2 +-
 .../SimulationWidgets/PythonScriptWidget.h    |  4 +--
 .../SimulationDataSelectorWidget.cpp          |  4 +--
 .../SimulationDataSelectorWidget.h            |  4 +--
 .../SimulationSetupAssistant.cpp              |  6 ++--
 .../SimulationSetupAssistant.h                |  8 +++---
 .../SimulationSetupWidget.cpp                 |  4 +--
 .../SimulationWidgets/SimulationSetupWidget.h |  2 +-
 Tests/UnitTests/GUI/TestDetectorItems.h       |  4 +--
 Tests/UnitTests/GUI/TestLinkInstrument.h      | 12 ++++----
 Tests/UnitTests/GUI/TestProjectDocument.h     |  2 +-
 Tests/UnitTests/GUI/TestSaveService.h         |  2 +-
 Tests/UnitTests/GUI/TestTranslations.h        |  2 +-
 43 files changed, 121 insertions(+), 121 deletions(-)

diff --git a/GUI/coregui/Models/DomainObjectBuilder.cpp b/GUI/coregui/Models/DomainObjectBuilder.cpp
index 2e1de76d616..801d9b3e451 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.cpp
+++ b/GUI/coregui/Models/DomainObjectBuilder.cpp
@@ -127,7 +127,7 @@ DomainObjectBuilder::buildInterferenceFunction(const SessionItem& item) const
     return iffItem->createInterferenceFunction();
 }
 
-std::unique_ptr<Instrument> DomainObjectBuilder::buildInstrument(const InstrumentItem& instrumentItem) const
+std::unique_ptr<Instrument> DomainObjectBuilder::buildInstrument(const GISASInstrumentItem& instrumentItem) const
 {
     auto instrument = std::make_unique<Instrument>();
 
diff --git a/GUI/coregui/Models/DomainObjectBuilder.h b/GUI/coregui/Models/DomainObjectBuilder.h
index f0a636fa5a1..b1b163db2da 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.h
+++ b/GUI/coregui/Models/DomainObjectBuilder.h
@@ -25,7 +25,7 @@ class ParticleLayout;
 class IInterferenceFunction;
 class Beam;
 class SessionItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 
 class BA_CORE_API_ DomainObjectBuilder
 {
@@ -35,7 +35,7 @@ public:
     std::unique_ptr<ParticleLayout> buildParticleLayout(const SessionItem &item) const;
     std::unique_ptr<IInterferenceFunction>
     buildInterferenceFunction(const SessionItem &item) const;
-    std::unique_ptr<Instrument> buildInstrument(const InstrumentItem& instrumentItem) const;
+    std::unique_ptr<Instrument> buildInstrument(const GISASInstrumentItem& instrumentItem) const;
 };
 
 #endif // DOMAINOBJECTBUILDER_H
diff --git a/GUI/coregui/Models/DomainSimulationBuilder.cpp b/GUI/coregui/Models/DomainSimulationBuilder.cpp
index b716f830fa2..e9e6f6350a2 100644
--- a/GUI/coregui/Models/DomainSimulationBuilder.cpp
+++ b/GUI/coregui/Models/DomainSimulationBuilder.cpp
@@ -28,7 +28,7 @@
 
 //! Creates domain simulation from sample and instrument items.
 GISASSimulation *DomainSimulationBuilder::getSimulation(const MultiLayerItem *sampleItem,
-                                                        const InstrumentItem *instrumentItem,
+                                                        const GISASInstrumentItem *instrumentItem,
                                                         const SimulationOptionsItem *optionsItem)
 {
     if(sampleItem == nullptr || instrumentItem==nullptr) {
diff --git a/GUI/coregui/Models/DomainSimulationBuilder.h b/GUI/coregui/Models/DomainSimulationBuilder.h
index a59af0c0e01..d03af4144df 100644
--- a/GUI/coregui/Models/DomainSimulationBuilder.h
+++ b/GUI/coregui/Models/DomainSimulationBuilder.h
@@ -19,7 +19,7 @@
 
 class GISASSimulation;
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class SimulationOptionsItem;
 
 //! The DomainSimulationBuilder class builds the domain simulation
@@ -28,7 +28,7 @@ class BA_CORE_API_ DomainSimulationBuilder
 {
 public:
     static GISASSimulation *getSimulation(const MultiLayerItem *sampleItem,
-                                          const InstrumentItem *instrumentItem,
+                                          const GISASInstrumentItem *instrumentItem,
                                           const SimulationOptionsItem *optionsItem = 0);
 };
 
diff --git a/GUI/coregui/Models/GUIObjectBuilder.cpp b/GUI/coregui/Models/GUIObjectBuilder.cpp
index 78e8bc5f44f..7c8ccf3c33f 100644
--- a/GUI/coregui/Models/GUIObjectBuilder.cpp
+++ b/GUI/coregui/Models/GUIObjectBuilder.cpp
@@ -102,7 +102,7 @@ SessionItem* GUIObjectBuilder::populateInstrumentModel(
 {
     Q_ASSERT(p_instrument_model);
 
-    InstrumentItem* p_instrument_item = dynamic_cast<InstrumentItem*>
+    GISASInstrumentItem* p_instrument_item = dynamic_cast<GISASInstrumentItem*>
             (p_instrument_model->insertNewItem(Constants::GISASInstrumentType));
 
     if(instrument_name.isEmpty()) {
@@ -112,7 +112,7 @@ SessionItem* GUIObjectBuilder::populateInstrumentModel(
     }
 
     // beam
-    auto& beam_item = p_instrument_item->item<BeamItem>(InstrumentItem::P_BEAM);
+    auto& beam_item = p_instrument_item->item<BeamItem>(GISASInstrumentItem::P_BEAM);
     TransformFromDomain::setItemFromSample(&beam_item, simulation);
 
     // detector
diff --git a/GUI/coregui/Models/InstrumentItems.cpp b/GUI/coregui/Models/InstrumentItems.cpp
index 79512e9ff91..0cc2d89598a 100644
--- a/GUI/coregui/Models/InstrumentItems.cpp
+++ b/GUI/coregui/Models/InstrumentItems.cpp
@@ -23,12 +23,12 @@
 #include "MaskItems.h"
 #include "ParameterTranslators.h"
 
-const QString InstrumentItem::P_IDENTIFIER = "Identifier";
-const QString InstrumentItem::P_BEAM = "Beam";
-const QString InstrumentItem::P_DETECTOR = "Detector";
-const QString InstrumentItem::P_BACKGROUND = "Background";
+const QString GISASInstrumentItem::P_IDENTIFIER = "Identifier";
+const QString GISASInstrumentItem::P_BEAM = "Beam";
+const QString GISASInstrumentItem::P_DETECTOR = "Detector";
+const QString GISASInstrumentItem::P_BACKGROUND = "Background";
 
-InstrumentItem::InstrumentItem()
+GISASInstrumentItem::GISASInstrumentItem()
     : SessionItem(Constants::GISASInstrumentType)
 {
     setItemName(Constants::GISASInstrumentType);
@@ -44,47 +44,47 @@ InstrumentItem::InstrumentItem()
     addGroupProperty(P_BACKGROUND, Constants::BackgroundGroup);
 }
 
-BeamItem *InstrumentItem::beamItem() const
+BeamItem *GISASInstrumentItem::beamItem() const
 {
     return &item<BeamItem>(P_BEAM);
 }
 
-DetectorItem* InstrumentItem::detectorItem() const
+DetectorItem* GISASInstrumentItem::detectorItem() const
 {
     return &groupItem<DetectorItem>(P_DETECTOR);
 }
 
-GroupItem* InstrumentItem::detectorGroup()
+GroupItem* GISASInstrumentItem::detectorGroup()
 {
     return &item<GroupItem>(P_DETECTOR);
 }
 
-BackgroundItem* InstrumentItem::backgroundItem() const
+BackgroundItem* GISASInstrumentItem::backgroundItem() const
 {
     return &groupItem<BackgroundItem>(P_BACKGROUND);
 }
 
-GroupItem* InstrumentItem::backgroundGroup()
+GroupItem* GISASInstrumentItem::backgroundGroup()
 {
     return &item<GroupItem>(P_BACKGROUND);
 }
 
-void InstrumentItem::setDetectorGroup(const QString& modelType)
+void GISASInstrumentItem::setDetectorGroup(const QString& modelType)
 {
     setGroupProperty(P_DETECTOR, modelType);
 }
 
-void InstrumentItem::clearMasks()
+void GISASInstrumentItem::clearMasks()
 {
     detectorItem()->clearMasks();
 }
 
-void InstrumentItem::importMasks(MaskContainerItem* maskContainer)
+void GISASInstrumentItem::importMasks(MaskContainerItem* maskContainer)
 {
     detectorItem()->importMasks(maskContainer);
 }
 
-QStringList InstrumentItem::translateList(const QStringList& list) const
+QStringList GISASInstrumentItem::translateList(const QStringList& list) const
 {
     QStringList result;
     // Add constant background directly to simulation
diff --git a/GUI/coregui/Models/InstrumentItems.h b/GUI/coregui/Models/InstrumentItems.h
index 2d1cac5e57e..864b009cbf0 100644
--- a/GUI/coregui/Models/InstrumentItems.h
+++ b/GUI/coregui/Models/InstrumentItems.h
@@ -23,14 +23,14 @@ class DetectorItem;
 class MaskContainerItem;
 class GroupItem;
 
-class BA_CORE_API_ InstrumentItem : public SessionItem
+class BA_CORE_API_ GISASInstrumentItem : public SessionItem
 {
 public:
     static const QString P_IDENTIFIER;
     static const QString P_BEAM;
     static const QString P_DETECTOR;
     static const QString P_BACKGROUND;
-    InstrumentItem();
+    GISASInstrumentItem();
 
     BeamItem* beamItem() const;
     DetectorItem* detectorItem() const;
diff --git a/GUI/coregui/Models/InstrumentModel.cpp b/GUI/coregui/Models/InstrumentModel.cpp
index d97daca1e93..c378beaa392 100644
--- a/GUI/coregui/Models/InstrumentModel.cpp
+++ b/GUI/coregui/Models/InstrumentModel.cpp
@@ -29,8 +29,8 @@ InstrumentModel *InstrumentModel::createCopy(SessionItem *parent)
     return result;
 }
 
-InstrumentItem *InstrumentModel::instrumentItem(const QString &instrument_name)
+GISASInstrumentItem *InstrumentModel::instrumentItem(const QString &instrument_name)
 {
-    return dynamic_cast<InstrumentItem *>(topItem(Constants::GISASInstrumentType, instrument_name));
+    return dynamic_cast<GISASInstrumentItem *>(topItem(Constants::GISASInstrumentType, instrument_name));
 }
 
diff --git a/GUI/coregui/Models/InstrumentModel.h b/GUI/coregui/Models/InstrumentModel.h
index 2ab882ba8b9..0e0d4e651dd 100644
--- a/GUI/coregui/Models/InstrumentModel.h
+++ b/GUI/coregui/Models/InstrumentModel.h
@@ -17,7 +17,7 @@
 
 #include "SessionModel.h"
 
-class InstrumentItem;
+class GISASInstrumentItem;
 
 class BA_CORE_API_ InstrumentModel : public SessionModel
 {
@@ -29,7 +29,7 @@ public:
 
     virtual InstrumentModel *createCopy(SessionItem *parent=0);
 
-    InstrumentItem *instrumentItem(const QString &instrument_name = QString());
+    GISASInstrumentItem *instrumentItem(const QString &instrument_name = QString());
 };
 
 #endif // INSTRUMENTMODEL_H
diff --git a/GUI/coregui/Models/ItemFactory.cpp b/GUI/coregui/Models/ItemFactory.cpp
index 088b79799f6..b0d7739a95b 100644
--- a/GUI/coregui/Models/ItemFactory.cpp
+++ b/GUI/coregui/Models/ItemFactory.cpp
@@ -77,7 +77,7 @@ ItemFactory::ItemMap_t initializeItemMap() {
     result[Constants::InterferenceFunction2DParaCrystalType] = &createInstance<InterferenceFunction2DParaCrystalItem>;
     result[Constants::InterferenceFunction2DLatticeType] = &createInstance<InterferenceFunction2DLatticeItem>;
     result[Constants::InterferenceFunction1DLatticeType] = &createInstance<InterferenceFunction1DLatticeItem>;
-    result[Constants::GISASInstrumentType] = &createInstance<InstrumentItem>;
+    result[Constants::GISASInstrumentType] = &createInstance<GISASInstrumentItem>;
     result[Constants::BeamType] = &createInstance<BeamItem>;
     result[Constants::BackgroundNoneType] = &createInstance<BackgroundNoneItem>;
     result[Constants::ConstantBackgroundType] = &createInstance<ConstantBackgroundItem>;
diff --git a/GUI/coregui/Models/JobItem.cpp b/GUI/coregui/Models/JobItem.cpp
index 16505c27e7a..58c21ae2704 100644
--- a/GUI/coregui/Models/JobItem.cpp
+++ b/GUI/coregui/Models/JobItem.cpp
@@ -243,9 +243,9 @@ MultiLayerItem *JobItem::multiLayerItem()
 
 //! Returns InstrumentItem of this JobItem, if from_backup=true, then backup'ed version of
 //! the instrument will be used
-InstrumentItem *JobItem::instrumentItem()
+GISASInstrumentItem *JobItem::instrumentItem()
 {
-    return dynamic_cast<InstrumentItem*>(getItem(T_INSTRUMENT));
+    return dynamic_cast<GISASInstrumentItem*>(getItem(T_INSTRUMENT));
 }
 
 void JobItem::setResults(const GISASSimulation *simulation)
diff --git a/GUI/coregui/Models/JobItem.h b/GUI/coregui/Models/JobItem.h
index f05c3c4dfed..4c36d7e9f2c 100644
--- a/GUI/coregui/Models/JobItem.h
+++ b/GUI/coregui/Models/JobItem.h
@@ -19,7 +19,7 @@
 class IntensityDataItem;
 class GISASSimulation;
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class SimulationOptionsItem;
 class FitSuiteItem;
 class ParameterContainerItem;
@@ -87,7 +87,7 @@ public:
 
     MultiLayerItem *multiLayerItem();
 
-    InstrumentItem *instrumentItem();
+    GISASInstrumentItem *instrumentItem();
 
     SimulationOptionsItem *getSimulationOptionsItem();
 
diff --git a/GUI/coregui/Models/JobItemUtils.cpp b/GUI/coregui/Models/JobItemUtils.cpp
index 66b4406a007..c9b552a0e03 100644
--- a/GUI/coregui/Models/JobItemUtils.cpp
+++ b/GUI/coregui/Models/JobItemUtils.cpp
@@ -70,7 +70,7 @@ void JobItemUtils::setResults(IntensityDataItem* intensityItem, const GISASSimul
 //! InstrumentItem is used to get domain's detector map for given units.
 
 void JobItemUtils::updateDataAxes(IntensityDataItem* intensityItem,
-                                  const InstrumentItem* instrumentItem)
+                                  const GISASInstrumentItem* instrumentItem)
 {
     Q_ASSERT(intensityItem);
     Q_ASSERT(instrumentItem);
@@ -145,7 +145,7 @@ AxesUnits JobItemUtils::preferableGUIAxesUnits(AxesUnits default_units)
 //! Sets axes units suitable for given instrument.
 
 void JobItemUtils::setIntensityItemAxesUnits(IntensityDataItem* intensityItem,
-                                              const InstrumentItem* instrumentItem)
+                                              const GISASInstrumentItem* instrumentItem)
 {
     DomainObjectBuilder builder;
     auto instrument = builder.buildInstrument(*instrumentItem);
@@ -192,7 +192,7 @@ void JobItemUtils::updateAxesTitle(IntensityDataItem* intensityItem)
 }
 
 void JobItemUtils::createDefaultDetectorMap(IntensityDataItem* intensityItem,
-                                            const InstrumentItem* instrumentItem)
+                                            const GISASInstrumentItem* instrumentItem)
 {
     DomainObjectBuilder builder;
     auto instrument = builder.buildInstrument(*instrumentItem);
@@ -207,7 +207,7 @@ void JobItemUtils::createDefaultDetectorMap(IntensityDataItem* intensityItem,
 }
 
 //! creates detector map from instrument description with axes corresponding to given units
-OutputData<double>* JobItemUtils::createDetectorMap(const InstrumentItem* instrumentItem,
+OutputData<double>* JobItemUtils::createDetectorMap(const GISASInstrumentItem* instrumentItem,
                                                      AxesUnits units)
 {
     DomainObjectBuilder builder;
diff --git a/GUI/coregui/Models/JobItemUtils.h b/GUI/coregui/Models/JobItemUtils.h
index 25a6f48916a..dfb574737ad 100644
--- a/GUI/coregui/Models/JobItemUtils.h
+++ b/GUI/coregui/Models/JobItemUtils.h
@@ -20,7 +20,7 @@
 
 class GISASSimulation;
 class IntensityDataItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class JobItem;
 
 //! Contains set of convenience methods to set data to the IntensityDataItem from domain simulation.
@@ -34,7 +34,7 @@ BA_CORE_API_ void setResults(IntensityDataItem* intensityItem, const GISASSimula
 
 //! updates axes of OutputData in IntensityData item
 BA_CORE_API_ void updateDataAxes(IntensityDataItem* intensityItem,
-                                 const InstrumentItem* instrumentItem);
+                                 const GISASInstrumentItem* instrumentItem);
 
 //! loads intensity data from project directory
 BA_CORE_API_ void loadIntensityData(IntensityDataItem* intensityItem, const QString& projectDir);
@@ -52,7 +52,7 @@ BA_CORE_API_ AxesUnits axesUnitsFromName(const QString& name);
 BA_CORE_API_ AxesUnits preferableGUIAxesUnits(AxesUnits default_units);
 
 BA_CORE_API_ void setIntensityItemAxesUnits(IntensityDataItem* intensityItem,
-                                            const InstrumentItem* instrumentItem);
+                                            const GISASInstrumentItem* instrumentItem);
 
 BA_CORE_API_ void setIntensityItemAxesUnits(IntensityDataItem* intensityItem,
                                             const IDetector* detector);
@@ -60,9 +60,9 @@ BA_CORE_API_ void setIntensityItemAxesUnits(IntensityDataItem* intensityItem,
 BA_CORE_API_ void updateAxesTitle(IntensityDataItem* intensityItem);
 
 BA_CORE_API_ void createDefaultDetectorMap(IntensityDataItem* intensityItem,
-                                           const InstrumentItem* instrumentItem);
+                                           const GISASInstrumentItem* instrumentItem);
 
-BA_CORE_API_ OutputData<double>* createDetectorMap(const InstrumentItem* instrumentItem,
+BA_CORE_API_ OutputData<double>* createDetectorMap(const GISASInstrumentItem* instrumentItem,
                                                    AxesUnits units);
 }
 
diff --git a/GUI/coregui/Models/JobModel.cpp b/GUI/coregui/Models/JobModel.cpp
index d80921bae0b..259fbd3c831 100644
--- a/GUI/coregui/Models/JobModel.cpp
+++ b/GUI/coregui/Models/JobModel.cpp
@@ -71,7 +71,7 @@ JobItem *JobModel::getJobItemForIdentifier(const QString &identifier)
 
 //! Main method to add a job
 JobItem *JobModel::addJob(const MultiLayerItem *multiLayerItem,
-                          const InstrumentItem *instrumentItem,
+                          const GISASInstrumentItem *instrumentItem,
                           const RealDataItem *realDataItem,
                           const SimulationOptionsItem *optionItem)
 {
diff --git a/GUI/coregui/Models/JobModel.h b/GUI/coregui/Models/JobModel.h
index c0f381acf3f..93f4ee9dac5 100644
--- a/GUI/coregui/Models/JobModel.h
+++ b/GUI/coregui/Models/JobModel.h
@@ -18,7 +18,7 @@
 class JobQueueData;
 class JobItem;
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class RealDataItem;
 class SimulationOptionsItem;
 
@@ -36,7 +36,7 @@ public:
     JobItem *getJobItemForIdentifier(const QString &identifier);
 
     JobItem *addJob(const MultiLayerItem *multiLayerItem,
-                    const InstrumentItem *instrumentItem,
+                    const GISASInstrumentItem *instrumentItem,
                     const RealDataItem *realDataItem,
                     const SimulationOptionsItem *optionItem);
 
diff --git a/GUI/coregui/Models/RealDataItem.cpp b/GUI/coregui/Models/RealDataItem.cpp
index b7a2d998a6c..da97a2f8e46 100644
--- a/GUI/coregui/Models/RealDataItem.cpp
+++ b/GUI/coregui/Models/RealDataItem.cpp
@@ -99,7 +99,7 @@ void RealDataItem::setOutputData(OutputData<double> *data)
     item->setOutputData(data);
 }
 
-void RealDataItem::linkToInstrument(const InstrumentItem *instrument, bool make_update)
+void RealDataItem::linkToInstrument(const GISASInstrumentItem *instrument, bool make_update)
 {
     m_linkedInstrument = instrument;
     if(make_update)
diff --git a/GUI/coregui/Models/RealDataItem.h b/GUI/coregui/Models/RealDataItem.h
index 21764eda154..dc5aa93807c 100644
--- a/GUI/coregui/Models/RealDataItem.h
+++ b/GUI/coregui/Models/RealDataItem.h
@@ -19,7 +19,7 @@
 
 template <class T> class OutputData;
 class IntensityDataItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 
 //! The RealDataItem class represents intensity data imported from file and intended for fitting.
 
@@ -36,12 +36,12 @@ public:
 
     void setOutputData(OutputData<double> *data);
 
-    void linkToInstrument(const InstrumentItem *instrument, bool make_update = true);
+    void linkToInstrument(const GISASInstrumentItem *instrument, bool make_update = true);
 
 private:
     void updateIntensityDataFileName();
     void updateToInstrument();
-    const InstrumentItem *m_linkedInstrument;
+    const GISASInstrumentItem *m_linkedInstrument;
 };
 
 #endif // REALDATAITEM_H
diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp
index 8bc1dcd05fe..1b26fb7da4b 100644
--- a/GUI/coregui/Models/TransformFromDomain.cpp
+++ b/GUI/coregui/Models/TransformFromDomain.cpp
@@ -245,7 +245,7 @@ void TransformFromDomain::setItemFromSample(BeamItem* beam_item, const GISASSimu
     SetVectorItem(*beam_item, BeamItem::P_POLARIZATION, beam.getBlochVector());
 }
 
-void TransformFromDomain::setInstrumentDetectorFromSample(InstrumentItem* instrument_item,
+void TransformFromDomain::setInstrumentDetectorFromSample(GISASInstrumentItem* instrument_item,
                                                           const GISASSimulation& simulation)
 {
     const IDetector* p_detector = simulation.getInstrument().getDetector();
@@ -525,19 +525,19 @@ void TransformFromDomain::setItemFromSample(BeamDistributionItem* beam_distribut
     setDistribution(beam_distribution_item, parameter_distribution, group_name, unit_factor);
 }
 
-void TransformFromDomain::setBackground(InstrumentItem* instrument_item,
+void TransformFromDomain::setBackground(GISASInstrumentItem* instrument_item,
                                         const GISASSimulation& simulation)
 {
     auto p_bg = simulation.background();
     if (auto p_constant_bg = dynamic_cast<const ConstantBackground*>(p_bg)) {
         auto constant_bg_item = instrument_item->setGroupProperty(
-                                    InstrumentItem::P_BACKGROUND,
+                                    GISASInstrumentItem::P_BACKGROUND,
                                     Constants::ConstantBackgroundType);
         double value = p_constant_bg->backgroundValue();
         constant_bg_item->setItemValue(ConstantBackgroundItem::P_VALUE, value);
     }
     else if (dynamic_cast<const PoissonNoiseBackground*>(p_bg)) {
-        instrument_item->setGroupProperty(InstrumentItem::P_BACKGROUND,
+        instrument_item->setGroupProperty(GISASInstrumentItem::P_BACKGROUND,
                                           Constants::PoissonNoiseBackgroundType);
     }
 }
diff --git a/GUI/coregui/Models/TransformFromDomain.h b/GUI/coregui/Models/TransformFromDomain.h
index 2e28b704862..b07eb45f346 100644
--- a/GUI/coregui/Models/TransformFromDomain.h
+++ b/GUI/coregui/Models/TransformFromDomain.h
@@ -39,7 +39,7 @@ class SphericalDetectorItem;
 class DetectorItem;
 class MaskContainerItem;
 class IDetector;
-class InstrumentItem;
+class GISASInstrumentItem;
 
 namespace TransformFromDomain
 {
@@ -72,7 +72,7 @@ BA_CORE_API_ bool isValidRoughness(const LayerRoughness* roughness);
 BA_CORE_API_ void setItemFromSample(BeamItem* beam_item,
                                     const GISASSimulation& simulation);
 
-BA_CORE_API_ void setInstrumentDetectorFromSample(InstrumentItem* detector_item,
+BA_CORE_API_ void setInstrumentDetectorFromSample(GISASInstrumentItem* detector_item,
                                                   const GISASSimulation& simulation);
 
 BA_CORE_API_ void setItemFromSample(SphericalDetectorItem* detector_item,
@@ -90,7 +90,7 @@ BA_CORE_API_ void setDetectorMasks(MaskContainerItem* container_item,
 BA_CORE_API_ void setItemFromSample(BeamDistributionItem* beam_distribution_item,
                                     const ParameterDistribution& parameter_distribution);
 
-BA_CORE_API_ void setBackground(InstrumentItem* instrument_item,
+BA_CORE_API_ void setBackground(GISASInstrumentItem* instrument_item,
                                 const GISASSimulation& simulation);
 }
 
diff --git a/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.cpp b/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.cpp
index a90e1da0260..71b2102847c 100644
--- a/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.cpp
+++ b/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.cpp
@@ -95,7 +95,7 @@ OutputData<double> *ImportDataAssistant::createSimplifiedOutputData(const Output
     return result;
 }
 
-bool ImportDataAssistant::hasSameDimensions(const InstrumentItem *instrumentItem,
+bool ImportDataAssistant::hasSameDimensions(const GISASInstrumentItem *instrumentItem,
                                             const RealDataItem *realDataItem)
 {
     QString message;
@@ -104,7 +104,7 @@ bool ImportDataAssistant::hasSameDimensions(const InstrumentItem *instrumentItem
 
 //! Returns trues if [nxbin X nybin] of the detector is the same as in realData.
 
-bool ImportDataAssistant::hasSameDimensions(const InstrumentItem *instrumentItem,
+bool ImportDataAssistant::hasSameDimensions(const GISASInstrumentItem *instrumentItem,
                               const RealDataItem *realDataItem, QString &message)
 {
     bool isSame(true);
@@ -140,14 +140,14 @@ void ImportDataAssistant::realDataShape(const RealDataItem *realData, int &nx, i
 
 //! Returns shape of Instrument's detector axes.
 
-void ImportDataAssistant::detectorShape(const InstrumentItem *instrumentItem, int &nx, int &ny)
+void ImportDataAssistant::detectorShape(const GISASInstrumentItem *instrumentItem, int &nx, int &ny)
 {
     std::unique_ptr<IDetector2D> detector = instrumentItem ->detectorItem()->createDetector();
     nx = static_cast<int>(detector->getAxis(0).size());
     ny = static_cast<int>(detector->getAxis(1).size());
 }
 
-void ImportDataAssistant::setInstrumentShapeToData(InstrumentItem *instrumentItem,
+void ImportDataAssistant::setInstrumentShapeToData(GISASInstrumentItem *instrumentItem,
                                                    const RealDataItem *realDataItemItem)
 {
     int nxData(0), nyData(0);
diff --git a/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.h b/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.h
index 3bb6eff7061..d6b0e54b66b 100644
--- a/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.h
+++ b/GUI/coregui/Views/ImportDataWidgets/ImportDataAssistant.h
@@ -20,7 +20,7 @@
 
 template <class T> class OutputData;
 class RealDataItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 
 //! The ImportDataAssistant class provides utility methods to import data files.
 
@@ -31,18 +31,18 @@ public:
 
     static OutputData<double> *createSimplifiedOutputData(const OutputData<double> &data);
 
-    static bool hasSameDimensions(const InstrumentItem *instrumentItem,
+    static bool hasSameDimensions(const GISASInstrumentItem *instrumentItem,
                                   const RealDataItem *realDataItem);
 
-    static bool hasSameDimensions(const InstrumentItem *instrumentItem,
+    static bool hasSameDimensions(const GISASInstrumentItem *instrumentItem,
                                   const RealDataItem *realDataItem,
                                   QString &message);
 
     static void realDataShape(const RealDataItem *realData, int &nx, int &ny);
 
-    static void detectorShape(const InstrumentItem *instrumentItem, int &nx, int &ny);
+    static void detectorShape(const GISASInstrumentItem *instrumentItem, int &nx, int &ny);
 
-    static void setInstrumentShapeToData(InstrumentItem *instrumentItem,
+    static void setInstrumentShapeToData(GISASInstrumentItem *instrumentItem,
                                          const RealDataItem *realDataItemItem);
 
 };
diff --git a/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp b/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp
index 61793767833..99fd6f17866 100644
--- a/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp
+++ b/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp
@@ -55,7 +55,7 @@ void LinkInstrumentManager::setModels(InstrumentModel *instrumentModel,
 
 //! Returns InstrumentItem for given identifier.
 
-InstrumentItem *LinkInstrumentManager::getInstrument(const QString &identifier)
+GISASInstrumentItem *LinkInstrumentManager::getInstrument(const QString &identifier)
 {
     for(int i=0; i<m_instrumentVec.size(); ++i)
         if(m_instrumentVec[i].m_identifier == identifier)
@@ -99,7 +99,7 @@ QString LinkInstrumentManager::instrumentIdentifier(int comboIndex)
 bool LinkInstrumentManager::canLinkDataToInstrument(const RealDataItem *realDataItem,
                                                     const QString &identifier)
 {
-    InstrumentItem *instrumentItem = getInstrument(identifier);
+    GISASInstrumentItem *instrumentItem = getInstrument(identifier);
 
     // linking to null instrument is possible, it means unlinking from currently linked
     if(instrumentItem == nullptr)
@@ -145,7 +145,7 @@ void LinkInstrumentManager::setOnInstrumentPropertyChange(SessionItem *instrumen
                                                           const QString &property)
 {
     Q_ASSERT(instrument);
-    if(property == SessionItem::P_NAME || property == InstrumentItem::P_IDENTIFIER) {
+    if(property == SessionItem::P_NAME || property == GISASInstrumentItem::P_IDENTIFIER) {
         updateInstrumentMap();
     }
 }
@@ -164,7 +164,7 @@ void LinkInstrumentManager::setOnRealDataPropertyChange(SessionItem *dataItem,
 
 //! Perform actions on instrument children change.
 
-void LinkInstrumentManager::onInstrumentChildChange(InstrumentItem *instrument, SessionItem *child)
+void LinkInstrumentManager::onInstrumentChildChange(GISASInstrumentItem *instrument, SessionItem *child)
 {
     if(child == nullptr)
         return;
@@ -208,7 +208,7 @@ void LinkInstrumentManager::updateLinks()
         Q_ASSERT(realDataItem);
 
         QString identifier = realDataItem->getItemValue(RealDataItem::P_INSTRUMENT_ID).toString();
-        InstrumentItem *instrumentItem = getInstrument(identifier);
+        GISASInstrumentItem *instrumentItem = getInstrument(identifier);
 
         if(!instrumentItem) {
             // if no instrument with P_INSTRUMENT_ID exists, break the link
@@ -227,7 +227,7 @@ void LinkInstrumentManager::updateInstrumentMap()
     m_instrumentVec.clear();
     m_instrumentVec.append(InstrumentInfo()); // undefined instrument
     foreach(SessionItem *item, m_instrumentModel->topItems(Constants::GISASInstrumentType)) {
-        InstrumentItem *instrumentItem = dynamic_cast<InstrumentItem *>(item);
+        GISASInstrumentItem *instrumentItem = dynamic_cast<GISASInstrumentItem *>(item);
         instrumentItem->mapper()->unsubscribe(this);
 
         instrumentItem->mapper()->setOnPropertyChange(
@@ -244,7 +244,7 @@ void LinkInstrumentManager::updateInstrumentMap()
 
         InstrumentInfo info;
         info.m_name = item->itemName();
-        info.m_identifier = item->getItemValue(InstrumentItem::P_IDENTIFIER).toString();
+        info.m_identifier = item->getItemValue(GISASInstrumentItem::P_IDENTIFIER).toString();
         info.m_instrument = instrumentItem;
         m_instrumentVec.append(info);
     }
@@ -270,7 +270,7 @@ void LinkInstrumentManager::updateRealDataMap()
 
 //! Runs through all RealDataItem and break the link, if instrument binning doesn't match the data.
 
-void LinkInstrumentManager::onInstrumentBinningChange(InstrumentItem *changedInstrument)
+void LinkInstrumentManager::onInstrumentBinningChange(GISASInstrumentItem *changedInstrument)
 {
     foreach(RealDataItem *realDataItem, linkedItems(changedInstrument)) {
         if(!ImportDataAssistant::hasSameDimensions(changedInstrument, realDataItem)) {
@@ -282,7 +282,7 @@ void LinkInstrumentManager::onInstrumentBinningChange(InstrumentItem *changedIns
 //! Runs through all RealDataItem and refresh linking to match possible change in detector
 //! axes definition.
 
-void LinkInstrumentManager::onInstrumentLayoutChange(InstrumentItem *changedInstrument)
+void LinkInstrumentManager::onInstrumentLayoutChange(GISASInstrumentItem *changedInstrument)
 {
     foreach(RealDataItem *realDataItem, linkedItems(changedInstrument))
         realDataItem->linkToInstrument(changedInstrument);
@@ -290,7 +290,7 @@ void LinkInstrumentManager::onInstrumentLayoutChange(InstrumentItem *changedInst
 
 //! Returns list of RealDataItem's linked to given instrument.
 
-QList<RealDataItem *> LinkInstrumentManager::linkedItems(InstrumentItem *instrumentItem)
+QList<RealDataItem *> LinkInstrumentManager::linkedItems(GISASInstrumentItem *instrumentItem)
 {
     QList<RealDataItem *> result;
     foreach(SessionItem *item, m_realDataModel->topItems(Constants::RealDataType)) {
@@ -299,7 +299,7 @@ QList<RealDataItem *> LinkInstrumentManager::linkedItems(InstrumentItem *instrum
         QString linkedIdentifier
             = realDataItem->getItemValue(RealDataItem::P_INSTRUMENT_ID).toString();
         QString instrumentIdentifier
-            = instrumentItem->getItemValue(InstrumentItem::P_IDENTIFIER).toString();
+            = instrumentItem->getItemValue(GISASInstrumentItem::P_IDENTIFIER).toString();
 
         if(linkedIdentifier == instrumentIdentifier)
             result.append(realDataItem);
diff --git a/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.h b/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.h
index 221b5e775e7..0a38e9cdf36 100644
--- a/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.h
+++ b/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.h
@@ -24,7 +24,7 @@
 class InstrumentModel;
 class RealDataModel;
 class SessionItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class RealDataItem;
 class SessionModel;
 
@@ -42,20 +42,20 @@ public:
         InstrumentInfo();
         QString m_identifier;
         QString m_name;
-        InstrumentItem *m_instrument;
+        GISASInstrumentItem *m_instrument;
     };
 
     explicit LinkInstrumentManager(QObject *parent =  0);
 
     void setModels(InstrumentModel *instrumentModel, RealDataModel *realDataModel);
 
-    InstrumentItem *getInstrument(const QString &identifier);
+    GISASInstrumentItem *getInstrument(const QString &identifier);
     QStringList instrumentNames() const;
     int instrumentComboIndex(const QString &identifier);
     QString instrumentIdentifier(int comboIndex);
     bool canLinkDataToInstrument(const RealDataItem *realDataItem, const QString &identifier);
 
-    QList<RealDataItem *> linkedItems(InstrumentItem *instrumentItem);
+    QList<RealDataItem *> linkedItems(GISASInstrumentItem *instrumentItem);
 
 signals:
     void instrumentMapUpdated();
@@ -63,15 +63,15 @@ signals:
 private slots:
     void setOnInstrumentPropertyChange(SessionItem *instrument, const QString &property);
     void setOnRealDataPropertyChange(SessionItem *dataItem, const QString &property);
-    void onInstrumentChildChange(InstrumentItem *instrument, SessionItem *child);
+    void onInstrumentChildChange(GISASInstrumentItem *instrument, SessionItem *child);
     void onInstrumentRowsChange(const QModelIndex & parent, int, int);
     void onRealDataRowsChange(const QModelIndex & parent, int, int);
 
     void updateLinks();
     void updateInstrumentMap();
     void updateRealDataMap();
-    void onInstrumentBinningChange(InstrumentItem *changedInstrument);
-    void onInstrumentLayoutChange(InstrumentItem *changedInstrument);
+    void onInstrumentBinningChange(GISASInstrumentItem *changedInstrument);
+    void onInstrumentLayoutChange(GISASInstrumentItem *changedInstrument);
 
 private:
     void setInstrumentModel(InstrumentModel *model);
diff --git a/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.cpp b/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.cpp
index 7fd66c0d913..fd83a823512 100644
--- a/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.cpp
+++ b/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.cpp
@@ -63,7 +63,7 @@ void DetectorEditorWidget::subscribeToItem()
 
     currentItem()->mapper()->setOnPropertyChange(
         [this](const QString& name) {
-            if (name == InstrumentItem::P_DETECTOR)
+            if (name == GISASInstrumentItem::P_DETECTOR)
                 init_SubDetector_Widget();
         }, this);
 
@@ -111,7 +111,7 @@ void DetectorEditorWidget::remove_SubDetectorWidget()
     m_subDetectorWidget = 0;
 }
 
-InstrumentItem* DetectorEditorWidget::instrumentItem()
+GISASInstrumentItem* DetectorEditorWidget::instrumentItem()
 {
-    return dynamic_cast<InstrumentItem*>(currentItem());
+    return dynamic_cast<GISASInstrumentItem*>(currentItem());
 }
diff --git a/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.h b/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.h
index d55df44b179..b44341112b0 100644
--- a/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.h
+++ b/GUI/coregui/Views/InstrumentWidgets/DetectorEditorWidget.h
@@ -22,7 +22,7 @@ class DetectorItem;
 class ComponentEditor;
 class QGridLayout;
 class ColumnResizer;
-class InstrumentItem;
+class GISASInstrumentItem;
 
 class BA_CORE_API_ DetectorEditorWidget : public SessionItemWidget
 {
@@ -43,7 +43,7 @@ protected:
 private:
     void init_SubDetector_Widget();
     void remove_SubDetectorWidget();
-    InstrumentItem* instrumentItem();
+    GISASInstrumentItem* instrumentItem();
 
     ColumnResizer* m_columnResizer;
     ComponentEditor* m_detectorTypeEditor;
diff --git a/GUI/coregui/Views/InstrumentWidgets/DetectorMaskDelegate.cpp b/GUI/coregui/Views/InstrumentWidgets/DetectorMaskDelegate.cpp
index de7ce0a4b5f..ec8bf6e59a7 100644
--- a/GUI/coregui/Views/InstrumentWidgets/DetectorMaskDelegate.cpp
+++ b/GUI/coregui/Views/InstrumentWidgets/DetectorMaskDelegate.cpp
@@ -73,7 +73,7 @@ void DetectorMaskDelegate::createIntensityDataItem()
     zAxisItem.setItemValue(AmplitudeAxisItem::P_LOCK_MIN_MAX, true);
 
     // creating output data corresponding to the detector
-    auto instrument = dynamic_cast<const InstrumentItem*>(
+    auto instrument = dynamic_cast<const GISASInstrumentItem*>(
                 ModelPath::ancestor(m_detectorItem, Constants::GISASInstrumentType));
     JobItemUtils::createDefaultDetectorMap(m_intensityItem, instrument);
 
diff --git a/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.cpp b/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.cpp
index 54ca839ef83..15f5edb06dd 100644
--- a/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.cpp
+++ b/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.cpp
@@ -51,7 +51,7 @@ InstrumentComponentsWidget::InstrumentComponentsWidget(QWidget* parent)
     setStyleSheet("InstrumentComponentsWidget {background-color:transparent;}");
 }
 
-void InstrumentComponentsWidget::setInstrumentItem(InstrumentItem* instrumentItem)
+void InstrumentComponentsWidget::setInstrumentItem(GISASInstrumentItem* instrumentItem)
 {
     m_backgroundEditor->clearEditor();
     if(instrumentItem) {
diff --git a/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.h b/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.h
index affcb283d59..dd89fcc60f3 100644
--- a/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.h
+++ b/GUI/coregui/Views/InstrumentWidgets/InstrumentComponentsWidget.h
@@ -18,7 +18,7 @@
 #include "WinDllMacros.h"
 #include <QWidget>
 
-class InstrumentItem;
+class GISASInstrumentItem;
 class ComponentEditor;
 class DetectorItem;
 class BeamEditorWidget;
@@ -31,7 +31,7 @@ class BA_CORE_API_ InstrumentComponentsWidget : public QWidget
 public:
     InstrumentComponentsWidget(QWidget* parent = 0);
 
-    void setInstrumentItem(InstrumentItem* instrumentItem);
+    void setInstrumentItem(GISASInstrumentItem* instrumentItem);
 
 signals:
     void extendedDetectorEditorRequest(DetectorItem*);
diff --git a/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp b/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp
index 57009b868b7..cdf1e48616d 100644
--- a/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp
+++ b/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp
@@ -68,7 +68,7 @@ void InstrumentEditorWidget::setItem(SessionItem* instrument)
     m_currentItem = instrument;
     updateWidgets();
 
-    InstrumentItem* instrumentItem = dynamic_cast<InstrumentItem*>(instrument);
+    GISASInstrumentItem* instrumentItem = dynamic_cast<GISASInstrumentItem*>(instrument);
     m_instrumentComponents->setInstrumentItem(instrumentItem);
 }
 
diff --git a/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.cpp b/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.cpp
index 8639e133ba7..6856ff225ef 100644
--- a/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.cpp
+++ b/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.cpp
@@ -76,7 +76,7 @@ PythonScriptWidget::PythonScriptWidget(QWidget *parent)
 }
 
 void PythonScriptWidget::generatePythonScript(const MultiLayerItem *sampleItem,
-        const InstrumentItem *instrumentItem, const SimulationOptionsItem *optionItem,
+        const GISASInstrumentItem *instrumentItem, const SimulationOptionsItem *optionItem,
                                               const QString &outputDir)
 {
     m_outputDir = outputDir;
diff --git a/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.h b/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.h
index a9f5c591dc1..04d8c498c3b 100644
--- a/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.h
+++ b/GUI/coregui/Views/SimulationWidgets/PythonScriptWidget.h
@@ -22,7 +22,7 @@ class QToolBar;
 class QTextEdit;
 class WarningSign;
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class SimulationOptionsItem;
 
 //! The PythonScriptWidget displays a python script which represents full simulation.
@@ -36,7 +36,7 @@ public:
     PythonScriptWidget(QWidget* parent = 0);
 
     void generatePythonScript(const MultiLayerItem* sampleItem,
-                              const InstrumentItem* instrumentItem,
+                              const GISASInstrumentItem* instrumentItem,
                               const SimulationOptionsItem* optionItem = 0,
                               const QString& outputDir = QString());
 
diff --git a/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.cpp b/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.cpp
index e7876a18276..9099239480d 100644
--- a/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.cpp
+++ b/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.cpp
@@ -100,11 +100,11 @@ const MultiLayerItem *SimulationDataSelectorWidget::selectedMultiLayerItem() con
 //! Returns selected InstrumentItem taking into account that there might be several
 //! instruments with same name.
 
-const InstrumentItem *SimulationDataSelectorWidget::selectedInstrumentItem() const
+const GISASInstrumentItem *SimulationDataSelectorWidget::selectedInstrumentItem() const
 {
     auto items = m_applicationModels->instrumentModel()->topItems();
     if(items.isEmpty()) return nullptr;
-    return dynamic_cast<const InstrumentItem *>(items.at(selectedInstrumentIndex()));
+    return dynamic_cast<const GISASInstrumentItem *>(items.at(selectedInstrumentIndex()));
 }
 
 //! Returns selected InstrumentItem taking into account that there might be several
diff --git a/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.h b/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.h
index ccc2d434e6d..41c768a3c53 100644
--- a/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.h
+++ b/GUI/coregui/Views/SimulationWidgets/SimulationDataSelectorWidget.h
@@ -21,7 +21,7 @@
 class ApplicationModels;
 class QComboBox;
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class RealDataItem;
 
 //! The SimulationDataSelectorWidget class represents widget to select instrument, sample and
@@ -37,7 +37,7 @@ public:
     void setApplicationModels(ApplicationModels *applicationModels);
 
     const MultiLayerItem *selectedMultiLayerItem() const;
-    const InstrumentItem *selectedInstrumentItem() const;
+    const GISASInstrumentItem *selectedInstrumentItem() const;
     const RealDataItem *selectedRealDataItem() const;
 
     void updateViewElements();
diff --git a/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.cpp b/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.cpp
index d1d1d84cc4a..e50779c3ea1 100644
--- a/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.cpp
+++ b/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.cpp
@@ -26,7 +26,7 @@ SimulationSetupAssistant::SimulationSetupAssistant()
 }
 
 bool SimulationSetupAssistant::isValidSimulationSetup(const MultiLayerItem *multiLayerItem,
-                                                      const InstrumentItem *instrumentItem,
+                                                      const GISASInstrumentItem *instrumentItem,
                                                       const RealDataItem *realData)
 {
     clear();
@@ -61,7 +61,7 @@ void SimulationSetupAssistant::checkMultiLayerItem(const MultiLayerItem *multiLa
     }
 }
 
-void SimulationSetupAssistant::checkInstrumentItem(const InstrumentItem *instrumentItem)
+void SimulationSetupAssistant::checkInstrumentItem(const GISASInstrumentItem *instrumentItem)
 {
     if(!instrumentItem) {
         m_messages.append(QStringLiteral("No instrument selected"));
@@ -72,7 +72,7 @@ void SimulationSetupAssistant::checkInstrumentItem(const InstrumentItem *instrum
 //! Check if setup is suitable for fitting. In the case when there is a realData defined,
 //! its axes will be compared with current detector item.
 
-void SimulationSetupAssistant::checkFittingSetup(const InstrumentItem *instrumentItem,
+void SimulationSetupAssistant::checkFittingSetup(const GISASInstrumentItem *instrumentItem,
                                                  const RealDataItem *realData)
 {
     if(!realData)
diff --git a/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.h b/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.h
index 4f51b6b5002..4c3665adae5 100644
--- a/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.h
+++ b/GUI/coregui/Views/SimulationWidgets/SimulationSetupAssistant.h
@@ -19,7 +19,7 @@
 #include <QStringList>
 
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class RealDataItem;
 
 //! The SimulationSetupAssistant class provides sample, instrument and real data validation before
@@ -30,13 +30,13 @@ public:
     SimulationSetupAssistant();
 
     bool isValidSimulationSetup(const MultiLayerItem *multiLayerItem,
-                                const InstrumentItem *instrumentItem,
+                                const GISASInstrumentItem *instrumentItem,
                                 const RealDataItem *realData = 0);
 private:
     void clear();
     void checkMultiLayerItem(const MultiLayerItem *multiLayerItem);
-    void checkInstrumentItem(const InstrumentItem *instrumentItem);
-    void checkFittingSetup(const InstrumentItem *instrumentItem, const RealDataItem *realData);
+    void checkInstrumentItem(const GISASInstrumentItem *instrumentItem);
+    void checkFittingSetup(const GISASInstrumentItem *instrumentItem, const RealDataItem *realData);
     QString composeMessage();
 
     bool m_isValid;
diff --git a/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.cpp b/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.cpp
index f7236ebdec0..06f9bc5cb9a 100644
--- a/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.cpp
+++ b/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.cpp
@@ -66,7 +66,7 @@ void SimulationSetupWidget::updateViewElements()
 void SimulationSetupWidget::onRunSimulation()
 {
     const MultiLayerItem *multiLayerItem = m_simDataSelectorWidget->selectedMultiLayerItem();
-    const InstrumentItem *instrumentItem = m_simDataSelectorWidget->selectedInstrumentItem();
+    const GISASInstrumentItem *instrumentItem = m_simDataSelectorWidget->selectedInstrumentItem();
     const RealDataItem *realDataItem = m_simDataSelectorWidget->selectedRealDataItem();
 
     SimulationSetupAssistant assistant;
@@ -86,7 +86,7 @@ void SimulationSetupWidget::onRunSimulation()
 void SimulationSetupWidget::onExportToPythonScript()
 {
     const MultiLayerItem *multiLayerItem = m_simDataSelectorWidget->selectedMultiLayerItem();
-    const InstrumentItem *instrumentItem = m_simDataSelectorWidget->selectedInstrumentItem();
+    const GISASInstrumentItem *instrumentItem = m_simDataSelectorWidget->selectedInstrumentItem();
 
     SimulationSetupAssistant assistant;
     if(!assistant.isValidSimulationSetup(multiLayerItem, instrumentItem))
diff --git a/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.h b/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.h
index 338c7d09720..d72dfafdb49 100644
--- a/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.h
+++ b/GUI/coregui/Views/SimulationWidgets/SimulationSetupWidget.h
@@ -20,7 +20,7 @@
 
 class QPushButton;
 class MultiLayerItem;
-class InstrumentItem;
+class GISASInstrumentItem;
 class SimulationDataSelectorWidget;
 class SimulationOptionsWidget;
 class ApplicationModels;
diff --git a/Tests/UnitTests/GUI/TestDetectorItems.h b/Tests/UnitTests/GUI/TestDetectorItems.h
index 1aae6f85828..7977ab324e5 100644
--- a/Tests/UnitTests/GUI/TestDetectorItems.h
+++ b/Tests/UnitTests/GUI/TestDetectorItems.h
@@ -40,8 +40,8 @@ TEST_F(TestDetectorItems, test_detectorAlignment)
 TEST_F(TestDetectorItems, test_resolutionFunction)
 {
     InstrumentModel model;
-    InstrumentItem* instrument
-        = dynamic_cast<InstrumentItem*>(model.insertNewItem(Constants::GISASInstrumentType));
+    GISASInstrumentItem* instrument
+        = dynamic_cast<GISASInstrumentItem*>(model.insertNewItem(Constants::GISASInstrumentType));
 
     DetectorItem* detectorItem = instrument->detectorItem();
 
diff --git a/Tests/UnitTests/GUI/TestLinkInstrument.h b/Tests/UnitTests/GUI/TestLinkInstrument.h
index 0ed31aaddfc..8f436a92467 100644
--- a/Tests/UnitTests/GUI/TestLinkInstrument.h
+++ b/Tests/UnitTests/GUI/TestLinkInstrument.h
@@ -33,9 +33,9 @@ TEST_F(TestLinkInstrument, test_linkInstrumentManager)
     QSignalSpy spy(&manager, SIGNAL(instrumentMapUpdated()));
 
     // populating instrument model
-    InstrumentItem* instrument
-        = dynamic_cast<InstrumentItem*>(instrumentModel.insertNewItem(Constants::GISASInstrumentType));
-    QString identifier = instrument->getItemValue(InstrumentItem::P_IDENTIFIER).toString();
+    GISASInstrumentItem* instrument
+        = dynamic_cast<GISASInstrumentItem*>(instrumentModel.insertNewItem(Constants::GISASInstrumentType));
+    QString identifier = instrument->getItemValue(GISASInstrumentItem::P_IDENTIFIER).toString();
 
     // checking that LinkInstrumentManager was notified about new instrument
     EXPECT_EQ(spy.count(), 1);
@@ -60,9 +60,9 @@ TEST_F(TestLinkInstrument, test_canLinkToInstrument)
     manager.setModels(&instrumentModel, &realDataModel);
 
     // populating instrument model
-    InstrumentItem* instrument
-        = dynamic_cast<InstrumentItem*>(instrumentModel.insertNewItem(Constants::GISASInstrumentType));
-    QString identifier = instrument->getItemValue(InstrumentItem::P_IDENTIFIER).toString();
+    GISASInstrumentItem* instrument
+        = dynamic_cast<GISASInstrumentItem*>(instrumentModel.insertNewItem(Constants::GISASInstrumentType));
+    QString identifier = instrument->getItemValue(GISASInstrumentItem::P_IDENTIFIER).toString();
 
     // populating real data model, setting intensity data
     RealDataItem* realData
diff --git a/Tests/UnitTests/GUI/TestProjectDocument.h b/Tests/UnitTests/GUI/TestProjectDocument.h
index 5aba0954ebe..d7b9254bed6 100644
--- a/Tests/UnitTests/GUI/TestProjectDocument.h
+++ b/Tests/UnitTests/GUI/TestProjectDocument.h
@@ -22,7 +22,7 @@ public:
     void modify_models(ApplicationModels* models)
     {
         auto instrument = models->instrumentModel()->instrumentItem();
-        instrument->setItemValue(InstrumentItem::P_IDENTIFIER, GUIHelpers::createUuid());
+        instrument->setItemValue(GISASInstrumentItem::P_IDENTIFIER, GUIHelpers::createUuid());
     }
 };
 
diff --git a/Tests/UnitTests/GUI/TestSaveService.h b/Tests/UnitTests/GUI/TestSaveService.h
index 961891cb423..13878d4776d 100644
--- a/Tests/UnitTests/GUI/TestSaveService.h
+++ b/Tests/UnitTests/GUI/TestSaveService.h
@@ -23,7 +23,7 @@ public:
     void modify_models(ApplicationModels* models)
     {
         auto instrument = models->instrumentModel()->instrumentItem();
-        instrument->setItemValue(InstrumentItem::P_IDENTIFIER, GUIHelpers::createUuid());
+        instrument->setItemValue(GISASInstrumentItem::P_IDENTIFIER, GUIHelpers::createUuid());
     }
 };
 
diff --git a/Tests/UnitTests/GUI/TestTranslations.h b/Tests/UnitTests/GUI/TestTranslations.h
index 22c466ad6b4..02875aac32b 100644
--- a/Tests/UnitTests/GUI/TestTranslations.h
+++ b/Tests/UnitTests/GUI/TestTranslations.h
@@ -56,7 +56,7 @@ TEST_F(TestTranslations, test_BeamDistributionNone)
 {
     SampleModel model;
     SessionItem* instrument = model.insertNewItem(Constants::GISASInstrumentType);
-    SessionItem* beam = instrument->getItem(InstrumentItem::P_BEAM);
+    SessionItem* beam = instrument->getItem(GISASInstrumentItem::P_BEAM);
 
     SessionItem* wavelength = beam->getItem(BeamItem::P_WAVELENGTH);
 
-- 
GitLab