UltraScan III
us_globalequil.h
Go to the documentation of this file.
1 #ifndef US_GLOBEQUIL_H
2 #define US_GLOBEQUIL_H
3 
4 #include "us_extern.h"
5 #include "us_widgets.h"
6 #include "us_help.h"
7 #include "us_plot.h"
8 #include "us_editor.h"
9 #include "us_db2.h"
10 #include "us_globeq_data.h"
11 #include "us_eqmodel_control.h"
12 #include "us_eqfit_control.h"
13 #include "us_eqreporter.h"
14 #include "us_eqmath.h"
15 #include "us_eqhistogram.h"
16 
17 #ifndef DbgLv
18 #define DbgLv(a) if(dbg_level>=a)qDebug()
19 #endif
20 
21 class US_GlobalEquil : public US_Widgets
22 {
23  Q_OBJECT
24 
25  public:
27 
28 
29  private:
30  QVector< ScanEdit > scedits;
31  QVector< EqScanFit > scanfits;
33 
34  QVector< US_DataIO::EditedData > dataList;
35  QVector< US_DataIO::RawData > rawList;
36  QList< int > excludedScans;
37  QStringList triples;
38  QStringList models;
39 
42 
44 
50 
51  QList< double > speed_steps;
52  QList< double > aud_params;
53  QList< double > ds_vbar20s;
54  QList< double > ds_densits;
55  QList< double > ds_viscos;
56  QStringList ds_solIDs;
57 
60  QwtPlot* equil_plot;
61 
62  QwtCounter* ct_scselect;
63 
64  QCheckBox* ck_edlast;
65 
66  QTableWidget* tw_equiscns;
67 
68  QLineEdit* le_prjname;
69  QLineEdit* le_currmodl;
70  QLineEdit* le_mxfringe;
71  QTextEdit* te_status;
72 
73  QPushButton* pb_details;
74  QPushButton* pb_view;
75  QPushButton* pb_unload;
76  QPushButton* pb_scdiags;
77  QPushButton* pb_ckscfit;
78  QPushButton* pb_conchist;
79  QPushButton* pb_resetsl;
80  QPushButton* pb_selModel;
81  QPushButton* pb_modlCtrl;
82  QPushButton* pb_fitcntrl;
83  QPushButton* pb_loadFit;
84  QPushButton* pb_monCarlo;
85  QPushButton* pb_floatPar;
86  QPushButton* pb_initPars;
87 
88  QIcon blue_arrow;
89  QIcon green_arrow;
90  QIcon red_arrow;
91 
92  QVector< double > rvec;
93  QVector< double > vvec;
94 
95  QString workingDir;
96  QString modelname;
97 
98  int dbg_level;
99  int dbdisk;
100  int iconw;
101  int vecknt;
102  int ntscns;
103  int modelx;
104  int sscanx;
105  int sscann;
106 
107  double rpm_start;
108  double sRadLo;
109  double sRadHi;
110  double sRadMv;
111  double cRadLo;
112  double cRadHi;
113  double od_limit;
114 
119  bool mDown;
120  bool mMoved;
121  bool mLowerH;
124  bool signal_mc;
126  bool show_msgs;
127 
128  private slots:
129  void load ( void );
130  void details ( void );
131  void view_report ( void );
132  void unload ( void );
133  void scan_diags ( void );
134  void check_scan_fit ( void );
135  void conc_histogram ( void );
136  void reset_scan_lims ( void );
137  void load_model ( void );
138  void new_project_name ( const QString& );
139  void select_model ( void );
140  void model_control ( void );
141  void fitting_control ( void );
142  void load_fit ( void );
143  void monte_carlo ( void );
144  void float_params ( void );
145  void init_params ( void );
146  void close_all ( void );
147  void scan_select ( double );
148  void update_disk_db ( bool );
149  void itemRowChanged ( void );
150  void doubleClickedItem ( QTableWidgetItem* );
151  bool findData( QString, double, int&, int& );
152  void pMouseDown ( const QwtDoublePoint& );
153  void pMouseUp ( const QwtDoublePoint& );
154  void pMouseMoved ( const QwtDoublePoint& );
155  void edata_plot ( void );
156  void edited_plot ( void );
157  void assign_scanfit ( void );
158  void setup_runfit ( void );
159  void new_scan ( int );
160  void od_limit_changed ( const QString& );
161  void update_limit ( double );
162  void float_all ( void );
163  void fix_all ( void );
164  int index_radius ( US_DataIO::EditedData*, double );
165  int index_od_limit ( EqScanFit&, double );
166 
167  void help ( void )
168  { showHelp.show_help("global_equil.html"); };
169 };
170 #endif