| 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.