Changeset 3640 in Sophya for trunk/AddOn/TAcq/brpaqu.cc


Ignore:
Timestamp:
May 27, 2009, 5:15:45 PM (16 years ago)
Author:
ansari
Message:

Correction et ameliorations multiples - en particulier mcrd.cc, brproc.cc et brfitsrd.cc, Reza 27/05/2009

File:
1 edited

Legend:

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

    r3639 r3640  
    1 #include <stdio.h>
    2 #include <stdlib.h>
    3 #include <string.h>
    41#include "brpaqu.h"
    52
     
    439436// --------------------------------------------------------------------------
    440437
    441 BRPaqChecker::BRPaqChecker()
    442 {
     438BRPaqChecker::BRPaqChecker(bool cktrl, int maxprt)
     439{
     440  cktrl_ = cktrl;       
    443441  totnframes = 0;
    444442  nframeok = 0;
    445443  lostframes = 0;
    446444  frclst = 0;
     445  cnt_saut = 0;
     446  maxprt_ = maxprt;
    447447  DefineHDRTag();
    448448  DefineTRLTag();
     
    466466
    467467
    468 static int cnt_pb = 0;
    469468bool BRPaqChecker::Check(BRPaquet& paq)
    470469{
    471470  totnframes++;
    472471  if (paq.HDRMarker64() != HDRTag()) return false;
    473   if (paq.TRLMarker64() != TRLTag()) return false;
     472  if (cktrl_&&(paq.TRLMarker64() != TRLTag())) return false;
    474473  /*  DBG
    475474  if (paq.TRLMarker64() != TRLTag()) {
     
    486485    lostframes += (unsigned long long)delfc - 1;
    487486    if (delfc != 1) {
    488       cnt_pb++;
    489       if (cnt_pb < 5) {
     487      cnt_saut++;
     488      if (cnt_saut < maxprt_) {
    490489        cout << "BRPaqChecker::Check([NumFrameOK=" << nframeok
    491490             << ")/Debug  FrameCounter Cur=" << curfc
     
    500499}
    501500
    502 ostream& BRPaqChecker::Print(ostream& os)
     501ostream& BRPaqChecker::Print(ostream& os) const
    503502{
    504503  //  os << "BRPaqChecker:  HDRTag=" << hex << HDRTag() << " TRLTag=" << TRLTag() << dec << "\n"
    505504  //     << " ... Tot.Nb.Frames.Proc=" << totnframes << " NbFrame HDR/TRL OK=" << nframeok
    506   os << "BRPaqChecker: Tot.Nb.Frames.Proc=" << totnframes << " NbFrame HDR/TRL OK=" << nframeok
    507      << " LostFrames=" << lostframes
    508      << " Loss=" << (double)lostframes*100./(double)totnframes << " %" << endl;
     505  os << "BRPaqChecker: Tot.Nb.Frames.Proc=" << totnframes << " Nb.HDR/TRL OK=" << nframeok;
     506  if (cktrl_) os << " (Check Header AND Trailer)" << endl;
     507  else os << " (Header Check only)" << endl;
     508  float meangap = (cnt_saut>0)?((float)lostframes/(float)cnt_saut):0.;
     509  os   << " ... LostFrames=" << lostframes
     510       << " LossRate=" << (double)lostframes*100./(double)totnframes << " %"
     511       << " NbGaps=" << cnt_saut << " MeanGap=" << meangap << endl;
    509512  return os;
    510513}
Note: See TracChangeset for help on using the changeset viewer.