UltraScan III
us_predict2.h
Go to the documentation of this file.
1 #ifndef US_PREDICT2_H
2 #define US_PREDICT2_H
3 
4 #include <QtGui>
5 
6 #include "us_extern.h"
7 #include "us_widgets.h"
8 #include "us_help.h"
9 #include "us_math2.h"
10 #include "us_analyte.h"
11 
12 class US_Predict2 : public US_Widgets
13 {
14  Q_OBJECT
15 
16  public:
17  US_Predict2();
18 
19  private:
20 
22  enum { PROLATE, OBLATE, ROD };
23 
25  double sed_coeff;
26  double mw;
27  double diff_coeff;
28  double temperature;
30 
32 
33  QLabel* lb_param1;
34  QLabel* lb_param2;
35  QLabel* lb_param3;
36 
37  QLineEdit* le_density;
38  QLineEdit* le_viscosity;
39  QLineEdit* le_vbar;
40 
41  QLineEdit* le_param1;
42  QLineEdit* le_param2;
43  QLineEdit* le_param3;
44 
45  QLineEdit* le_prolate_a;
46  QLineEdit* le_prolate_b;
47  QLineEdit* le_prolate_ab;
48 
49  QLineEdit* le_oblate_a;
50  QLineEdit* le_oblate_b;
51  QLineEdit* le_oblate_ab;
52 
53  QLineEdit* le_rod_a;
54  QLineEdit* le_rod_b;
55  QLineEdit* le_rod_ab;
56 
57  QLineEdit* le_fCoef;
58  QLineEdit* le_r0;
59  QLineEdit* le_f0;
60  QLineEdit* le_volume;
61  QLineEdit* le_ff0;
62 
63  QPushButton* pb_mw_s;
64  QPushButton* pb_mw_d;
65  QPushButton* pb_s_d;
66 
67  bool check_valid( double );
68  double root ( int , double );
69 
70  public slots:
71  void update ( void );
72  void do_mw_s ( void );
73  void do_mw_d ( void );
74  void do_s_d ( void );
75  void update_param1 ( const QString& );
76  void update_param2 ( const QString& );
77  void density ( const QString& );
78  void viscosity ( const QString& );
79  void vbar ( const QString& );
80  void degC ( const QString& );
81  void get_buffer ( void );
82  void get_solution ( void );
83  void get_peptide ( void );
84  void update_buffer ( double, double );
85  void update_vbar ( US_Analyte );
87  void choose ( int );
88 
89  void help ( void )
90  { showHelp.show_help("manual/predict2.html"); };
91 };
92 #endif