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


Ignore:
Timestamp:
Jan 13, 2011, 11:42:21 AM (15 years ago)
Author:
ansari
Message:

modification provisoire pour lecture fichiers visibilites 2010, Reza 13/01/2011

File:
1 edited

Legend:

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

    r3905 r3938  
    7676  ofsdtp_=NULL;
    7777  dtp_=NULL;
    78   string dtfile="!"+outpath_+"/dtspec.fits";
    79   ofsdtp_ = new FitsInOutFile(dtfile,FitsInOutFile::Fits_Create);
    80   dtp_ = new SwFitsDataTable(*ofsdtp_,1024,true);
    81   char cnom[32];
    82   for(int i=0; i<nchan; i++) {
    83     sprintf(cnom,"variance%d",i);
    84     dtp_->AddFloatColumn(cnom);   
    85   }
    86   /*
    87   for(int i=0; i<nchan; i++) {
    88     sprintf(cnom,"sigma%d",i);
    89     dtp_->AddFloatColumn(cnom);   
    90   }
    91   */
    92   xnt_=new double[nchan*2];
    93 
     78  xnt_=new double[nchan*2];  // CHECK : ATTENTION la taille depend de nombre de colonne du NTuple !
    9479}
    9580
     
    10893    delete dtp_;
    10994    delete ofsdtp_;
    110     delete xnt_;
    111   }
     95  }
     96  if (xnt_)   delete xnt_;
    11297  cout << " ------------------------------------------------------------------------ " << endl;
    11398}
     
    138123
    139124/* --Methode-- */
     125void BRMeanSpecCalculator::DefineDataTable()
     126{
     127  string dtfile="!"+outpath_+"/dtspec.fits";
     128  ofsdtp_ = new FitsInOutFile(dtfile,FitsInOutFile::Fits_Create);
     129  dtp_ = new SwFitsDataTable(*ofsdtp_,1024,true);
     130  char cnom[32];
     131  size_t nchan=(fgsinglechannel_?memgr_.NbFibres():2*memgr_.NbFibres());
     132  for(int i=0; i<nchan; i++) {
     133    sprintf(cnom,"variance%d",i);
     134    dtp_->AddFloatColumn(cnom);   
     135  }
     136  /*
     137  for(int i=0; i<nchan; i++) {
     138    sprintf(cnom,"sigma%d",i);
     139    dtp_->AddFloatColumn(cnom);   
     140  }
     141  */
     142  //  xnt_=new double[nchan*2];  CHECK : faut-il reallouer ?
     143}
     144
     145/* --Methode-- */
    140146void BRMeanSpecCalculator::ReadGainFitsFile(string filename, bool fgapp)
    141147{
     
    212218void BRMeanSpecCalculator::ProcSpecWin(uint_8 numpaqstart, uint_8 numpaqend)
    213219{
    214   //DBG  cout << "BRMeanSpecCalculator::ProcSpecWin()/Debug: numpaqstart=" << numpaqstart
    215   //DBG     << " numpaqend=" << numpaqend << endl;
    216 
     220
     221  if (prtlev_>0)  {
     222    uint_8 modulo =  prtmodulo_/GetSpectraWindowSize();
     223    if (modulo<1) modulo=1;
     224    if (nbtot_specwin_%modulo==0) {
     225      cout << " BRMeanSpecCalculator::ProcSpecWin() num_win=" << nbtot_specwin_ << " numpaqstart=" << numpaqstart
     226           << " numpaqend=" << numpaqend << endl;
     227      cout << " ... ObsTime=" << getObsTime() << " TimeTag=" << getCurTimeTagSeconds() << " s. FrameCounter="
     228           << getCurFrameCounter() << endl;
     229    }
     230  }
     231  nbtot_specwin_++;
     232  return;
    217233  // On appelle la routine de nettoyage qui doit flagger les mauvais paquets
    218234  FlagBadPackets(numpaqstart, numpaqend);
     
    255271      double variance=0.;
    256272      variance=spec_window_(Range(1,Range::lastIndex()), Range(i), Range(kz)).Sum();
    257       xnt_[i]=variance;
     273      //      xnt_[i]=variance;
    258274      clnflg_(i,kz)=0;
    259275      if (variance<varmin_) { clnflg_(i,kz)=1;  nbadpaq_[i]++; }
    260276      else if (variance>varmax_) { clnflg_(i,kz)=2;  nbadpaq_[i]++; }
    261277    }
    262   dtp_->AddRow(xnt_);
     278    if (dtp_)  dtp_->AddRow(xnt_);
    263279  }
    264280  return;
Note: See TracChangeset for help on using the changeset viewer.