UltraScan III
us_pcsa_modelrec.h
Go to the documentation of this file.
1 #ifndef US_PCSA_MODEL_RECORD_H
3 #define US_PCSA_MODEL_RECORD_H
4 
5 #include <QtCore>
6 
7 #include "us_extern.h"
8 #include "us_zsolute.h"
9 #include "us_dataIO.h"
10 #include "us_model.h"
11 
12 #ifndef DbgLv
13 #define DbgLv(a) if(dbg_level>=a)qDebug()
14 #endif
15 #define CTYPE_NONE 0
16 #define CTYPE_SL 1
17 #define CTYPE_IS 2
18 #define CTYPE_DS 4
19 #define CTYPE_HL 8
20 #define CTYPE_2O 16
21 #define CTYPE_ALL 7
22 
24 
32 {
33  public:
36 
37  ~US_ModelRecord();
38 
39  int taskx;
40  int ctype;
41  int stype;
42  int mrecID;
43  int editID;
44  int modelID;
45  int v_ctype;
46  double str_y;
47  double end_y;
48  double par1;
49  double par2;
50  double par3;
51  double variance;
52  double rmsd;
53  double xmin;
54  double xmax;
55  double ymin;
56  double ymax;
57  QString mrecGUID;
58  QString editGUID;
59  QString modelGUID;
60  QVector< US_ZSolute > isolutes;
61  QVector< US_ZSolute > csolutes;
62  QVector< double > ti_noise;
63  QVector< double > ri_noise;
64 
68 
70  bool operator< ( const US_ModelRecord& mrec ) const
71  {
72  return ( variance < mrec.variance ||
73  ( variance == mrec.variance && taskx < mrec.taskx ) );
74  }
75 
76  public slots:
78  void clear_data( void );
79 
90  static int compute_slines( double&, double&, double&, double&, int&,
91  int&, double*, QVector< US_ModelRecord >& );
92 
104  static int compute_sigmoids( int&, double&, double&, double&, double&,
105  int&, int&, double*, QVector< US_ModelRecord >& );
106 
117  static int compute_hlines( double&, double&, double&, double&, int&,
118  int&, double*, QVector< US_ModelRecord >& );
119 
130  static int compute_2ndorder( double&, double&, double&, double&, int&,
131  int&, double*, QVector< US_ModelRecord >& );
132 
144  static int load_modelrecs ( QXmlStreamReader& xml,
145  QVector< US_ModelRecord >&, QString&,
146  int&, double&, double&, double&, double&,
147  int& );
148 
160  static int write_modelrecs( QXmlStreamWriter& xml,
161  QVector< US_ModelRecord >&, QString&,
162  int&, double&, double&, double&, double&,
163  int& );
164 
176  static void elite_limits( QVector< US_ModelRecord >&, int&,
177  double&, double&, double&, double&,
178  double&, double&, double&, double& );
179 
191  static int recompute_mrecs( int&, double&, double&, double&, double&,
192  int&, int&, double*,
193  QVector< US_ModelRecord >& );
194 
199  static int ctype_flag( const QString );
200 
205  static QString ctype_text( const int );
206 
211  static int stype_flag( const QString );
212 
217  static QString stype_text( const int );
218 
219 };
220 #endif
221