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