UltraScan III
us_analysis_control_2d.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_2dsa_process.h"
10 #include "us_plot.h"
11 #include "us_help.h"
12 
13 #ifndef SS_DATASET
14 #define SS_DATASET US_SolveSim::DataSet
15 #endif
16 
18 
20 {
21  Q_OBJECT
22 
23  public:
28  US_AnalysisControl2D( QList< SS_DATASET* >&, bool&, QWidget* p = 0 );
29 
30  public slots:
31  void update_progress ( int );
32  void completed_process( int );
33  void progress_message( QString, bool = true );
34  void reset_steps( int, int );
35 
36  private:
37  QList< SS_DATASET* >& dsets;
38 
39  bool& loadDB;
40 
41  int dbg_level;
42  int ncsteps;
43  int nctotal;
44  int grtype;
45  int baserss;
46  int memneed;
47 
48  QHBoxLayout* mainLayout;
49  QGridLayout* controlsLayout;
50  QGridLayout* optimizeLayout;
51 
59  QPointer< QTextEdit > mw_stattext;
60  int* mw_baserss;
61 
62  QWidget* parentw;
64 
65  QLabel* lb_lolimitk;
66  QLabel* lb_uplimitk;
67  QLabel* lb_nstepsk;
68  QLabel* lb_constff0;
69 
70  QwtCounter* ct_lolimits;
71  QwtCounter* ct_uplimits;
72  QwtCounter* ct_nstepss;
73  QwtCounter* ct_lolimitk;
74  QwtCounter* ct_uplimitk;
75  QwtCounter* ct_nstepsk;
76  QwtCounter* ct_thrdcnt;
77  QwtCounter* ct_menisrng;
78  QwtCounter* ct_menispts;
79  QwtCounter* ct_repetloc;
80  QwtCounter* ct_scfactor;
81  QwtCounter* ct_scfact2;
82  QwtCounter* ct_repetran;
83  QwtCounter* ct_stddevia;
84  QwtCounter* ct_coaldist;
85  QwtCounter* ct_nbrclips;
86  QwtCounter* ct_mciters;
87  QwtCounter* ct_iters;
88  QwtCounter* ct_constff0;
89 
90  QCheckBox* ck_tinoise;
91  QCheckBox* ck_rinoise;
92  QCheckBox* ck_autoplt;
93  QCheckBox* ck_unifgr;
94  QCheckBox* ck_custgr;
95  QCheckBox* ck_menisc;
96  QCheckBox* ck_ranlgr;
97  QCheckBox* ck_soluco;
98  QCheckBox* ck_clipcs;
99  QCheckBox* ck_mcarlo;
100  QCheckBox* ck_iters;
101  QCheckBox* ck_varvbar;
102 
103  QLineEdit* le_estmemory;
104  QLineEdit* le_iteration;
105  QLineEdit* le_oldvari;
106  QLineEdit* le_newvari;
107  QLineEdit* le_improve;
108  QLineEdit* le_gridreps;
109 
110  QTextEdit* te_status;
111 
112  QPushButton* pb_strtfit;
113  QPushButton* pb_stopfit;
114  QPushButton* pb_plot;
115  QPushButton* pb_save;
116  QPushButton* pb_ldmodel;
117 
118  protected:
120  QProgressBar* b_progress;
121 
122  private slots:
123  void optimize_options( void );
124  void uncheck_optimize( int );
125  void checkUniGrid ( bool );
126  void checkCusGrid ( bool );
127  void checkMeniscus( bool );
128  void checkIterate ( bool );
129  void checkLocalUni( bool );
130  void checkRandLoc ( bool );
131  void checkSoluCoal( bool );
132  void checkClipLow ( bool );
133  void checkMonteCar( bool );
134  void checkRegular ( bool );
135  void checkVaryVbar( bool );
136  void grid_change( void );
137  void slim_change( void );
138  void klim_change( void );
139  void kstep_change( void );
140  void start( void );
141  void stop_fit( void );
142  void plot( void );
143  void save( void );
144  void close_all( void );
145  void advanced( void );
146  void load_model( void );
147  int memory_check( void );
148 
149  void help ( void )
150  { showHelp.show_help( "2dsa_analys.html" ); };
151 };
152 #endif
153