Line | |
---|
1 | // starmatcher.h
|
---|
2 | // Eric Aubourg CEA/DAPNIA/SPP novembre 1999
|
---|
3 |
|
---|
4 | #ifndef STARMATCHER_H
|
---|
5 | #define STARMATCHER_H
|
---|
6 |
|
---|
7 |
|
---|
8 | #include "sststarfinder.h"
|
---|
9 | #include "toiderivproducer.h"
|
---|
10 |
|
---|
11 | class StarMatcher: public SSTStarProcessor, public TOIDerivProducer {
|
---|
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);
|
---|
19 | virtual bool canGetValue(long sampleNum, TOI const& toi);
|
---|
20 | virtual bool canGetValueLater(long sampleNum, TOI const& toi);
|
---|
21 |
|
---|
22 | protected:
|
---|
23 | virtual set<TOI> reqTOIFor(TOI const&);
|
---|
24 | void propagateLowBound(TOI const& toi, long sampleNum);
|
---|
25 | void processStars();
|
---|
26 |
|
---|
27 | struct gscStar {
|
---|
28 | float ra;
|
---|
29 | float dec;
|
---|
30 | short mag; // mag * 100
|
---|
31 | };
|
---|
32 |
|
---|
33 |
|
---|
34 | gscStar* stars;
|
---|
35 | long nstars;
|
---|
36 |
|
---|
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 |
|
---|
79 | };
|
---|
80 |
|
---|
81 |
|
---|
82 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.