00001 #ifndef tcsmonCON_ENVIRONMENT_H 00002 #define tcsmonCON_ENVIRONMENT_H 00003 /****************************************************************************** 00004 * E.S.O. - VLT project 00005 * 00006 * "@(#) $Id: tcsmonCON_ENVIRONMENT.h,v 2.38 2003/07/12 21:26:15 vltsccm Exp $" 00007 * 00008 * who when what 00009 * -------- -------- -------------------------------------------------------- 00010 * tcsmgr 2002-09-05 lossam renamed to rflrms 00011 * asmmgr 2002-07-19 added lossam, tau0 and theta0 00012 * ssandroc 2000-02-12 float -> double 00013 * ssandroc 04/07/98 Minor changes in asm inteface 00014 * rkarban 14/03/98 created 00015 */ 00016 00017 /****************************************************************************** 00018 * Declaration of class tcsmonCON_ENVIRONMENT. 00019 *----------------------------------------------------------------------------- 00020 */ 00021 00022 #ifndef __cplusplus 00023 #error This is a C++ include file and cannot be used from plain C 00024 #endif 00025 00026 #include <evhTIMER.h> 00027 #include <asmTCS_INTERFACE.h> 00028 #include "tcsSTATE.h" 00029 00030 class tcsmonCON_ENVIRONMENT : public tcsSTATE 00031 { 00032 public: 00033 tcsmonCON_ENVIRONMENT(const dbSYMADDRESS dbRoot); 00034 virtual ~tcsmonCON_ENVIRONMENT(); 00035 ccsCOMPL_STAT Init(); 00036 ccsCOMPL_STAT Start(); 00037 ccsCOMPL_STAT Stop(); 00038 00039 protected: 00040 virtual evhCB_COMPL_STAT AsmEventCB(evtEVENT_MSG &msg, void *); 00041 00042 private: 00043 dbSYMADDRESS dbPoint; // class DB support point 00044 ccsTIMEVAL interval; // asm poll interval 00045 vltLOGICAL timerActive; 00046 evhTIMER *timer; 00047 asmTCS_INTERFACE *asmIf; 00048 asmTCS_DATA_t asmData; 00049 vltUINT32 errorCounter; 00050 eccsDB_DOUBLE *windSpeed; 00051 eccsDB_DOUBLE *windDir; 00052 eccsDB_DOUBLE *temperature; 00053 eccsDB_DOUBLE *lapseRate; 00054 eccsDB_DOUBLE *pressure; 00055 eccsDB_DOUBLE *humidity; 00056 eccsDB_DOUBLE *dewPoint; 00057 eccsDB_DOUBLE *seeing; 00058 eccsDB_DOUBLE *obsSeeing; 00059 //eccsDB_DOUBLE *obsAirmass; 00060 // eccsDB_DOUBLE *obsWavelength; 00061 vltDOUBLE obsAirmass; 00062 vltDOUBLE obsWavelength; 00063 eccsDB_INT32 *asmStatus; 00064 eccsDB_INT32 *obsSeeingStatus; 00065 eccsDB_DOUBLE *tau0; 00066 eccsDB_DOUBLE *theta0; 00067 eccsDB_DOUBLE *rflrms; 00068 }; 00069 00070 #endif // !tcsmonCON_ENVIRONMENT_H