| 1 | #ifndef  BRPROCGAIN_H_SEEN
 | 
|---|
| 2 | #define  BRPROCGAIN_H_SEEN
 | 
|---|
| 3 | 
 | 
|---|
| 4 | //----------------------------------------------------------------
 | 
|---|
| 5 | // Projet BAORadio - (C) LAL/IRFU  2008-2011
 | 
|---|
| 6 | // Classes de threads de traitememt donnees BAORadio 
 | 
|---|
| 7 | //  Principales classes utilisables 
 | 
|---|
| 8 | //  - BRGainCalculator (donnees FFT ou RAW apres BRFFTCalculator)
 | 
|---|
| 9 | //  - BRFFTCalculator (donnees RAW) 
 | 
|---|
| 10 | //----------------------------------------------------------------
 | 
|---|
| 11 | 
 | 
|---|
| 12 | #include "brproc.h"
 | 
|---|
| 13 | 
 | 
|---|
| 14 | using namespace std;
 | 
|---|
| 15 | 
 | 
|---|
| 16 |  
 | 
|---|
| 17 | //---------------------------------------------------------------------
 | 
|---|
| 18 | // Classe de traitement simple pour obtenir des spectres filtres des RFIs 
 | 
|---|
| 19 | // que l'on appelle spectre de gain / voie
 | 
|---|
| 20 | // a partir de donnees de type FFT (firmware FFT)
 | 
|---|
| 21 | //---------------------------------------------------------------------
 | 
|---|
| 22 | class BRGainCalculator : public BRMeanSpecCalculator
 | 
|---|
| 23 | {
 | 
|---|
| 24 | public:
 | 
|---|
| 25 |   BRGainCalculator(RAcqMemZoneMgr& memgr, string outpath, uint_4 nmean=1000, 
 | 
|---|
| 26 |                        bool fgdatafft=true, bool fgsinglechan=false);
 | 
|---|
| 27 |   virtual ~BRGainCalculator(); // Fait le nettoyage final , sauvegarde des objets ...
 | 
|---|
| 28 | 
 | 
|---|
| 29 |   void SetOnMedianFreqFilt(){forceMedianFreqFilter_ = true;}  
 | 
|---|
| 30 |   void SetMedianFilterHalfWidth(uint_4 val){ medianFilterHalfWidth_ = val; }
 | 
|---|
| 31 | 
 | 
|---|
| 32 | protected:
 | 
|---|
| 33 | 
 | 
|---|
| 34 | // appele par Process() pour traiter un groupe de paquets correspondant a une fenetre en temps
 | 
|---|
| 35 |   virtual void ProcSpecWin(uint_8 numpaqstart, uint_8 numpaqend);  // appele fenetre par fenetre  
 | 
|---|
| 36 | 
 | 
|---|
| 37 |   virtual void SaveMedianSpectra();  // Pour sauver les spectres median dans un fichier
 | 
|---|
| 38 | 
 | 
|---|
| 39 | 
 | 
|---|
| 40 |   bool forceMedianFreqFilter_; // if true force Median frequency filtering
 | 
|---|
| 41 |   uint_4 medianFilterHalfWidth_; //half freq window for filtering (default=50)
 | 
|---|
| 42 | 
 | 
|---|
| 43 | 
 | 
|---|
| 44 |   TMatrix< r_4 > medfiltspecmtx_;    // Matrice des spectres filtres 
 | 
|---|
| 45 |   uint_8 nbwin4mean_;    // number of windows to perform the mean value of the filtered spectra
 | 
|---|
| 46 |   uint_4 nummedianfile_; //index of the filtered spectra file 
 | 
|---|
| 47 | 
 | 
|---|
| 48 |   TimeStamp  windowTime_; //time of the window of paquets
 | 
|---|
| 49 | }; 
 | 
|---|
| 50 | #endif
 | 
|---|