| [556] | 1 | // gondolageom.h
 | 
|---|
 | 2 | // Eric Aubourg         CEA/DAPNIA/SPP   octobre 1999
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 | #ifndef GONDOLAGEOM_H
 | 
|---|
 | 5 | #define GONDOLAGEOM_H
 | 
|---|
 | 6 | 
 | 
|---|
| [612] | 7 | #include "polfitclip.h"
 | 
|---|
 | 8 | 
 | 
|---|
| [556] | 9 | class GondolaGeom {
 | 
|---|
 | 10 | public:
 | 
|---|
 | 11 |   GondolaGeom();
 | 
|---|
 | 12 |   
 | 
|---|
 | 13 |   void setEarthPos(double lon, double lat);
 | 
|---|
 | 14 |   void setTSid(double ts);
 | 
|---|
 | 15 |   void setPendulation(double azimuth, double ampl);
 | 
|---|
 | 16 |   
 | 
|---|
 | 17 |   // Set orientation through SST
 | 
|---|
 | 18 |   void addStar(double deltasn, double az, double elv, double diod);
 | 
|---|
| [577] | 19 |   int solveStars();
 | 
|---|
| [556] | 20 |   
 | 
|---|
 | 21 |   void getPointing(double elv, double az, double& trueElv, double& trueAz);
 | 
|---|
 | 22 |   void getSkyPointing(double elv, double az, double& ra, double& dec);
 | 
|---|
 | 23 |   
 | 
|---|
 | 24 |   double getAzimutBolo(int ibolo); // ibolo, comme dans les TOI
 | 
|---|
 | 25 |   double getElvBolo(int ibolo);
 | 
|---|
 | 26 |   double getAlphaBolo(int ibolo);
 | 
|---|
 | 27 |   double getDeltaBolo(int ibolo);
 | 
|---|
 | 28 |   double getAzimutCenter();
 | 
|---|
 | 29 |   double getElvCenter();
 | 
|---|
 | 30 |   double getAlphaCenter();
 | 
|---|
 | 31 |   double getDeltaCenter();
 | 
|---|
 | 32 |   double getAzimutSST(); // diode 0
 | 
|---|
 | 33 |   double getElvSST();
 | 
|---|
 | 34 |   double getAlphaSST();
 | 
|---|
 | 35 |   double getDeltaSST();
 | 
|---|
 | 36 |   double getAzimutAxis();
 | 
|---|
 | 37 |   double getElvAxis();
 | 
|---|
 | 38 |   double getAlphaAxis();
 | 
|---|
 | 39 |   double getDeltaAxis();
 | 
|---|
 | 40 | 
 | 
|---|
 | 41 | 
 | 
|---|
 | 42 | // Geometry, "elevation" means if gondola is vertical
 | 
|---|
 | 43 |   static double elevFPC;    // degrees
 | 
|---|
 | 44 |   static double azFPC;      // degrees, relative to SST alignment
 | 
|---|
 | 45 |   static double elevSST0;   // degrees
 | 
|---|
| [581] | 46 |   static double sstPixelHeight;  // degrees
 | 
|---|
| [556] | 47 |   
 | 
|---|
 | 48 |   static void getAltAzBolo(int ibolo, double& elv, double& az); // pure geom, 
 | 
|---|
 | 49 |      // azimuth relative to SST.
 | 
|---|
 | 50 |   
 | 
|---|
 | 51 | protected:
 | 
|---|
 | 52 | 
 | 
|---|
 | 53 |   double lon; // degrees  +=EST
 | 
|---|
 | 54 |   double lat; // degrees  +=NORD
 | 
|---|
 | 55 |   double ts;  // secondes 
 | 
|---|
 | 56 |   
 | 
|---|
 | 57 |   double azPend;
 | 
|---|
 | 58 |   double angPend;
 | 
|---|
 | 59 |   
 | 
|---|
 | 60 |   double azimut; // horizontal, for SST
 | 
|---|
 | 61 |   
 | 
|---|
 | 62 |   long nstars;
 | 
|---|
 | 63 |   double az0;
 | 
|---|
| [612] | 64 |   
 | 
|---|
 | 65 |   PolFitClip fit;
 | 
|---|
| [556] | 66 | };
 | 
|---|
 | 67 | 
 | 
|---|
 | 68 | 
 | 
|---|
 | 69 | 
 | 
|---|
 | 70 | #endif
 | 
|---|