BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
JobItem.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Models/JobItem.h
6 //! @brief Defines class JobItem
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_JOBITEM_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_JOBITEM_H
17 
19 
20 class DataItem;
21 class Data1DViewItem;
23 class FitSuiteItem;
24 class InstrumentItem;
25 class IntensityDataItem;
27 class MultiLayerItem;
29 class RealDataItem;
30 class ISimulation;
32 
33 class BA_CORE_API_ JobItem : public SessionItem {
34 
35 public:
36  static const QString P_IDENTIFIER;
37  static const QString P_SAMPLE_NAME;
38  static const QString P_INSTRUMENT_NAME;
39  static const QString P_WITH_FITTING;
40  static const QString P_STATUS;
41  static const QString P_BEGIN_TIME;
42  static const QString P_END_TIME;
43  static const QString P_DURATION;
44  static const QString P_COMMENTS;
45  static const QString P_PROGRESS;
46  static const QString P_PRESENTATION_TYPE;
47  static const QString T_SAMPLE;
48  static const QString T_MATERIAL_CONTAINER;
49  static const QString T_INSTRUMENT;
50  static const QString T_OUTPUT;
51  static const QString T_REALDATA;
52  static const QString T_DATAVIEW;
53  static const QString T_PARAMETER_TREE;
54  static const QString T_SIMULATION_OPTIONS;
55  static const QString T_FIT_SUITE;
56 
57  JobItem();
58 
59  QString getIdentifier() const;
60  void setIdentifier(const QString& identifier);
61 
63  DataItem* dataItem();
64 
65  QString getStatus() const;
66  void setStatus(const QString& status);
67 
68  bool isIdle() const;
69  bool isRunning() const;
70  bool isCompleted() const;
71  bool isCanceled() const;
72  bool isFailed() const;
73  bool isValidForFitting();
74 
75  void setBeginTime(const QString& begin_time);
76 
77  void setEndTime(const QString& end_time);
78 
79  void setDuration(int duration);
80 
81  QString getComments() const;
82  void setComments(const QString& comments);
83 
84  int getProgress() const;
85  void setProgress(int progress);
86 
87  bool runImmediately() const;
88  bool runInBackground() const;
89 
90  MultiLayerItem* multiLayerItem();
91 
92  InstrumentItem* instrumentItem();
93 
94  SimulationOptionsItem* simulationOptionsItem();
95 
96  void setResults(const ISimulation* simulation);
97 
98  FitSuiteItem* fitSuiteItem();
99  ParameterContainerItem* parameterContainerItem();
100  const ParameterContainerItem* parameterContainerItem() const;
101 
102  FitParameterContainerItem* fitParameterContainerItem();
103  RealDataItem* realDataItem();
104 
105  const MaterialItemContainer* materialContainerItem() const;
106 
107  Data1DViewItem* dataItemView();
108 
109 private:
110  void updateIntensityDataFileName();
111  const SimulationOptionsItem* simulationOptionsItem() const;
112 };
113 
114 #endif // BORNAGAIN_GUI_COREGUI_MODELS_JOBITEM_H
Defines class SessionItem.
View model for 1D DataItem.
Provides common functionality for IntensityDataItem and SpecularDataItem.
Definition: DataItem.h:29
Abstract base class of OffSpecularSimulation, GISASSimulation and SpecularSimulation.
Definition: ISimulation.h:38
static const QString T_DATAVIEW
Definition: JobItem.h:52
static const QString P_DURATION
Definition: JobItem.h:43
static const QString T_SAMPLE
Definition: JobItem.h:47
static const QString P_PRESENTATION_TYPE
Definition: JobItem.h:46
static const QString P_STATUS
Definition: JobItem.h:40
static const QString T_OUTPUT
Definition: JobItem.h:50
static const QString P_PROGRESS
Definition: JobItem.h:45
static const QString T_FIT_SUITE
Definition: JobItem.h:55
static const QString P_COMMENTS
Definition: JobItem.h:44
static const QString T_PARAMETER_TREE
Definition: JobItem.h:53
static const QString T_INSTRUMENT
Definition: JobItem.h:49
static const QString P_END_TIME
Definition: JobItem.h:42
static const QString T_SIMULATION_OPTIONS
Definition: JobItem.h:54
static const QString T_REALDATA
Definition: JobItem.h:51
static const QString P_BEGIN_TIME
Definition: JobItem.h:41
static const QString P_WITH_FITTING
Definition: JobItem.h:39
static const QString T_MATERIAL_CONTAINER
Definition: JobItem.h:48
static const QString P_IDENTIFIER
Definition: JobItem.h:36
static const QString P_INSTRUMENT_NAME
Definition: JobItem.h:38
static const QString P_SAMPLE_NAME
Definition: JobItem.h:37
The ParameterContainerItem is a top item to hold all ParameterItem, represents an entry point to para...
The RealDataItem class represents intensity data imported from file and intended for fitting.
Definition: RealDataItem.h:35
The SimulationOptionsItem class holds simulation status (run policy, number of threads,...
IntensityDataItem * intensityDataItem(SessionItem *parent)
Returns IntensityDataItem contained as a child in givent parent.
void setResults(DataItem *intensityItem, const ISimulation *simulation)
Sets simulation results into the DataItem.