Rev | Line | |
---|
[555] | 1 | // starmatcher.h
|
---|
| 2 | // Eric Aubourg CEA/DAPNIA/SPP novembre 1999
|
---|
| 3 |
|
---|
[534] | 4 | #ifndef STARMATCHER_H
|
---|
| 5 | #define STARMATCHER_H
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | #include "sststarfinder.h"
|
---|
[555] | 9 | #include "toiderivproducer.h"
|
---|
[534] | 10 |
|
---|
[555] | 11 | class StarMatcher: public SSTStarProcessor, public TOIDerivProducer {
|
---|
[534] | 12 | public:
|
---|
| 13 | StarMatcher();
|
---|
| 14 |
|
---|
| 15 | virtual void dataFeed(SSTEtoile const&);
|
---|
| 16 |
|
---|
| 17 | virtual string getName();
|
---|
| 18 | virtual double getValue(long sampleNum, TOI const& toi);
|
---|
[555] | 19 | virtual bool canGetValue(long sampleNum, TOI const& toi);
|
---|
| 20 | virtual bool canGetValueLater(long sampleNum, TOI const& toi);
|
---|
[534] | 21 |
|
---|
| 22 | protected:
|
---|
| 23 | virtual set<TOI> reqTOIFor(TOI const&);
|
---|
[555] | 24 | void propagateLowBound(TOI const& toi, long sampleNum);
|
---|
| 25 | void processStars();
|
---|
| 26 |
|
---|
[534] | 27 | struct gscStar {
|
---|
| 28 | float ra;
|
---|
| 29 | float dec;
|
---|
| 30 | short mag; // mag * 100
|
---|
| 31 | };
|
---|
[555] | 32 |
|
---|
[534] | 33 |
|
---|
| 34 | gscStar* stars;
|
---|
| 35 | long nstars;
|
---|
| 36 |
|
---|
[555] | 37 | deque<SSTEtoile> lastStars;
|
---|
| 38 |
|
---|
| 39 | struct matchStar {
|
---|
| 40 | double SN;
|
---|
| 41 | double raGSC;
|
---|
| 42 | double decGSC;
|
---|
| 43 | double azGSC;
|
---|
| 44 | double elvGSC;
|
---|
| 45 | int nDiode;
|
---|
| 46 | bool ok;
|
---|
| 47 | long seq;
|
---|
| 48 | double lon;
|
---|
| 49 | double lat;
|
---|
| 50 | double ts;
|
---|
| 51 | };
|
---|
| 52 |
|
---|
| 53 | long lastSeq;
|
---|
| 54 |
|
---|
| 55 | deque<matchStar> matchStars;
|
---|
| 56 | deque<matchStar> cleanStars;
|
---|
| 57 |
|
---|
| 58 | struct pendulInfo {
|
---|
| 59 | double SN;
|
---|
| 60 | double azPendul;
|
---|
| 61 | double angPendul;
|
---|
| 62 | };
|
---|
| 63 |
|
---|
| 64 | struct posInfo {
|
---|
| 65 | double SN;
|
---|
| 66 | double azStar;
|
---|
| 67 | double elvStar;
|
---|
| 68 | double diodStar;
|
---|
| 69 | double lon;
|
---|
| 70 | double lat;
|
---|
| 71 | double ts;
|
---|
| 72 | };
|
---|
| 73 |
|
---|
| 74 | map<double, posInfo> posInfos; // sampleNum -> info
|
---|
| 75 | map<double, pendulInfo> pendulInfos; // sampleNum -> info
|
---|
| 76 |
|
---|
| 77 | int getPendulInfo(double sampleNum, pendulInfo& info); // interpolate
|
---|
| 78 |
|
---|
[534] | 79 | };
|
---|
| 80 |
|
---|
| 81 |
|
---|
| 82 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.