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

Last change on this file since 4015 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
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_;
[4015]47 long int prtmodulo_, prtmodulo2_;
[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.