[534] | 1 | // archfileset.h
|
---|
| 2 | // Eric Aubourg CEA/DAPNIA/SPP septembre 1999
|
---|
| 3 |
|
---|
| 4 | #ifndef ARCHFILESET_H
|
---|
| 5 | #define ARCHFILESET_H
|
---|
| 6 |
|
---|
| 7 | #include "archeopsfile.h"
|
---|
| 8 |
|
---|
| 9 | #include <set>
|
---|
| 10 | #include <map>
|
---|
| 11 |
|
---|
| 12 | using namespace std;
|
---|
| 13 |
|
---|
| 14 | class TOILowLevProducer;
|
---|
| 15 |
|
---|
| 16 | class ArchFileSet {
|
---|
| 17 | public:
|
---|
| 18 | ArchFileSet();
|
---|
| 19 | ArchFileSet(ArchFileSet const&);
|
---|
| 20 | ~ArchFileSet();
|
---|
| 21 |
|
---|
| 22 | void addFile(string);
|
---|
| 23 | void addDirectory(string);
|
---|
| 24 | void setSNumRange(long start, long end);
|
---|
| 25 | void setMJDRange(double start, double end);
|
---|
| 26 | void init(); // Opens the first file.
|
---|
| 27 | bool next();
|
---|
| 28 |
|
---|
| 29 | block_type_param* lastParam();
|
---|
| 30 | block_type_journal* lastJournal();
|
---|
| 31 | block_type_reglage* lastReglage();
|
---|
| 32 | block_type_dilution* lastDilution();
|
---|
| 33 | block_type_gps* lastGPS();
|
---|
| 34 | block_type_une_periode* lastUnePeriode();
|
---|
| 35 | block_type_synchro_sol* lastSynchroSol();
|
---|
| 36 | block_type_pointage_sol* lastPointageSol();
|
---|
| 37 | block_type_bolo* lastBolo();
|
---|
| 38 | block_type_gyro* lastGyro();
|
---|
| 39 | block_type_sst* lastSST();
|
---|
| 40 | block_type_bolo_comprime* lastBoloComp();
|
---|
| 41 | block_type_gyro_comprime* lastGyroComp();
|
---|
| 42 | block_type_sst_comprime* lastSSTComp();
|
---|
| 43 |
|
---|
| 44 | void registerProducer(TOILowLevProducer*, int blk_kind);
|
---|
| 45 | long getSampleIndex(); // numero d''echantillon
|
---|
| 46 | double getMJD();
|
---|
| 47 |
|
---|
| 48 | protected:
|
---|
| 49 | set<string> filenames;
|
---|
| 50 | set<string> directories;
|
---|
| 51 | map<string, long> file1stSamp; // premier echantillon de chaque fichier
|
---|
| 52 | set<string>::iterator curFile;
|
---|
| 53 | ArcheopsFile* file;
|
---|
| 54 |
|
---|
| 55 | void scanFiles(); // Parcourt tous les fichiers, cherche le premier echantillon...
|
---|
| 56 | long nextSample(); // no test of trange
|
---|
| 57 | bool nextFile();
|
---|
| 58 | long sStart, sEnd; // samplenum
|
---|
| 59 | double mjdStart, mjdEnd;
|
---|
| 60 | long trigMask;
|
---|
| 61 | bool initDone;
|
---|
| 62 | bool endFound;
|
---|
| 63 | };
|
---|
| 64 |
|
---|
| 65 | #endif
|
---|