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

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

Validation/debug calcul de visibilites par tranches en temps, Reza, 08 Aout 2011

File size: 3.2 KB
Line 
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
15#include "timestamp.h"
16
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
25 uint_8 TotalNPaquets() { return ((imax_-imin_+1)*npaqinfile_/istep_); }
26
27 ostream& Print(ostream& os);
28
29 static int DecodeMiniFitsHeader(const char* filename, uint_4& paqsz, uint_4& npaq,
30 bool& fgdatafft, bool& fgsinglechannel, SOPHYA::TimeStamp& tmstart);
31
32 vector<string> dirlist_;
33 string action_;
34 string outpath_;
35 bool fgfitsout_; // true -> force fichier sortie format FITS (defaut PPF)
36 uint_4 imin_, imax_, istep_;
37 bool rdsamefc_; // read paquets with same frame counter
38 uint_4 freqmin_, freqmax_, nbinfreq_;
39 uint_4 paqsize_;
40 uint_4 nzones_, npaqinzone_;
41 uint_4 npaqinfile_; // nombre de paquets dans un fichier p
42 bool fgdatafft_; // true -> donnee FFT (provenant du firmware FFT)
43 bool fgforceraworfft_; // true force par la ligne de commande fgdatafft_ true or false
44 bool fgsinglechannel_; // true -> un seul canal par fibre (par defaut=2 canaux/fibres)
45 bool fgforcesingleortwochan_; // true force par la ligne de commande
46 int prtlevel_;
47 long int prtmodulo_, prtmodulo2_;
48
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
55 uint_4 nbcalgrp_; // Nb d'objets/threads dans BRVisCalcGroup
56 uint_4 nthreads_; // Nb de threads pour l'execution parallele ds BRVisibilityCalculator
57
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
62 double vmin_,vmax_; // coupure min-max sur la variance
63 int nbands_,bandfirst_,bandlast_; //bandes en frequences pour mean, variance et cut
64 bool fgdtpaq_; //if true fill per per paquet datatable
65 bool fgdtms_; //if true fill time avergared/filtered spectral power datatable
66
67 bool fgfreqfilter_; // if true force median filtering on the frequencies
68 uint_4 medhalfwidth_; //half freq window for filtering
69
70 string gainfile_; // nom du fichier de gain (reponse spectrale)
71
72 // Remplissage DataTable power = f(time)
73
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
79};
80
81#endif
Note: See TracBrowser for help on using the repository browser.