Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

agwsCON_CAT.h

Go to the documentation of this file.
00001 #ifndef agwsCON_CAT_H
00002 #define agwsCON_CAT_H
00003 /******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: agwsCON_CAT.h,v 1.182 2003/11/12 08:34:08 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  --------------------------------------------------------
00010 * gchiozzi 2001-03-01 Added probePos parm to AddCandGs
00011 * gchiozzi 2000-08-30 Removed minRadius, maxRadius from members. Uses DB and setup files now
00012 * mkiekebu  11/08/99  method ResetInUse added
00013 * tphan     17/01/98  added TcsCatalog
00014 * gchiozzi  27/11/97  Modified SearchGs() prototype. Added agwsSEARCH_MODE enum. 
00015 * gchiozzi  12/11/97  Added selected data member
00016 * gchiozzi  12/11/97  Added index parameter to AddCandGs().
00017 * gchiozzi  12/11/97  Added inUse member.
00018 * gchiozzi  28/10/97  Added handling of probe check object.
00019 * gchiozzi  17/10/97  Removed GetRotAngleDb() method. Using tif.
00020 * gchiozzi  08/08/97  Added Reset() method
00021 * gchiozzi  22/07/97  Added default values to SerchGs() method
00022 * gchiozzi  22/07/97  
00023 * nfiebig   23/08/96  added interface for external catalog query
00024 * gchiozzi  29/02/96  created
00025 */
00026 
00027 /******************************************************************************
00028  * Declaration of class agwsCON_CAT
00029  *-----------------------------------------------------------------------------
00030  */
00031 
00032 #ifndef __cplusplus
00033 #error This is a C++ include file and cannot be used from plain C
00034 #endif
00035 
00036 /*
00037  * module includes
00038  */
00039 extern "C" {
00040 #include "tcsVcc.h"
00041 }
00042 #include "agws.h"
00043 #include "agwsGUIDE_STAR.h"
00044 #include "eccsDB_TABLE.h"
00045 
00046 /*
00047  * evh toolkit includes
00048  */
00049 #include <evhDB_TASK.h>
00050 #include <evhCOMMAND.h>
00051 
00052 enum agwsSEARCH_MODE { agwsTARGET_POS, agwsACTUAL_POS, agwsAUTO_POS };
00053 
00054 class agwsCON_ADAPTER;
00055 /*
00056  * definition of catalogue handler class
00057  */
00058 class agwsCON_CAT : public evhDB_TASK
00059 {
00060   public:
00061     agwsCON_CAT(const dbSYMADDRESS dbPoint, agwsCON_ADAPTER *checker = NULL);
00062     virtual ~agwsCON_CAT();
00063 
00064     virtual evhCB_COMPL_STAT AddCandGsCB(msgMESSAGE &msg, void *);
00065     virtual evhCB_COMPL_STAT GetGsCB(msgMESSAGE &msg, void *);
00066     virtual evhCB_COMPL_STAT GetGssCB(msgMESSAGE &msg, void *);
00067     virtual evhCB_COMPL_STAT SelectGsCB(msgMESSAGE &msg, void *);
00068     virtual evhCB_COMPL_STAT SearchGsCB(msgMESSAGE &msg, void *);
00069     virtual evhCB_COMPL_STAT PrintCatCB(msgMESSAGE &msg, void *);
00070 
00071     virtual ccsCOMPL_STAT Init();
00072     virtual ccsCOMPL_STAT Reset();
00073     virtual ccsCOMPL_STAT AddCandGs(vltDOUBLE        alpha, 
00074             vltDOUBLE        delta, 
00075             vltDOUBLE        mag,
00076             agwsGS_PROBE_POS probePos,
00077             vltDOUBLE        wavelen = 650.0,
00078             vltINT32  index = 0);
00079 
00080     virtual ccsCOMPL_STAT SearchGs(agwsSEARCH_MODE searchMode = agwsAUTO_POS,
00081            vltLOGICAL      noDefCriteria = ccsFALSE,
00082            vltDOUBLE       minMag = 0.0, vltDOUBLE maxMag = 0.0,
00083            vltBYTES256     vigLimit = (unsigned char*)"", 
00084            vltDOUBLE       rotAngle = 0.0);
00085 
00086     virtual ccsCOMPL_STAT GetNewCandidate(agwsGUIDE_STAR &candidate);
00087     virtual vltINT32      UntriedEntries();
00088 
00089     virtual ccsCOMPL_STAT SetProbeChecker(agwsCON_ADAPTER *checkObj);
00090 
00091     virtual ccsCOMPL_STAT    ResetInUse();
00092 
00093   protected:
00094     virtual int           ComparePriority(agwsGUIDE_STAR &star1, 
00095             agwsGUIDE_STAR &star2);
00096     virtual ccsCOMPL_STAT PopCandidate(vltINT32 index);
00097     virtual ccsCOMPL_STAT StoreCurrentGs();
00098     virtual ccsCOMPL_STAT StoreCurrentGsTable();
00099     virtual ccsCOMPL_STAT QueryExtCat(vltDOUBLE alpha, vltDOUBLE delta,
00100                               vltDOUBLE minRad, vltDOUBLE maxRad,
00101                               vltDOUBLE minMag, vltDOUBLE maxMag,
00102                               int & numFound, TcsQueryResult & result);
00103     virtual ccsCOMPL_STAT FilterResult(int & numFound, TcsQueryResult & result);
00104     virtual ccsCOMPL_STAT UpdateInUse();
00105 
00106   private:
00107     TcsCatalog*      catalog;        // ext. guide-star catalogue pointer
00108     vltBYTES32       catalogName;            // ext. guide-star catalogue name
00109     agwsGUIDE_STAR   gsCat[agwsGS_CAT_SIZE]; // guide-star candidate list
00110 
00111     vltINT32         inUse;                  // Index of the entry in use
00112     vltINT32         selected;               // Index of the entry selected for next
00113                                              // GetNewCandidate()
00114     agwsCON_ADAPTER *checker;                // object used to check probe pos.
00115 };
00116 
00117 #endif 

Generated on Wed Dec 3 14:52:06 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001