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 sstHeight; // degrees, between middle pixel 0 and pixel 45
|
---|
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
|
---|