UltraScan III
us_rotor.h
Go to the documentation of this file.
1 #ifndef US_ROTOR_H
3 #define US_ROTOR_H
4 
5 #include "us_extern.h"
6 #include "us_db2.h"
7 
14 {
15 
16  public:
17 
19  enum Status
20  {
30  BOTH
31  };
32 
34  class Operator
35  {
36  public:
37  int ID;
38  QString GUID;
39  QString lname;
40  QString fname;
41  };
42 
44  class Instrument
45  {
46  public:
47  int ID;
48  QString name;
49  QString serial;
50  QList< Operator > operators;
51  };
52 
55  {
56  public:
57  int ID;
58  QString GUID;
59  QString name;
60  QString building;
61  QString room;
62  QList< Instrument > instruments;
63 
65  Lab();
66 
74  Status readDB ( int, US_DB2* = 0 );
75 
77  void reset( void );
78 
80  void show ( void );
81  };
82 
85  {
86  public:
87  int ID;
88  QString GUID;
89  QString name;
90  QString material;
91  int numHoles;
92  int maxRPM;
93  double magnetOffset;
94  double cellCenter;
95  QString manufacturer;
96 
98  AbstractRotor();
99 
107  Status readDB ( int, US_DB2* = 0 );
108 
110  void reset( void );
111 
113  void show ( void );
114  };
115 
118  {
119  public:
120  int ID;
123  int labID;
124  QString GUID;
125  QString name;
126  QString serialNumber;
127 
129  Rotor();
130 
135  int addRotorDB( US_DB2* = 0 );
136 
142  Status readDB ( int, US_DB2* = 0 );
143 
149  static int deleteRotorDB( int, US_DB2* = 0 );
150 
152  void saveDisk( void );
153 
158  Status readDisk( const int& );
159 
161  void reset( void );
162 
164  void show ( void );
165  };
166 
169  {
170  public:
171  int ID;
172  QString GUID;
173  int rotorID;
174  QString rotorGUID;
177  double coeff1;
178  double coeff2;
179  QString label;
181  QString report;
182  QDate lastUpdated;
183  double omega2t;
184 
187 
193  int saveDB( int, US_DB2* = 0 );
194 
200  Status readDB( int, US_DB2* = 0 );
201 
207  static int deleteCalibrationDB( int, US_DB2* = 0 );
208 
217  int replaceDummyDB( int&, US_DB2* = 0 );
218 
220  void saveDisk( void );
221 
226  Status readDisk( const int& );
227 
230  void readReport( QXmlStreamReader& );
231 
233  void reset ( void );
234 
236  void show ( void );
237 
238  };
239 
242  US_Rotor();
243 
245  ~US_Rotor();
246 
247 
251  int labID;
252 
259  static Status readLabsDB( QVector< US_Rotor::Lab >&, US_DB2* db );
260 
266  static Status readLabsDisk( QVector< US_Rotor::Lab >& );
267 
274  static Status readAbstractRotorsDB( QVector< US_Rotor::AbstractRotor >&, US_DB2* db );
275 
281  static Status readAbstractRotorsDisk( QVector< US_Rotor::AbstractRotor >& );
282 
288  static Status readRotorsFromDisk( QVector< US_Rotor::Rotor >&, int );
289 
297  static Status readCalibrationProfilesDisk( QVector< US_Rotor::RotorCalibration >&, int );
298 
307  static bool diskFilename( const QString& ,
308  const QString& ,
309  const int& ,
310  QString& );
311 
312 
313  private:
314 
315  static bool diskPath ( QString& );
316  static QString get_filename ( const QString& ,
317  const QString& ,
318  const QString& ,
319  const int& ,
320  bool& );
321  static void saveLabsDisk ( QVector< US_Rotor::Lab >& );
322  static void readInstrumentInfo ( QXmlStreamReader& , US_Rotor::Lab& );
323  static void readOperatorInfo ( QXmlStreamReader& , US_Rotor::Instrument& );
324 
325 };
326 
327 #endif