source: Sophya/trunk/AddOn/TAcq/branap.h@ 4012

Last change on this file since 4012 was 4012, checked in by ansari, 14 years ago

Codage du mode de calcul de visibilites par intervalle de temps (BRVisibiliyCalculator) et propagation des modifs (ajouts de parametres) ds mfacq.cc et vismfib.cc, Reza 02/08/2011

File size: 3.2 KB
RevLine 
[3687]1#ifndef BRANAPARAM
2#define BRANAPARAM
3
4//--------------------------------------------------------------
5// Projet BAORadio - (C) LAL/IRFU 2008-2010
6// Classe de gestion des parametres programmes d'analyse
7//--------------------------------------------------------------
8
9#include "machdefs.h"
10
11#include <string>
12#include <vector>
13#include <iostream>
14
[3979]15#include "timestamp.h"
16
[3687]17class BRAnaParam {
18public:
19 BRAnaParam(uint_4 nmean=1000, uint_4 nzon=4, uint_4 npaqz=128);
20 int DecodeArgs(int narg, char* arg[]);
21 int Usage(bool fgshort);
22
23 int PaqSizeFromFits();
24
[3705]25 uint_8 TotalNPaquets() { return ((imax_-imin_+1)*npaqinfile_/istep_); }
26
[3687]27 ostream& Print(ostream& os);
28
[3872]29 static int DecodeMiniFitsHeader(const char* filename, uint_4& paqsz, uint_4& npaq,
[3979]30 bool& fgdatafft, bool& fgsinglechannel, SOPHYA::TimeStamp& tmstart);
[3687]31
32 vector<string> dirlist_;
33 string action_;
34 string outpath_;
[3956]35 bool fgfitsout_; // true -> force fichier sortie format FITS (defaut PPF)
[4012]36 uint_4 imin_, imax_, istep_;
[3883]37 bool rdsamefc_; // read paquets with same frame counter
[3688]38 uint_4 freqmin_, freqmax_, nbinfreq_;
[3687]39 uint_4 paqsize_;
40 uint_4 nzones_, npaqinzone_;
[3705]41 uint_4 npaqinfile_; // nombre de paquets dans un fichier p
[3872]42 bool fgdatafft_; // true -> donnee FFT (provenant du firmware FFT)
[3956]43 bool fgforceraworfft_; // true force par la ligne de commande fgdatafft_ true or false
[3872]44 bool fgsinglechannel_; // true -> un seul canal par fibre (par defaut=2 canaux/fibres)
[3967]45 bool fgforcesingleortwochan_; // true force par la ligne de commande
[3688]46 int prtlevel_;
[3883]47 long int prtmodulo_;
[3956]48
[4012]49 uint_4 nmean_;
50 // definition intervalle de temps (au lieu du nombre de paquet pour spectres moyennes/visibilites
51 bool fgtimeinterval_; // true : calcul visibilites/spectres moyens par intervalle de temps (au lieu de nmean)
52 double timeinterval_; // definition de l'intervalle de temps en secondes pour spectres moyens/visibilites
53 uint_4 nbloc_;
54
[3776]55 uint_4 nbcalgrp_; // Nb d'objets/threads dans BRVisCalcGroup
56 uint_4 nthreads_; // Nb de threads pour l'execution parallele ds BRVisibilityCalculator
[3886]57
[3905]58 uint_4 spec_win_sz_; // taille de fenetre (temps/no de paquet) pour les spectres
59 uint_4 spw_ext_sz_; // zone de garde en temps / no de paquet pour la fenetre des spectres
60 uint_4 nbmax_specwfiles_; // nb maxi de fichiers de fenetres de spectres sauvees
61
[3886]62 double vmin_,vmax_; // coupure min-max sur la variance
[3943]63 int nbands_,bandfirst_,bandlast_; //bandes en frequences pour mean, variance et cut
[3993]64 bool fgdtpaq_; //if true fill per per paquet datatable
65 bool fgdtms_; //if true fill time avergared/filtered spectral power datatable
[3943]66
67 bool fgfreqfilter_; // if true force median filtering on the frequencies
[3992]68 uint_4 medhalfwidth_; //half freq window for filtering
[3943]69
[3888]70 string gainfile_; // nom du fichier de gain (reponse spectrale)
[3979]71
[3993]72 // Remplissage DataTable power = f(time)
73
[3979]74 // definition fenetre en temps pour le traitement des paquets
75 SOPHYA::TimeStamp proctimestart_; // temps de debut de la fenetre
76 SOPHYA::TimeStamp proctimeend_; // temps de debut de la fenetre
77 double proctimeduration_; // duree en secondes de la fenetre
78 bool fgtimeselect_; // vrai -> selection des paquets dans la fenetre en temps
[3687]79};
80
81#endif
Note: See TracBrowser for help on using the repository browser.