#include #include #include "branap.h" #include "minifits.h" #include "strutilxx.h" #include "sopnamsp.h" //-------------------------------------------------------------- // Projet BAORadio - (C) LAL/IRFU 2008-2010 // Classe de gestion des parametres programmes d'analyse //-------------------------------------------------------------- /* --Methode-- */ BRAnaParam::BRAnaParam(uint_4 nmean, uint_4 nzon, uint_4 npaqz) { outpath_="./"; nmean_=nmean; nbloc_=1; imin_=imax_=0; istep_=1; freqmin_=freqmax_=0; nbinfreq_=1; paqsize_=16424; nzones_=nzon; npaqinzone_=npaqz; prtlevel_=0; } /* --Methode-- */ int BRAnaParam::DecodeArgs(int narg, char* arg[]) { if ((narg>1)&&(strcmp(arg[1],"-h")==0)) return Usage(false); if (narg<5) return Usage(true); bool okarg=false; int ka=1; while (ka<(narg-1)) { if (strcmp(arg[ka],"-act")==0) { action_=arg[ka+1]; ka+=2; } else if (strcmp(arg[ka],"-out")==0) { outpath_=arg[ka+1]; size_t lenp=outpath_.size(); if ((lenp>0)&&(outpath_[lenp-1]!='/')) outpath_+='/'; ka+=2; } else if (strcmp(arg[ka],"-nmean")==0) { nmean_=atoi(arg[ka+1]); ka+=2; } else if (strcmp(arg[ka],"-nbloc")==0) { nbloc_=atoi(arg[ka+1]); ka+=2; } else if (strcmp(arg[ka],"-freq")==0) { sscanf(arg[ka+1],"%d,%d,%d",&freqmin_,&freqmax_,&nbinfreq_); ka+=2; } else if (strcmp(arg[ka],"-zones")==0) { int nzon=4; int npaqz=128; sscanf(arg[ka+1],"%d,%d",&nzon,&npaqz); nzones_=nzon; npaqinzone_=npaqz; ka+=2; } else if (strcmp(arg[ka],"-prtlev")==0) { prtlevel_=atoi(arg[ka+1]); ka+=2; } else if (strcmp(arg[ka],"-in")==0) { if ((narg-ka)<4) { cout << " BRAnaParam::DecodeArgs() / Argument error " << endl; return Usage(true); } sscanf(arg[ka+1],"%d,%d,%d",&imin_,&imax_,&istep_); ka+=2; while(ka<(narg-1)) { string inpath = arg[ka]; size_t lenp=inpath.size(); if (lenp<1) inpath="./"; if ((lenp>0)&&(inpath[lenp-1]!='/')) inpath+='/'; vector fiblist; string sa1 = arg[ka+1]; FillVStringFrString(sa1, fiblist, ','); char dbuff[32]; for(size_t i=0; i