23 #ifndef _REFRACTIONEXTINCTION_HPP_
24 #define _REFRACTIONEXTINCTION_HPP_
31 #include "VecMath.hpp"
32 #include "StelProjector.hpp"
54 void forward(
const Vec3d *altAzPos,
float *mag,
const int num=1)
const;
55 void forward(
const Vec3f *altAzPos,
float *mag,
const int num=1)
const;
56 void forward(
const double *sinAlt,
float *mag,
const int num)
const;
57 void forward(
const float *sinAlt,
float *mag,
const int num)
const;
58 void forward(
const double *sinAlt,
float *mag)
const;
59 void forward(
const float *sinAlt,
float *mag)
const;
65 void backward(
const Vec3d *altAzPos,
float *mag,
const int num=1)
const;
66 void backward(
const Vec3f *altAzPos,
float *mag,
const int num=1)
const;
67 void backward(
const double *sinAlt,
float *mag,
const int num=1)
const;
68 void backward(
const float *sinAlt,
float *mag,
const int num=1)
const;
73 float getExtinctionCoefficient()
const {
return ext_coeff;}
83 float airmass(
const float cosZ,
const bool apparent_z=
true)
const;
89 static float SUBHORIZONTAL_AIRMASS;
127 virtual void combine(
const Mat4d& m)
132 virtual Mat4d getApproximateLinearTransfo()
const {
return postTransfoMat*preTransfoMat;}
231 float getPressure()
const {
return pressure;}
235 float getTemperature()
const {
return temperature;}
239 void setPostTransfoMat(
const Mat4d& m);
243 void updatePrecomputed();
251 float press_temp_corr_Saemundson;
253 float press_temp_corr_Bennett;
256 static const double MIN_GEO_ALTITUDE_DEG;
257 static const double MIN_GEO_ALTITUDE_RAD;
258 static const double MIN_GEO_ALTITUDE_SIN;
259 static const double MIN_APP_ALTITUDE_DEG;
260 static const double MIN_APP_ALTITUDE_RAD;
261 static const double MIN_APP_ALTITUDE_SIN;
262 static const float MIN_GEO_ALTITUDE_DEG_F;
263 static const float MIN_GEO_ALTITUDE_RAD_F;
264 static const float MIN_GEO_ALTITUDE_SIN_F;
265 static const float MIN_APP_ALTITUDE_DEG_F;
266 static const float MIN_APP_ALTITUDE_RAD_F;
267 static const float MIN_APP_ALTITUDE_SIN_F;
268 static const double TRANSITION_WIDTH_GEO_DEG;
269 static const double TRANSITION_WIDTH_GEO_DEG_F;
270 static const double TRANSITION_WIDTH_APP_DEG;
271 static const double TRANSITION_WIDTH_APP_DEG_F;
275 Mat4d invertPreTransfoMat;
276 Mat4f preTransfoMatf;
277 Mat4f invertPreTransfoMatf;
280 Mat4d postTransfoMat;
281 Mat4d invertPostTransfoMat;
282 Mat4f postTransfoMatf;
283 Mat4f invertPostTransfoMatf;
286 #endif // _REFRACTIONEXTINCTION_HPP_