UltraScan III
us_pcsa.h
Go to the documentation of this file.
1 #ifndef US_PCSA_H
2 #define US_PCSA_H
3 
4 #include <unistd.h>
5 #include "us_plot_control_pc.h"
7 #include "us_noise_loader.h"
8 #include "us_resplot_pc.h"
9 #include "us_mlplot.h"
10 #include "us_pcsa_modelrec.h"
11 #include "us_db2.h"
12 #include "us_astfem_rsa.h"
13 #include "us_model.h"
14 #include "us_noise.h"
15 #include "us_editor.h"
16 #include "us_math2.h"
17 #include "us_run_details2.h"
18 #include "us_buffer_gui.h"
19 #include "us_analyte.h"
20 #include "us_zsolute.h"
21 #include "qwt_plot_marker.h"
22 #include "us_analysis_base2.h"
23 #ifdef Q_WS_WIN // Include headers so getpid() works on Windows
24 #include <windows.h>
25 #include <psapi.h>
26 #include <process.h>
27 #endif
28 
29 #ifndef DbgLv
30 #define DbgLv(a) if(dbg_level>=a)qDebug()
31 #endif
32 
33 #ifndef SP_SPEEDPROFILE
34 #define SP_SPEEDPROFILE US_SimulationParameters::SpeedProfile
35 #endif
36 #ifndef SS_DATASET
37 #define SS_DATASET US_SolveSim::DataSet
38 #endif
39 #ifndef US_ZS_ATTRIBS
40 #define US_ZS_ATTRIBS
41 #define ATTR_S US_ZSolute::ATTR_S
42 #define ATTR_K US_ZSolute::ATTR_K
43 #define ATTR_W US_ZSolute::ATTR_W
44 #define ATTR_V US_ZSolute::ATTR_V
45 #define ATTR_D US_ZSolute::ATTR_D
46 #define ATTR_C US_ZSolute::ATTR_C
47 #endif
48 
49 class US_pcsa : public US_AnalysisBase2
50 {
51  Q_OBJECT
52 
53  public:
54  US_pcsa();
55 
56  void analysis_done( int );
57 
61  QList< int >* mw_excllist();
62  US_Model* mw_model();
65  QPointer< QTextEdit > mw_status_text();
66  QStringList* mw_model_stats();
67  QVector< US_ModelRecord >* mw_mrecs();
68  QVector< US_ModelRecord >* mw_mrecs_mc();
69  int* mw_base_rss();
70 
71  private:
72  QGridLayout* progressLayout;
73 
75 
77 
78  QList< SS_DATASET* > dsets;
79 
80  QVector< SP_SPEEDPROFILE > speed_steps;
81 
85 
86  QPointer< US_ResidPlotPc > resplotd;
87  QPointer< US_PlotControlPc > eplotcd;
88  QPointer< US_AnalysisControlPc > analcd;
89  QPointer< US_MLinesPlot > mlplotd;
90 
91  QVector< US_ModelRecord > mrecs;
92  QVector< US_ModelRecord > mrecs_mc;
93 
97 
98  QStringList model_stats;
99 
100  QPoint rbd_pos;
101  QPoint epd_pos;
102  QPoint acd_pos;
103 
104  QLineEdit* le_vari;
105  QLineEdit* le_rmsd;
106 
107  QTextEdit* te_status;
108 
109  QPushButton* pb_fitcntl;
110  QPushButton* pb_plt3d;
111  QPushButton* pb_pltres;
112 
113  double rmsd;
114 
116  int mc_iters;
117  int baserss;
118 
119  bool exp_steps;
120 
121  private slots:
122  void open_resplot( void );
123  void open_3dplot( void );
124  void open_fitcntl( void );
125  QString model_statistics( void );
126  QString distrib_info( void );
127  void data_plot ( void );
128  void write_report ( QTextStream& );
129  void write_bmap ( const QString );
130  void child_closed ( QObject* );
131  void load ( void );
132  void view ( void );
133  void save ( void );
134  void close ( void );
135  void new_triple( int );
136  void help ( void )
137  { showHelp.show_help( "manual/pcsa.html" ); };
138 };
139 #endif