Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

LofarDemon.hh

Go to the documentation of this file.
00001 /*
00002 
00003     LOFAR/DEMON calculation server, header
00004     Copyright (C) 2000-2003 Jussi Laako
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 
00020 */
00021 
00022 
00023 #include <Alloc.hh>
00024 #include <dsp/DSPOp.hh>
00025 #include <dsp/Filter.hh>
00026 #include <dsp/ReBuffer.hh>
00027 #include <dsp/RecDecimator.hh>
00028 #include <dsp/IIRCascade.hh>
00029 #include <dsp/FlipBand.hh>
00030 
00031 #include "Config.h"
00032 #include "LocalMsg.h"
00033 #include "CfgFile.hh"
00034 #include "Messages.hh"
00035 #include "RemoveNoise.hh"
00036 #include "SockClie.hh"
00037 #include "SockOp.hh"
00038 
00039 
00040 #ifndef LOFARDEMON_HH
00041     #define LOFARDEMON_HH
00042 
00043 
00047     class clLofarDemon
00048     {
00049             bool bReverseOrder;
00050             int iFilterType;
00051             int iDCBlock;
00052             int iNormIdx;
00053             int iNormHistCount;
00054             long lFilterSize;
00055             long lDecimation;
00056             long lDemonDecimation;
00057             long lWinSize;
00058             long lSpectSize;
00059             long lNewDataSize;
00060             long lOldDataSize;
00061             long lAvgCntr;
00062             long lHistCntr;
00063             GDT *fpWinFunc;
00064             GDT *fpDataBuf;
00065             GDT *fpSpectRes;
00066             GDT *fpLofarRes;
00067             GDT *fpNormHist;
00068             stRawDataFirst sDataHdr;
00069             stLofarReq sLofarRq;
00070             stLofarRes sLofarResHdr;
00071             clDSPAlloc WinFunc;
00072             clDSPAlloc DataBuf;
00073             clDSPAlloc SpectRes;
00074             clDSPAlloc LofarRes;
00075             clDSPAlloc HistoryBuf;
00076             clDSPAlloc NormHist;
00077             clCfgFile Cfg;
00078             clDSPOp DSP;
00079             clLofarMsg LofarMsg;
00080             clReBuffer ReBuffer;  
00081             clRecDecimator Decimator;  
00082             clRecDecimator DemonDecimator;  
00083             clIIRCascade DCBlockIIR;  
00084             clFlipBand FlipBand;  
00085             clRemoveNoise RemoveNoise;
00086             clSockClie SockClie;
00087             clSockOp SOpRequest;
00088             clSockOp SOpResult;
00089             clSockOp SOpData;
00090             bool GetRequestMsg ();
00091             bool GetDataHdr ();
00092             bool Initialize ();
00093             bool InitFilter ();
00094             bool InitFFT ();
00095             int MainLoop ();
00096             void CalcSpect ();
00097             bool SendResults ();
00098             void PutData (GDT *, long);
00099             bool PullData (GDT *, long);
00100             void DemonProc (GDT *, long);
00101             void SpectStdDev (GDT *);
00102         public:
00103             volatile bool bRun;
00104             clLofarDemon (int, int);
00105             ~clLofarDemon ();
00106             int Exec ();
00107     };
00108 
00109 #endif
00110 

Generated on Sun Oct 26 19:11:21 2003 for HASAS by doxygen 1.3.3