Skip to content
Snippets Groups Projects
Commit 57a88224 authored by Yurov, Dmitry's avatar Yurov, Dmitry
Browse files

SpecularInstrumentItem introduced

Redmine: #1936
parent d0550e94
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,7 @@
namespace {
const QString background_group_label = "Type";
void addAxisGroupProperty(SessionItem* parent, const QString& tag);
}
const QString InstrumentItem::P_IDENTIFIER = "Identifier";
......@@ -89,6 +90,19 @@ InstrumentItem::InstrumentItem(const QString& modelType) : SessionItem(modelType
item->setToolTip("Background type");
}
const QString SpecularInstrumentItem::P_ALPHA_AXIS = "Alpha axis";
SpecularInstrumentItem::SpecularInstrumentItem()
: InstrumentItem(Constants::SpecularInstrumentType)
{
addAxisGroupProperty(this, P_ALPHA_AXIS);
}
std::unique_ptr<Instrument> SpecularInstrumentItem::createInstrument() const
{
return InstrumentItem::createInstrument();
}
const QString Instrument2DItem::P_DETECTOR = "Detector";
Instrument2DItem::Instrument2DItem(const QString& modelType)
......@@ -146,7 +160,14 @@ const QString OffSpecInstrumentItem::P_ALPHA_AXIS = "Alpha axis";
OffSpecInstrumentItem::OffSpecInstrumentItem()
: Instrument2DItem(Constants::OffSpecInstrumentType)
{
auto item = addGroupProperty(P_ALPHA_AXIS, Constants::BasicAxisType);
addAxisGroupProperty(this, P_ALPHA_AXIS);
}
namespace
{
void addAxisGroupProperty(SessionItem* parent, const QString& tag)
{
auto item = parent->addGroupProperty(tag, Constants::BasicAxisType);
item->setToolTip("Incoming alpha range [deg]");
item->getItem(BasicAxisItem::P_TITLE)->setVisible(false);
item->getItem(BasicAxisItem::P_NBINS)->setToolTip("Number of points in scan");
......@@ -156,4 +177,5 @@ OffSpecInstrumentItem::OffSpecInstrumentItem()
item->setItemValue(BasicAxisItem::P_MIN, 0.0);
item->setItemValue(BasicAxisItem::P_MAX, 10.0);
}
} // namespace
......@@ -43,6 +43,16 @@ protected:
explicit InstrumentItem(const QString& modelType);
};
class BA_CORE_API_ SpecularInstrumentItem : public InstrumentItem
{
public:
static const QString P_ALPHA_AXIS;
SpecularInstrumentItem();
std::unique_ptr<Instrument> createInstrument() const override;
};
class BA_CORE_API_ Instrument2DItem : public InstrumentItem
{
public:
......
......@@ -41,6 +41,7 @@ const ModelType InterferenceFunction1DLatticeType = "Interference1DLattice";
const ModelType InterferenceFunction2DLatticeType = "Interference2DLattice";
const ModelType GISASInstrumentType = "GISASInstrument";
const ModelType OffSpecInstrumentType = "OffSpecInstrument";
const ModelType SpecularInstrumentType = "SpecularInstrument";
const ModelType BeamType = "Beam";
const ModelType FormFactorType = "FormFactor";
......
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