00001 #ifndef tcsMOON_H 00002 #define tcsMOON_H 00003 /******************************************************************************* 00004 * E.S.O. - VLT project 00005 * 00006 * "@(#) $Id: tcsMOON.h,v 1.136 2003/11/27 15:10:05 vltsccm Exp $" 00007 * 00008 * who when what 00009 * -------- -------- ---------------------------------------------- 00010 * awalland 02/10/97 Moved from nttsm module. Restructured. 00011 * jspyromi 22/12/96 changed long and lat to be those of the NTT 00012 * rather than the random place Anders selected! 00013 * awalland 01/07/96 created 00014 *------------------------------------------------------------------- 00015 */ 00016 00017 #ifndef __cplusplus 00018 #error This is a C++ include file and cannot be used from plain C 00019 #endif 00020 00021 #include "eccsDb.h" 00022 #include "eccsErr.h" 00023 #include "eccsDB_ATTR.h" 00024 00025 class tcsMOON : public eccsERROR_CLASS 00026 { 00027 public: 00028 tcsMOON(const dbSYMADDRESS dbPoint = "", 00029 const vltDOUBLE longitude = 0.0, 00030 const vltDOUBLE latitude = 0.0, 00031 const vltDOUBLE height = 0.0); 00032 ~tcsMOON(); 00033 00034 ccsCOMPL_STAT GetMoonPosition(); 00035 ccsCOMPL_STAT GetMoonPosition(ccsTIMEVAL atTime); 00036 00037 protected: 00038 00039 private: 00040 ccsCOMPL_STAT CalculateMoonPosition(ccsTIMEVAL atTime); 00041 00042 vltDOUBLE Longitude; 00043 vltDOUBLE Latitude; 00044 vltDOUBLE Height; 00045 00046 /* DB Attributes accessed in write mode for update */ 00047 eccsDB_FLOAT *altitudeDB; 00048 eccsDB_FLOAT *azimuthDB; 00049 eccsDB_INT32 *phaseDB; 00050 eccsDB_DOUBLE *raDB; 00051 eccsDB_DOUBLE *decDB; 00052 }; 00053 00054 #endif