Changeset 4012 in Sophya for trunk/AddOn/TAcq/brviscalc.h


Ignore:
Timestamp:
Aug 2, 2011, 7:25:02 PM (14 years ago)
Author:
ansari
Message:

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:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/brviscalc.h

    r3967 r4012  
    6767  // Pour ecrire les fichiers de sortie au format PPF (defaut)
    6868  inline void SetPPFOutput() { fgfitsout_=false; }
     69  // Pour passer en mode nombre de paquet pour sauvegarde matrices visibilites (defaut)
     70  inline void SetNPaqIntervalMode(uint_4 nmean=1000) 
     71    { fgnpaq_time=true; nmean_=(nmean>0)?nmean:1000; }
     72  // Pour passer en mode intervalle en temps pour sauvegarde matrices visibilites - intervalle de temps en secondes
     73  inline void SetTimeIntervalMode(double dtime=1.)
     74    { fgnpaq_time=false; dtimemean_=(dtime>1e-6)?dtime:1.; }
    6975
    7076  // Methode d'execution standard du thread (on redefinit la methode de BRBaseProcessor)
     
    8490  virtual void UpdateChanIds();
    8591  virtual int Process();
     92  virtual void SaveVisibilityMatrix();
    8693  virtual void UpdateVisMtxInfo();
    8794  virtual int FillVisibTable(double fcm, double ttm);
     95  inline  bool CheckInterval4Save(); 
    8896  virtual int CheckTimeTag();
    8997  inline const char* OutFileExtension() { return ((fgfitsout_)?"fits":"ppf"); }
     98 // return true if npaq or time interval elasped to save visibility matrix
     99  inline  bool CheckInterval4VisMtxSave() 
     100  {
     101    if (npaqcumul_<1) return false;
     102    if (fgnpaq_time)
     103      return ((npaqcumul_>=nmean_)?true:false);
     104    else {
     105      return (((vpaq_[0].TimeTag()-first_tt_)/1.25e8>=dtimemean_)?true:false);
     106    }
     107  }
    90108
    91109  ParallelExecutor paralex_;  // Pour l'execution en parallele 
     
    93111
    94112  bool fgdataraw_;  // true -> donnees provenant du firmware RAW
    95   uint_4 nmean_;  // Nombre de spectres pour le calcul des moyennes
    96113  string outpath_;  // directory pour fichiers de sortie
    97114  uint_4 nbcalc_, calcid_;  // Nombre total de threads/objets BRVisibilityCalculator parallèles, l'identificateur de l'objet 
    98115
     116  //  Definition du mode (type d'intervalle) pour calcul des moyennes
     117  uint_4 nmean_;  // Nombre de spectres pour le calcul des moyennes
     118  double dtimemean_;  // Intervalle en temps pour le calcul des moyennes - exprimes en secondes
     119  bool fgnpaq_time;  // true -> utilisation nmean_ comme nb de paquet/spectre, false -> dtimemean_
     120
    99121  uint_4 pairst_, nbpairs_;   // Numero de la premiere paire, nombre de paires ( 1 paire= 1 visibilites)
    100122  bool fgpimp_;    //  true -> calculer uniquement visibilities avec no voie pair-impair 
     
    107129  bool* fgallfibok; 
    108130
     131  uint_8 npaqcumul_;     // Nb de paquets cumules/moyennes ds la matrice de visibilite
    109132  double moyfc_, moytt_;  // moyenne des FrameCounter / TimeTag pour chaque matrice de visibilite
    110133  uint_8 first_fc_,first_tt_;  // Valeurs premier FrameCounter / TimeTag pour chaque matrice de visibilite
     
    167190  // configuration avec donnees firmware RAW 
    168191  void SetRawData(); 
     192  // Pour passer en mode nombre de paquet pour sauvegarde matrices visibilites (defaut)
     193  void SetNPaqIntervalMode(uint_4 nmean=1000);
     194  // Pour passer en mode intervalle en temps pour sauvegarde matrices visibilites
     195  void SetTimeIntervalMode(double dtime=1.);
    169196
    170197  void SetPrintLevel(int lev=0, uint_8 prtmodulo=10);
Note: See TracChangeset for help on using the changeset viewer.