source: Sophya/trunk/Poubelle/archTOI.old/toiiter.h@ 310

Last change on this file since 310 was 310, checked in by ansari, 26 years ago

Conversion Archeops raw file -> TOI

File size: 2.3 KB
RevLine 
[310]1#ifndef TOIITER_H
2#define TOIITER_H
3
4
5#include <vector>
6#include <set>
7#include <string>
8#include "archeopsfile.h"
9
10enum TOIKind {
11 boloTens, // tension en microVolts, filtree avec filtre carre indexe par bolometre
12 boloRaw, // tension brute, non filtree indexe par bolometre
13 longitude, // ballon
14 latitude, // ballon
15 azimut, // a preciser, reconstruit SST, magneto, autres...
16
17 alpha, // sur le ciel, indexe par bolometre
18 delta // sur le ciel, indexe par bolometre
19
20};
21
22
23
24class TOIIter {
25public:
26 TOIIter(TOIIter const&);
27 ~TOIIter();
28 bool Next();
29
30 double getTime(); // MJD
31 double getValue(int column);
32 bool newValue(int column); // a juste change ?
33 bool extendValue(int column); // une valeur plus ancienne, etendue ?
34 bool interpValue(int column); // une valeur interpolee avec valeur future ?
35 TOIKind getKind(int column);
36 int getIndex(int column); // si plusieurs, exemple, tension bolo 2
37
38 int getSampleIndex(); // numero d'echantillon dans dernier bloc bolo
39
40 block_type_param* lastParam();
41 block_type_journal* lastJournal();
42 block_type_reglage* lastReglage();
43 block_type_dilution* lastDilution();
44 block_type_gps* lastGPS();
45 block_type_une_periode* lastUnePeriode();
46 block_type_synchro_sol* lastSynchroSol();
47 block_type_pointage_sol* lastPointageSol();
48 block_type_bolo* lastBolo();
49 block_type_gyro* lastGyro();
50 block_type_sst* lastSST();
51 block_type_bolo_comprime* lastBoloComp();
52 block_type_gyro_comprime* lastGyroComp();
53 block_type_sst_comprime* lastSSTComp();
54
55protected:
56 TOIIter();
57 void Init(); // After setting the options, opens the first file.
58
59 bool NextFile();
60
61 ArcheopsFile* file;
62 string directory; // If several files to be read
63 string fileName; // If only one file to be read
64 set<string> files; // list of files in the directory...
65 set<string>::iterator curFile;
66
67 int imes;
68
69 double tStart, tEnd;
70
71 double tBlock0; // MJD du bloc numero zero...
72
73 struct info {
74 TOIKind kind;
75 int index;
76 bool triggering;
77 bool interpolated;
78 };
79
80 long trigMask;
81
82 vector<info> infos;
83
84 friend class TOISvr;
85
86 private:
87};
88
89#endif
Note: See TracBrowser for help on using the repository browser.