00001 #ifndef agwsCON_SETUP_H
00002 #define agwsCON_SETUP_H
00003 /*****************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: agwsCON_SETUP.h,v 1.182 2003/11/12 08:34:09 vltsccm Exp $"
00007 *
00008 * who when what
00009 * -------- -------- -------------------------------------------------------
00010 * gchiozzi 21/09/98 Added CheckBox() and CheckWin()
00011 * gchiozzi 23/07/98 Added private method LoadDefaultRefXY()
00012 * rkarban 21/07/98 replace GetDefaultWin with GetDefaultRefXY
00013 * gchiozzi 28/11/97 Replaced pointer to gsCatalogue with reference.
00014 * gchiozzi 17/11/97 Added save method.
00015 * gchiozzi 07/11/97 Added Reload() method to load again the current setup file
00016 * gchiozzi 09/10/97 Removed SETROW command
00017 * gchiozzi 29/02/96 created
00018 */
00019
00020 /*****************************************************************************
00021 * Definition of class agwsCON_SETUP
00022 *----------------------------------------------------------------------------
00023 */
00024
00025 #ifndef __cplusplus
00026 #error This is a C++ include file and cannot be used from plain C
00027 #endif
00028
00029 #include "math.h"
00030 extern "C" {
00031 #include "tcsVcc.h"
00032 #include "slalib.h"
00033 #include "slamac.h"
00034 }
00035 #include "agws.h"
00036 #include "agwsCON_CAT.h"
00037
00038 #include "evhDB_TASK.h"
00039 #include "evhCOMMAND.h"
00040 #include "oslx.h"
00041
00042 /*
00043 * Enum to identify in what do we want to set the
00044 * user function
00045 */
00046
00047 enum agwsUFMODE
00048 {
00049 agwsUFMODE_GUIDE_LOOP,
00050 agwsUFMODE_SINGLE_EXP,
00051 agwsUFMODE_NONE
00052 };
00053
00054 struct agwsAG_BOX
00055 {
00056 vltDOUBLE refx;
00057 vltDOUBLE refy;
00058 vltINT32 width;
00059 };
00060
00061 struct agwsAG_XY
00062 {
00063 vltDOUBLE x;
00064 vltDOUBLE y;
00065 };
00066
00067 struct agwsAG_WIN
00068 {
00069 vltINT32 strx;
00070 vltINT32 stry;
00071 vltINT32 nx;
00072 vltINT32 ny;
00073 vltDOUBLE refx;
00074 vltDOUBLE refy;
00075 };
00076
00077 class agwsCON_SETUP : public evhDB_TASK
00078 {
00079 public:
00080 agwsCON_SETUP(const dbSYMADDRESS dbPoint, agwsCON_CAT &gsCat);
00081 virtual ~agwsCON_SETUP();
00082
00083 virtual ccsCOMPL_STAT Init();
00084
00085 virtual evhCB_COMPL_STAT SetupCB(msgMESSAGE &msg, void *);
00086
00087 virtual ccsCOMPL_STAT HandleSetupCmd(const char *setupBuf);
00088 virtual ccsCOMPL_STAT GetBox(agwsAG_BOX *box);
00089 virtual ccsCOMPL_STAT SetBox(agwsAG_BOX &box);
00090
00091 virtual ccsCOMPL_STAT GetDefaultRefXY(agwsAG_XY *refxy);
00092
00093 virtual ccsCOMPL_STAT GetWin(agwsAG_WIN *win);
00094 virtual ccsCOMPL_STAT SetWin(agwsAG_WIN &win);
00095
00096 virtual ccsCOMPL_STAT GetIntTime(vltDOUBLE *val);
00097 virtual ccsCOMPL_STAT SetIntTime(vltDOUBLE val);
00098
00099 virtual ccsCOMPL_STAT GetNREP(vltINT32 *val);
00100 virtual ccsCOMPL_STAT SetNREP(vltINT32 val);
00101
00102 virtual ccsCOMPL_STAT GetIPFUNC(char *val);
00103 virtual ccsCOMPL_STAT SetIPFUNC(char *val);
00104
00105 virtual ccsCOMPL_STAT GetCENTROID(char *val);
00106 virtual ccsCOMPL_STAT SetCENTROID(char *val);
00107
00108 virtual ccsCOMPL_STAT SetUfMode(agwsUFMODE mode);
00109
00110 virtual ccsCOMPL_STAT Save();
00111 virtual ccsCOMPL_STAT Reload();
00112
00113 virtual oslxSETUP &SetupFile();
00114
00115 protected:
00116 virtual ccsCOMPL_STAT CheckBox(agwsAG_BOX *box);
00117 virtual ccsCOMPL_STAT CheckWin(agwsAG_WIN *win);
00118 virtual ccsCOMPL_STAT LoadDefaultRefXY(agwsAG_XY *refxy);
00119
00120 virtual ccsCOMPL_STAT ProcessSearchSetup();
00121 virtual ccsCOMPL_STAT ProcessCatSetup();
00122 virtual ccsCOMPL_STAT ProcessProbeSetup();
00123 virtual ccsCOMPL_STAT ProcessTargetSetup();
00124 virtual ccsCOMPL_STAT ProcessTccdSetup();
00125
00126 virtual ccsCOMPL_STAT CheckSetup(char **report,
00127 vltUINT16 *numErrors);
00128
00129
00130
00131 agwsCON_CAT &gsCatalogue; // pointer to internal guide-star catalogue
00132 oslxSETUP setupFile; // TCS & TCCD setup file
00133 oslxDICTIONARY dictionary; // TCS & TCCD dictionary
00134 slxFILENAME tccdFilename; // TCCD setup file name
00135
00136 agwsAG_XY defRefxy; // the default reference pixel of the chip
00137 // where the dichroic patch is
00138 private:
00139 };
00140
00141 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001