BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ParameterTranslators.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Models/ParameterTranslators.h
6 //! @brief Defines interface IParameterTranslator and subclasses
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_MODELS_PARAMETERTRANSLATORS_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_PARAMETERTRANSLATORS_H
17 
18 #include <QStringList>
19 
20 class SessionItem;
21 
23 public:
24  virtual ~IPathTranslator();
25 
26  virtual IPathTranslator* clone() const = 0;
27 
28  virtual QStringList translate(const QStringList& list) const = 0;
29 };
30 
32 public:
33  ModelTypeTranslator(QString gui_model_type, QString domain_name);
34  ~ModelTypeTranslator() override {}
35 
36  ModelTypeTranslator* clone() const override;
37 
38  QStringList translate(const QStringList& list) const override;
39 
40 private:
42  QString m_domain_name;
43 };
44 
46 public:
47  AddElementTranslator(QString gui_name, QString additional_name);
48  ~AddElementTranslator() override {}
49 
50  AddElementTranslator* clone() const override;
51 
52  QStringList translate(const QStringList& list) const override;
53 
54 private:
55  QString m_gui_name;
57 };
58 
60 public:
61  ~RotationTranslator() override {}
62 
63  RotationTranslator* clone() const override { return new RotationTranslator; }
64 
65  QStringList translate(const QStringList& list) const override;
66 };
67 
69 public:
71 
73 
74  QStringList translate(const QStringList& list) const override;
75 };
76 
78 public:
79  RoughnessTranslator(const SessionItem* p_parent);
80  ~RoughnessTranslator() override {}
81 
82  RoughnessTranslator* clone() const override;
83 
84  QStringList translate(const QStringList& list) const override;
85 
86 private:
87  int getLayerIndex(QString layerName) const;
88  int numberOfLayers() const;
90 };
91 
93 public:
94  VectorParameterTranslator(QString gui_name, std::string base_name,
95  QStringList additional_names = {});
97 
98  VectorParameterTranslator* clone() const override;
99 
100  QStringList translate(const QStringList& list) const override;
101 
102 private:
103  QString m_gui_name;
104  std::string m_base_name;
105  QStringList m_additional_names;
106 };
107 
108 #endif // BORNAGAIN_GUI_COREGUI_MODELS_PARAMETERTRANSLATORS_H
AddElementTranslator * clone() const override
AddElementTranslator(QString gui_name, QString additional_name)
QStringList translate(const QStringList &list) const override
DistributionNoneTranslator * clone() const override
QStringList translate(const QStringList &list) const override
virtual ~IPathTranslator()
virtual QStringList translate(const QStringList &list) const =0
virtual IPathTranslator * clone() const =0
ModelTypeTranslator * clone() const override
QStringList translate(const QStringList &list) const override
ModelTypeTranslator(QString gui_model_type, QString domain_name)
RotationTranslator * clone() const override
QStringList translate(const QStringList &list) const override
RoughnessTranslator * clone() const override
const SessionItem * m_parent
QStringList translate(const QStringList &list) const override
int getLayerIndex(QString layerName) const
Extract layer index from the string "Layer11".
RoughnessTranslator(const SessionItem *p_parent)
Converts "/Layer1/LayerBasicRoughness/Sigma" into "/LayerInterface0/LayerBasicRoughness/Sigma".
VectorParameterTranslator * clone() const override
QStringList translate(const QStringList &list) const override
VectorParameterTranslator(QString gui_name, std::string base_name, QStringList additional_names={})
MVVM_MODEL_EXPORT std::string base_name(const std::string &path)
Provide the filename of a file path.
Definition: fileutils.cpp:78