UltraScan III
us_mwl_spectra.h
Go to the documentation of this file.
1 #ifndef US_MWL_SPECTRA_H
3 #define US_MWL_SPECTRA_H
4 
5 #include <QtGui>
6 
7 #include "us_extern.h"
8 #include "us_mwls_pltctl.h"
9 #include "us_widgets.h"
10 #include "us_model_loader.h"
11 #include "us_help.h"
12 #include "us_plot.h"
13 #include "us_mwl_data.h"
14 #include "us_plot3d_xyz.h"
15 #include "us_model.h"
16 
17 class US_MwlSpectra : public US_Widgets
18 {
19  Q_OBJECT
20 
21  public:
22 
24  US_MwlSpectra();
25 
26  private:
27  QPointer< US_MwlSPlotControl > p3d_ctld;
28  QPointer< US_Plot3Dxyz > p3d_pltw;
29 
30  QVector< QVector3D > mdlxyz;
31  QVector< QVector3D > xyzdat;
32  QVector< QVector3D > p3dxyz;
33  QVector< QVector< double > > concdat;
34  QVector< double > yvals3d;
35 
37 
38  QVector< double > pltxvals;
39  QVector< double > pltyvals;
40  QVector< double > sedcoes;
41  QVector< int > lambdas;
42 
43  QStringList mdescs;
44  QStringList pfilts;
45 
48 
49  QLabel* lb_pltrec;
50 
51  QLineEdit* le_status;
52 
53  QComboBox* cb_sstart;
54  QComboBox* cb_send;
55  QComboBox* cb_lstart;
56  QComboBox* cb_lend;
57  QComboBox* cb_pltrec;
58 
59  QwtCounter* ct_smooth;
60  QwtCounter* ct_delay;
61 
62  QPushButton* pb_prefilt;
63  QPushButton* pb_loaddis;
64  QPushButton* pb_reset;
65  QPushButton* pb_details;
66  QPushButton* pb_prev;
67  QPushButton* pb_next;
68  QPushButton* pb_plot2d;
69  QPushButton* pb_movie2d;
70  QPushButton* pb_plot3d;
71  QPushButton* pb_svplot;
72  QPushButton* pb_svmovie;
73 
74  QwtPlot* data_plot;
75  QwtPlotGrid* grid;
76 
77  QString currentDir;
78  QString runID;
79  QString mfilter;
80 
81  int nsedcos;
82  int nlambda;
83  int npoint;
84  int nipoint;
85  int nnpoint;
86  int ntpoint;
87  int nc_max;
88  int nsmooth;
89  int dbg_level;
90  int lmb_start;
91  int lmb_end;
92  int recx;
93  int sedxp;
94  int lmbxs;
95  int lmbxe;
96  int sedxs;
97  int sedxe;
98  int klambda;
99  int ksedcos;
100  int krecs;
101  int kpoint;
102  int ktpoint;
103 
104  bool have_rngs;
105 
106  double se_min;
107  double se_max;
108  double wl_min;
109  double wl_max;
110  double co_min;
111  double co_max;
112  double cn_max;
113  double last_xmin;
114  double last_xmax;
115  double last_ymin;
116  double last_ymax;
117  double sed_start;
118  double sed_end;
119  double sed_plot;
120 
121  private slots:
122  void reset ( void );
123  void select_prefilt ( void );
124  void load_distro ( void );
125  void load_distro ( const US_Model, const QString );
126  void plot_current ( void );
127  void plot_titles ( void );
128  void plot_all ( void );
129  void enableControls ( void );
130  void runDetails ( void );
131  void changeSedcoeff ( void );
132  void changeLambda ( void );
133  void changeSmooth ( void );
134  void changeRecord ( void );
135  void show_2d_movie ( void );
136  void plot_3d ( void );
137  void save_plot ( void );
138  void save_movie ( void );
139  void resetAll ( void );
140  void prevPlot ( void );
141  void nextPlot ( void );
142  void compute_ranges ( void );
143  void connect_ranges ( bool );
144  void update_disk_db ( bool );
145  int dvec_index ( QVector< double >&, const double );
146  bool dvirt_equal ( const double, const double );
147  void p3dctrl_closed ( void );
148  void bld_stats ( double, double, double, QVector< int >&,
149  QVector< double >&, QVector< double >&,
150  QVector< double >&, QVector< double >& );
151  void final_stats ( QVector< int >&, QVector< double >&,
152  QVector< double >&, QVector< double >&,
153  QVector< double >& );
154  void help ( void )
155  { showHelp.show_help( "mwl_spectra.html" ); };
156 };
157 #endif
158