UltraScan III
us_analysis_control_pc.h
Go to the documentation of this file.
1 #ifndef US_ANALYSIS_CTL_H
3 #define US_ANALYSIS_CTL_H
4 
5 #include <QtGui>
6 
7 #include "us_extern.h"
8 #include "us_widgets_dialog.h"
9 #include "us_pcsa_process.h"
10 #include "us_mlplot.h"
11 #include "us_plot.h"
12 #include "us_help.h"
13 
15 
17 {
18  Q_OBJECT
19 
20  public:
24  US_AnalysisControlPc( QList< US_SolveSim::DataSet* >&, QWidget* p = 0 );
25 
27  void close( void );
28 
29  public slots:
30  void update_progress ( double );
31  void completed_process( int );
32  void progress_message( QString, bool = true );
33  void reset_steps( int, int );
34 
35  private:
36  int dbg_level;
37  int ncsteps;
38  int nctotal;
39  int grtype;
40  int bmndx;
41  int nypts;
42  int nlpts;
43  int ctype;
44  int ctypex;
45  int nlmodl;
46  int attr_x;
47  int attr_y;
48  int attr_z;
49  int sol_type;
50 
51  double xmin;
52  double xmax;
53  double ymin;
54  double ymax;
55  double yinc;
56  double varimin;
57 
58  bool need_fit;
59  bool need_final;
60  bool resume;
61 
62  QString fitpars;
63  QString type_x;
64  QString type_y;
65  QString type_z;
66  QString z_func;
67 
68  QHBoxLayout* mainLayout;
69  QGridLayout* controlsLayout;
70  QGridLayout* optimizeLayout;
71 
72  QList< US_SolveSim::DataSet* >& dsets;
73 
74  QVector< US_ModelRecord > mrecs;
75  QVector< US_ModelRecord > mrecs_mc;
76 
84  QPointer< QTextEdit > mw_stattext;
85  QStringList* mw_modstats;
86  QVector< US_ModelRecord >* mw_mrecs;
87  QVector< US_ModelRecord >* mw_mrecs_mc;
88  int* mw_baserss;
89  QVector< int > ctypes;
90 
91  QWidget* parentw;
92  QWidget* main_widg;
95 
96  QwtCounter* ct_lolimitx;
97  QwtCounter* ct_uplimitx;
98  QwtCounter* ct_lolimity;
99  QwtCounter* ct_uplimity;
100  QwtCounter* ct_varcount;
101  QwtCounter* ct_gfiters;
102  QwtCounter* ct_gfthresh;
103  QwtCounter* ct_cresolu;
104  QwtCounter* ct_lmmxcall;
105  QwtCounter* ct_tralpha;
106  QwtCounter* ct_thrdcnt;
107 
108  QComboBox* cb_curvtype;
109  QComboBox* cb_z_type;
110 
111  QCheckBox* ck_lmalpha;
112  QCheckBox* ck_fxalpha;
113  QCheckBox* ck_tinoise;
114  QCheckBox* ck_rinoise;
115 
116  QButtonGroup* bg_x_axis;
117  QButtonGroup* bg_y_axis;
118 
119  QRadioButton* rb_x_s;
120  QRadioButton* rb_x_ff0;
121  QRadioButton* rb_x_mw;
122  QRadioButton* rb_x_vbar;
123  QRadioButton* rb_x_D;;
124  QRadioButton* rb_y_s;
125  QRadioButton* rb_y_ff0;
126  QRadioButton* rb_y_mw;
127  QRadioButton* rb_y_vbar;
128  QRadioButton* rb_y_D;
129 
130  QLineEdit* le_minvari;
131  QLineEdit* le_minrmsd;
132  QLineEdit* le_z_func;
133 
134  QTextEdit* te_status;
135 
136  QPushButton* pb_pltlines;
137  QPushButton* pb_startfit;
138  QPushButton* pb_scanregp;
139  QPushButton* pb_finalmdl;
140  QPushButton* pb_stopfit;
141  QPushButton* pb_advanaly;
142  QPushButton* pb_plot;
143  QPushButton* pb_save;
144  QPushButton* pb_help;
145  QPushButton* pb_close;
146 
147  protected:
149  QProgressBar* b_progress;
150 
151  private slots:
152  void optimize_options( void );
153  void uncheck_optimize( int );
154  void xlim_change( void );
155  void ylim_change( void );
156  void reso_change( void );
157  void type_change( void );
158  void set_alpha ( void );
159  void start ( void );
160  void fit_final ( void );
161  void scan_alpha ( void );
162  void final_only ( void );
163  void stop_fit ( void );
164  void plot ( void );
165  void advanced ( void );
166  void save ( void );
167  void close_all ( void );
168  void compute ( void );
169  void plot_lines ( void );
170  void adjust_xyz ( const int = 0 );
171  void recompute_mrec( void );
172  void select_x_axis ( int );
173  void select_y_axis ( int );
174  void ztype_change ( int );
175  void closed ( QObject* );
176  void fitpars_connect( bool );
177  QString fitpars_string ( void );
178  int memory_check ( void );
179  void set_solute_type( void );
180 
181  void help ( void )
182  { showHelp.show_help( "pcsa_analys.html" ); };
183 };
184 #endif
185