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


Ignore:
Timestamp:
Mar 2, 2011, 3:31:39 PM (15 years ago)
Author:
ansari
Message:

Amelioration du processeur de calcul de visibilite (BRVisibilityCalculator) et du programme vismfib.cc pour permettre la prise en charge des donnees raw-2c pour le calcul des visibilites et ajout de la possibilite d ecrire les fichiers de sortie (matrices de visibilites) au format FITS, Reza 02/03/2011

File:
1 edited

Legend:

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

    r3923 r3956  
    4040  virtual ~BRVisibilityCalculator(); // Fait le nettoyage final , sauvegarde des objets ...
    4141
     42  // configuration avec donnees firmware FFT (defaut)
     43  inline void SetRawData()  { fgdataraw_=true; }
     44  // configuration avec donnees firmware RAW (defaut)
     45  inline void SetFFTData()  { fgdataraw_=false; }
     46
    4247  // Pour definir le rang de l'objet lors d'un traitement avec plusieurs BRVisibilityCalculator en //
    4348  void DefineRank(uint_4 nbc, uint_4 cid, uint_4 pair1=0, uint_4 nbpairs=999999999, bool fgpimp=false);
     
    5863  // Pour activer le remplissage du DataTable des visibilites
    5964  inline void ActivateVisDTable(bool fgfdt=false)  { fgvisdt_=fgfdt;  return; }
     65  // Pour ecrire les fichiers de sortie au format fits (format PPF sinon)
     66  inline void SetFitsOutput() { fgfitsout_=true; }
     67  // Pour ecrire les fichiers de sortie au format PPF (defaut)
     68  inline void SetPPFOutput() { fgfitsout_=false; }
    6069
    6170  // Methode d'execution standard du thread (on redefinit la methode de BRBaseProcessor)
    6271  virtual void run(); 
    6372  // Methode de la classe ParallelTaskInterface
    64   virtual int    execute(int tid);
     73  virtual int  execute(int tid);
    6574
    6675  // Le nombre total d'operations effectuees
     
    7887  virtual int FillVisibTable(double fcm, double ttm);
    7988  virtual int CheckTimeTag();
     89  inline const char* OutFileExtension() { return ((fgfitsout_)?"fits":"ppf"); }
    8090
    8191  ParallelExecutor paralex_;  // Pour l'execution en parallele 
    8292  size_t nparthr_;
    8393
     94  bool fgdataraw_;  // true -> donnees provenant du firmware RAW
    8495  uint_4 nmean_;  // Nombre de spectres pour le calcul des moyennes
    8596  string outpath_;  // directory pour fichiers de sortie
     
    91102  uint_4 jf1_,jf2_,djf_;  // binning en frequence pour la datatable
    92103
    93   vector<TwoByteComplex*> vpdata_;
     104  vector<TwoByteComplex*> vpdata_;   // donnees du fimrware FFT
     105  vector< complex<r_4>* > vpdatar_;   // donnees du fimrware RAW apres FFT soft
     106
    94107  bool* fgallfibok; 
    95108
     
    99112 
    100113  TMatrix< complex<r_4> > vismtx_;
    101   TVector< uint_4 > chanids_;    // Numero de chaque canal=FiberId*2-1, FiberId*2
    102   TVector< uint_4 > chanpairnumall_;  // Liste de tous les numeros de paires de canaux (forme 1000*C1+C2=IIIJJJ)
    103   TMatrix< uint_4 > chanpairsall_ ;  // Liste de toutes paires de canaux (forme (C1,C2) )
    104   TVector< uint_4 > chanpairnum_;    // Liste des paires de canaux calcules par ce BRVisibilityCalculator
    105   TMatrix< uint_4 > chanpairs_ ;  // Liste des paires de canaux (forme (C1,C2) ) pour ce BRVisibilityCalculator
     114  TVector< int_4 > chanids_;    // Numero de chaque canal=FiberId*2-1, FiberId*2
     115  TVector< int_4 > chanpairnumall_;  // Liste de tous les numeros de paires de canaux (forme 1000*C1+C2=IIIJJJ)
     116  TMatrix< int_4 > chanpairsall_ ;  // Liste de toutes paires de canaux (forme (C1,C2) )
     117  TVector< int_4 > chanpairnum_;    // Liste des paires de canaux calcules par ce BRVisibilityCalculator
     118  TMatrix< int_4 > chanpairs_ ;  // Liste des paires de canaux (forme (C1,C2) ) pour ce BRVisibilityCalculator
     119
     120  bool fgfitsout_;  // if true -> write visibility matrices in fits format
    106121
    107122  //  FitsInOutFile dtfos_;
     
    137152                 uint_4 pair1=0, uint_4 nbpairs=999999999, bool fgpimp=false, size_t nthr=1);
    138153  ~BRVisCalcGroup();
     154
     155  MemZStatus SetMemZAction(MemZaction mmact=MemZA_ProcA);
     156
    139157  int SelectFreqBinning(uint_4 freq1=0, uint_4 freq2=0, uint_4 nbfreq=1);
    140158  inline int ActivateTimeTagCheck(uint_8 maxnpaq)
    141159  { return viscalcp_[0]->ActivateTimeTagCheck(maxnpaq); }
    142160  void ActivateVisDTable(bool fgfdt=false);
     161  // Pour ecrire les fichiers de sortie au format fits (format PPF sinon)
     162  void SetFitsOutput();
     163  // Pour ecrire les fichiers de sortie au format PPF (defaut)
     164  void SetPPFOutput();
    143165  void SetPrintLevel(int lev=0, uint_8 prtmodulo=10);
    144166
Note: See TracChangeset for help on using the changeset viewer.