Changeset 3705 in Sophya for trunk/AddOn/TAcq/brproc.cc


Ignore:
Timestamp:
Dec 9, 2009, 6:17:05 PM (16 years ago)
Author:
ansari
Message:

Ajout possibilite verification timetag, Reza 9/12/2009

File:
1 edited

Legend:

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

    r3702 r3705  
    7575  cout << " BRVisibilityCalculator/Info NMean= " << nmean_ << " JF1=" << jf1_
    7676       << " JF2=" << jf2_ << " DJF=" << djf_ << endl;
     77
     78  fgcktt_=false;
    7779}
    7880
     
    8789  poc << chanum_;
    8890
     91  if (fgcktt_) {
     92    cout << " BRVisibilityCalculator -  Check TimeTag done: " << endl;
     93    for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++)  {
     94      cout << " BRTTCheck-Fiber[" << fib << "] NBadTT=" << vbadtt_[fib]
     95           << "  NotSameTT=" << vnsamett_[fib] << endl;
     96    }
     97    POutPersist pott(outpath_+"ttfcmtx.ppf");
     98    pott << PPFNameTag("FC") << fcmtx_;
     99    pott << PPFNameTag("TT") << ttmtx_;     
     100  }
    89101  delete[] xnt_;
     102}
     103
     104/* --Methode-- */
     105int BRVisibilityCalculator::ActivateTimeTagCheck(uint_8 maxnpaq)
     106{
     107  cout << " BRVisibilityCalculator::ActivateTimeTagCheck() - TT/Fc matrix NCols=" << maxnpaq << endl;
     108  mindeltatt_=memgr_.PaqSize()/2;
     109  if (mindeltatt_<1) mindeltatt_=1;
     110  fcmtx_.SetSize(memgr_.NbFibres(), maxnpaq);
     111  ttmtx_.SetSize(memgr_.NbFibres(), maxnpaq);
     112  vlasttt_.resize(memgr_.NbFibres(), 0);
     113  vbadtt_.resize(memgr_.NbFibres(), 0);
     114  vnsamett_.resize(memgr_.NbFibres(), 0);
     115  fgcktt_=true;
     116  return 0;
    90117}
    91118
     
    134161 
    135162  moyfc_ += curfc_[0];
    136   moytt_ += vpaq_[0].TimeTag();
     163  moytt_ += (vpaq_[0].TimeTag()-ttfirst_[0]);
     164  if (fgcktt_)  CheckTimeTag();
    137165  totnbpaq_++;
    138166  return 0;
     
    160188        r_4 moyreal=0.;
    161189        r_4 moyimag=0.;
    162         for(sa_size_t jjf=jf; jjf<jf+djf_; jjf++) {
     190        sa_size_t jjfmx=jf+djf_;
     191        if (jjfmx > vismtx_.NCols()) jjfmx=vismtx_.NCols();
     192        for(sa_size_t jjf=jf; jjf<jjfmx; jjf++) {
    163193          moyreal+=vismtx_(rv,jjf).real();
    164194          moyimag+=vismtx_(rv,jjf).imag();
     
    170200        visdt_.AddRow(xnt_);
    171201      }
     202    }
     203  }
     204  return 0;
     205}
     206
     207/* --Methode-- */
     208int BRVisibilityCalculator::CheckTimeTag()
     209{
     210  if (totnbpaq_==0) {
     211    for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++)  {
     212      vlasttt_[fib]=ttfirst_[fib];
     213      if (ttmtx_.NCols()>0) {
     214        fcmtx_(fib,totnbpaq_) = curfc_[fib];
     215        ttmtx_(fib,totnbpaq_) = vlasttt_[fib];
     216      }
     217    }
     218    return 0;
     219  }
     220  for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) {
     221    uint_8 ld = vpaq_[fib].TimeTag()-vlasttt_[fib];
     222    uint_8 fd = vpaq_[fib].TimeTag()-ttfirst_[fib]-vpaq_[0].TimeTag()+ttfirst_[0];
     223    if ( (ld < mindeltatt_) || (fd<-5) || (fd>5)) { vbadtt_[fib]++; vnsamett_[fib]++; }
     224    else {
     225      if (fd!=0)  vnsamett_[fib]++;
     226    }
     227    vlasttt_[fib]=vpaq_[fib].TimeTag();
     228    if (totnbpaq_<ttmtx_.NCols()) {
     229      fcmtx_(fib,totnbpaq_) = curfc_[fib];
     230      ttmtx_(fib,totnbpaq_) = vlasttt_[fib];
    172231    }
    173232  }
Note: See TracChangeset for help on using the changeset viewer.