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