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

pomFITS_MAIN_TASK.h

Go to the documentation of this file.
00001 #ifndef pomFITS_MAIN_TASK_H
00002 #define pomFITS_MAIN_TASK_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: pomFITS_MAIN_TASK.h,v 1.69 2003/09/17 16:04:57 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * rkarban 2001-02-28 add initTpoint parameter to constructor
00011 * rkarban 2001-02-28 make all methods virtual
00012 * rabuter 2000-04-05 protected starthandler
00013 * pglaves  04/04/96  created
00014 */
00015 
00016 /************************************************************************
00017  *
00018  *----------------------------------------------------------------------
00019  */
00020 
00021 #ifndef __cplusplus
00022 #error This is a C++ include file and cannot be used from plain C
00023 #endif
00024 
00025 #include "pom.h"
00026 
00027 struct MeasureStat {
00028   int i;      // measure number
00029   double dx, 
00030     dd,
00031     ds,
00032     dz,
00033     dr, 
00034     score;
00035   MeasureStat (int _i, double _dx, double _dd, 
00036          double _ds, double _dz, double _dr, double _sc):
00037     i(_i), dx(_dx), dd(_dd), 
00038     ds(_ds), dz(_dz), dr(_dr), 
00039     score(_sc)
00040     {}
00041 };
00042 
00043 
00044 class pomFITS_MAIN_TASK : public tcsSTATE
00045 {
00046   public:
00047     pomFITS_MAIN_TASK(const dbSYMADDRESS  dbPoint, vltLOGICAL initTpoint = ccsTRUE);
00048     virtual ~pomFITS_MAIN_TASK();
00049 
00050     // Standard commands' callbacks.
00051     virtual evhCB_COMPL_STAT StopCB(msgMESSAGE &msg, void *);
00052     virtual evhCB_COMPL_STAT OnlineCB(msgMESSAGE &msg, void *);
00053     virtual evhCB_COMPL_STAT StandbyCB(msgMESSAGE &msg, void *);
00054     virtual evhCB_COMPL_STAT OffCB(msgMESSAGE &msg, void *);
00055     virtual evhCB_COMPL_STAT StatusCB(msgMESSAGE &msg, void *udata);
00056     
00057     // Callbacks for the new commands
00058     virtual evhCB_COMPL_STAT AppendCB(msgMESSAGE &msg, void *);  
00059     virtual evhCB_COMPL_STAT CallCB(msgMESSAGE &msg, void *);
00060     virtual evhCB_COMPL_STAT ClistCB(msgMESSAGE &msg, void *);
00061     virtual evhCB_COMPL_STAT EndCB(msgMESSAGE &msg, void *);
00062     virtual evhCB_COMPL_STAT FinCB(msgMESSAGE &msg, void *);
00063     virtual evhCB_COMPL_STAT FitCB(msgMESSAGE &msg, void *);
00064     virtual evhCB_COMPL_STAT FixCB(msgMESSAGE &msg, void *);
00065     virtual evhCB_COMPL_STAT GCB(msgMESSAGE &msg, void *);
00066     virtual evhCB_COMPL_STAT GcCB(msgMESSAGE &msg, void *);
00067     virtual evhCB_COMPL_STAT GamCB(msgMESSAGE &msg, void *);
00068     virtual evhCB_COMPL_STAT GdistCB(msgMESSAGE &msg, void *);
00069     virtual evhCB_COMPL_STAT GhystCB(msgMESSAGE &msg, void *);
00070     virtual evhCB_COMPL_STAT GmapCB(msgMESSAGE &msg, void *);
00071     virtual evhCB_COMPL_STAT GscatCB(msgMESSAGE &msg, void *);
00072     virtual evhCB_COMPL_STAT IndatCB(msgMESSAGE &msg, void *);
00073     virtual evhCB_COMPL_STAT InmodCB(msgMESSAGE &msg, void *);
00074     virtual evhCB_COMPL_STAT InproCB(msgMESSAGE &msg, void *);
00075     virtual evhCB_COMPL_STAT LoseCB(msgMESSAGE &msg, void *);
00076     virtual evhCB_COMPL_STAT MeslevCB(msgMESSAGE &msg, void *);    
00077     virtual evhCB_COMPL_STAT OutmodCB(msgMESSAGE &msg, void *);
00078     virtual evhCB_COMPL_STAT PloteqCB(msgMESSAGE &msg, void *);
00079     virtual evhCB_COMPL_STAT PlotaaCB(msgMESSAGE &msg, void *);
00080     virtual evhCB_COMPL_STAT ShowCB(msgMESSAGE &msg, void *);
00081     virtual evhCB_COMPL_STAT SlistCB(msgMESSAGE &msg, void *);
00082     virtual evhCB_COMPL_STAT StartCB(msgMESSAGE &msg, void *);
00083     virtual evhCB_COMPL_STAT UnfitCB(msgMESSAGE &msg, void *);
00084     virtual evhCB_COMPL_STAT UseCB(msgMESSAGE &msg, void *);
00085     virtual evhCB_COMPL_STAT TptrunCB(msgMESSAGE &msg, void *);
00086 
00087     virtual evhCB_COMPL_STAT myslistCB(msgMESSAGE &msg, void *);
00088     virtual evhCB_COMPL_STAT sweightCB(msgMESSAGE &msg, void *);
00089     virtual evhCB_COMPL_STAT streshCB(msgMESSAGE &msg, void *);
00090     virtual evhCB_COMPL_STAT scoresCB(msgMESSAGE &msg, void *);
00091     virtual evhCB_COMPL_STAT analCB(msgMESSAGE &msg, void *);
00092     virtual evhCB_COMPL_STAT resetCB(msgMESSAGE &msg, void *);
00093 
00094     ccsCOMPL_STAT    Recover();
00095 
00096 
00097 protected:
00098     // Overloading of inherited commands
00099     virtual evhCB_COMPL_STAT ExitCB(msgMESSAGE &msg, void *udata);
00100     virtual evhCB_COMPL_STAT InitCB(msgMESSAGE &msg, void *udata);
00101 
00102     virtual ccsCOMPL_STAT    Stop();
00103     virtual ccsCOMPL_STAT    Init(vltLOGICAL initTpoint = ccsTRUE);
00104     virtual ccsCOMPL_STAT    SwitchOff();
00105 
00106     virtual void tPtHandleCommand(tcsCMD_HANDLER *h, const char* cmd, 
00107         const char *parm=0) const;
00108     virtual void tPtCommand (const char * command, const char *Parm=0) const;
00109     virtual ccsCOMPL_STAT FindIniFile(const char *name);
00110     virtual void startLib();    
00111 
00112     tcsCMD_HANDLER * startHandler;
00113 
00114 private:
00115      dbSYMADDRESS       dbPoint;
00116     // path to where pointing files are
00117     char pointDir[256]; 
00118 
00119 protected:
00120     // Standard commands.
00121     tcsCMD_HANDLER    *initHandler;    // INIT command handler
00122     tcsCMD_HANDLER    *exitHandler;    // EXIT command handler
00123     tcsCMD_HANDLER    *stopHandler;    // STOP command handler
00124     tcsCMD_HANDLER    *onlineHandler;  // ONLINE command handler
00125     tcsCMD_HANDLER    *standbyHandler; // STANDBY command handler
00126     tcsCMD_HANDLER    *offHandler;     // OFF command handler
00127     tcsCMD_HANDLER    *statusHandler;  // STATUS command handler
00128 
00129     // pomFITS specific commands.
00130     tcsCMD_HANDLER * appendHandler;
00131     tcsCMD_HANDLER * callHandler;
00132     tcsCMD_HANDLER * clistHandler;
00133     tcsCMD_HANDLER * endHandler;
00134     tcsCMD_HANDLER * finHandler;
00135     tcsCMD_HANDLER * fitHandler;
00136     tcsCMD_HANDLER * fixHandler;
00137     tcsCMD_HANDLER * gHandler;
00138     tcsCMD_HANDLER * gcHandler;
00139     tcsCMD_HANDLER * gamHandler;
00140     tcsCMD_HANDLER * gdistHandler;
00141     tcsCMD_HANDLER * ghystHandler;
00142     tcsCMD_HANDLER * gmapHandler;
00143     tcsCMD_HANDLER * gscatHandler;
00144     tcsCMD_HANDLER * indatHandler;
00145     tcsCMD_HANDLER * inmodHandler;
00146     tcsCMD_HANDLER * inproHandler;
00147     tcsCMD_HANDLER * loseHandler;
00148     tcsCMD_HANDLER * meslevHandler;
00149     tcsCMD_HANDLER * outmodHandler;
00150     tcsCMD_HANDLER * ploteqHandler;
00151     tcsCMD_HANDLER * plotaaHandler;
00152     tcsCMD_HANDLER * showHandler;
00153     tcsCMD_HANDLER * slistHandler;
00154     tcsCMD_HANDLER * unfitHandler;
00155     tcsCMD_HANDLER * useHandler;
00156     tcsCMD_HANDLER * tptrunHandler;
00157 
00158     tcsCMD_HANDLER * myslistHandler;
00159     tcsCMD_HANDLER * sweightHandler;
00160     tcsCMD_HANDLER * streshHandler;
00161     tcsCMD_HANDLER * scoresHandler;
00162     tcsCMD_HANDLER * analHandler;
00163     tcsCMD_HANDLER * resetHandler;
00164 
00165   // new method, give a score to measures
00166   void ScoreMeasures(void);
00167   int myslist(void);
00168   int rejectBadMeasures(bool=true);
00169 
00170 
00171   // measure's score vector.
00172   vector<MeasureStat*> svector;
00173   // Tresholds to give points to measures. Calculated by myslist()
00174   vltDOUBLE 
00175   dxPosTresh,dxNegTresh, // Positive/Negative treshold  for dx
00176     ddPosTresh, ddNegTresh, // dd dto.
00177     dsPosTresh, dsNegTresh, // ds dto.
00178     dzPosTresh, dzNegTresh, // dz dto.
00179     drPosTresh, drNegTresh; // dr dto.
00180   
00181   // points to give on dx, dd, etc...
00182   eccsDB_DOUBLE      wdx, wdd, wds, wdz, wdr;
00183   eccsDB_DOUBLE      rejectTreshold;  // obvious uh?
00184   eccsDB_DOUBLE      sigmaFactor; // obvious uh?
00185   eccsDB_DOUBLE      sigmaIncrement;  // obvious uh?
00186 };
00187 
00188 
00189 #endif 

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