Changeset 3696 in Sophya


Ignore:
Timestamp:
Dec 3, 2009, 12:17:04 AM (16 years ago)
Author:
ansari
Message:

correction et petites amelioration - Reza 03/12/2009

Location:
trunk/AddOn/TAcq
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/brbaseproc.cc

    r3694 r3696  
    1919BRBaseProcessor::BRBaseProcessor(RAcqMemZoneMgr& memgr)
    2020  : memgr_(memgr), vpaq_(memgr.NbFibres()), vpchk_(memgr.NbFibres()), vfgok_(memgr.NbFibres()),
    21     curfc_(memgr.NbFibres())
     21    curfc_(memgr.NbFibres()), fcfirst_(memgr.NbFibres()), ttfirst_(memgr.NbFibres())
    2222{
    2323  stop_ = false;
    2424  for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++)  {
     25    fbuff_.push_back(NULL);
    2526    vpaq_[fib]=BRPaquet(NULL,memgr_.PaqSize());
    2627    vpchk_[fib]=BRPaqChecker(true,0);
    2728    vfgok_[fib]=true;
    2829    curfc_[fib]=0;
     30    fcfirst_[fib]=0;
     31    ttfirst_[fib]=0;
    2932  }
    30   fcfirst_=ttfirst_=0;
     33  fgokallfibers_=true;
    3134  totprocnpaq_=0;
    3235}
     
    4245
    4346    size_t paqsz=memgr_.PaqSize();
    44     vector<Byte*> fbuff;
    45     for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++)  fbuff.push_back(NULL);
    4647    bool fgrun=true;
    4748    while (fgrun) {
     
    5556        break; 
    5657      }
     58      for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) {
     59        fbuff_[fib] = memgr_.GetMemZone(mid,fib);
     60        if (fbuff_[fib] == NULL) { // cela ne devrait pas arriver
     61          cout << "BRBaseProcessor::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl;
     62          setRC(9);       fgrun=false;         
     63          break;
     64        }
     65      }
    5766      for(size_t jp=0; jp<memgr_.NbPaquets(); jp++) {   // boucle sur les paquets d'une zone 
    5867        fgokallfibers_=true;
    5968        for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) {
    60           fbuff[fib] = memgr_.GetMemZone(mid,fib);
    61           if (fbuff[fib] == NULL) { // cela ne devrait pas arriver
    62             cout << "BRBaseProcessor::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl;
    63             setRC(9);     fgrun=false;         
    64             break;
    65           }
    66           vpaq_[fib].Set(fbuff[fib]+jp*paqsz);
     69          vpaq_[fib].Set(fbuff_[fib]+jp*paqsz);
    6770          vfgok_[fib] = vpchk_[fib].Check(vpaq_[fib],curfc_[fib]);
    6871          if (!vfgok_[fib])  fgokallfibers_=false;
    6972        }
    7073        //--- Traitement
    71         int rcp = Process();
    72         totprocnpaq_++;
     74        int rcp=0;
     75        if (fgokallfibers_)  {
     76          if (totprocnpaq_==0) {
     77            for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++)  {
     78              fcfirst_[fib]=curfc_[fib];
     79              ttfirst_[fib]=vpaq_[fib].TimeTag();
     80            }
     81          }
     82          rcp=Process();
     83          totprocnpaq_++;
     84        }
    7385        //      if (rcp != 0)   { fgrun=false; break; }
    7486      }  // Fin de boucle sur les paquets
     
    101113  // la methode par defaut ne fait rien
    102114  // if (fgokallfibers_) { faire le traitement }
    103   return 0;
    104   /*    Exemple de code test
     115  //  return 0;
     116  /*    Exemple de code test  */
    105117  if ( totprocnpaq_ % 1000 == 0 ) {
    106118    cout << " BRVisibilityCalculator::Process() " << totprocnpaq_ << " FrameCnt=" ;
     
    113125      cout << "   seconds" << endl;
    114126  }
    115 
    116    */
     127  return 0;
    117128}
    118129
  • trunk/AddOn/TAcq/brbaseproc.h

    r3694 r3696  
    2626  BRBaseProcessor(RAcqMemZoneMgr& memgr);
    2727  virtual void run();
    28   // Methode devant etre redefinie pour effectuer le traitement
     28  // Methode devant etre redefinie pour effectuer le traitement - appele pour chaque trigger 
    2929  virtual int Process();  // renvoie 0 si OK, sinon, arret traitement
    3030  inline void Stop();
     
    3232protected:
    3333  RAcqMemZoneMgr& memgr_;
    34   bool stop_; 
     34  bool stop_;
     35  vector<Byte*> fbuff_;      // Vecteur de pointeur de zone memoire pour chaque fibre
    3536  vector<BRPaquet> vpaq_;   // Vecteur de BRPaquet pour chaque fibre
    3637  vector<BRPaqChecker> vpchk_;
    3738  vector<uint_8> vfgok_;    // Vecteur de flag si paquet OK pour chaque fibre
    3839  vector<uint_8> curfc_;    // Vecteur de numero de FrameCounter pour chaque fibre
    39 
    40   uint_8 fcfirst_;
    41   uint_8 ttfirst_;
     40  vector<uint_8> fcfirst_;  //
     41  vector<uint_8> ttfirst_;
    4242  bool fgokallfibers_;      // true -> paquets for all fibers OK
    4343
  • trunk/AddOn/TAcq/brproc.cc

    r3694 r3696  
    5050  }
    5151  //  visdt_.AddFloatColumn("mfc");
    52   visdt_.AddFloatColumn("mfc");
    53   visdt_.AddFloatColumn("mtt");
     52  visdt_.AddDoubleColumn("mfc");
     53  visdt_.AddDoubleColumn("mtt");
    5454  visdt_.AddIntegerColumn("jfreq");
    5555  visdt_.AddIntegerColumn("numch");
     
    101101int BRVisibilityCalculator::Process()
    102102{
    103   vector<TwoByteComplex*> vpdata;
    104   /*
    105   for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) {
    106     vpdata.push_back(vpaq_[fib].Data1C());
    107     vpdata.push_back(vpaq_[fib].Data2C());
    108   }
    109   */
    110   // On s'arrange pour mettre les canaux dans l'ordre pour les observations de Pittsburgh Nov 2009
     103   
    111104  for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) {
    112105    vpdata_[2*fib] = vpaq_[fib].Data1C();
    113106    vpdata_[2*fib+1] = vpaq_[fib].Data2C();
    114107  }
    115 
     108 
    116109  if (totnbpaq_%nmean_ == 0) {
    117110    if (totnbpaq_ > 0) {
     
    143136    }
    144137  }
    145 
     138 
    146139  moyfc_ += curfc_[0];
    147140  moytt_ += vpaq_[0].TimeTag();
     
    172165        r_4 moyimag=0.;
    173166        for(sa_size_t jjf=jf; jjf<jf+djf_; jjf++) {
    174           moyreal+=vismtx_(rv,jf).real();
    175           moyimag+=vismtx_(rv,jf).imag();
     167          moyreal+=vismtx_(rv,jjf).real();
     168          moyimag+=vismtx_(rv,jjf).imag();
    176169        }
    177170        xnt_[2]=jf+djf_/2;
Note: See TracChangeset for help on using the changeset viewer.