Changeset 3938 in Sophya for trunk/AddOn/TAcq/brproc.cc
- Timestamp:
- Jan 13, 2011, 11:42:21 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/brproc.cc
r3905 r3938 76 76 ofsdtp_=NULL; 77 77 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 ! 94 79 } 95 80 … … 108 93 delete dtp_; 109 94 delete ofsdtp_; 110 delete xnt_;111 }95 } 96 if (xnt_) delete xnt_; 112 97 cout << " ------------------------------------------------------------------------ " << endl; 113 98 } … … 138 123 139 124 /* --Methode-- */ 125 void 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-- */ 140 146 void BRMeanSpecCalculator::ReadGainFitsFile(string filename, bool fgapp) 141 147 { … … 212 218 void BRMeanSpecCalculator::ProcSpecWin(uint_8 numpaqstart, uint_8 numpaqend) 213 219 { 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; 217 233 // On appelle la routine de nettoyage qui doit flagger les mauvais paquets 218 234 FlagBadPackets(numpaqstart, numpaqend); … … 255 271 double variance=0.; 256 272 variance=spec_window_(Range(1,Range::lastIndex()), Range(i), Range(kz)).Sum(); 257 xnt_[i]=variance;273 // xnt_[i]=variance; 258 274 clnflg_(i,kz)=0; 259 275 if (variance<varmin_) { clnflg_(i,kz)=1; nbadpaq_[i]++; } 260 276 else if (variance>varmax_) { clnflg_(i,kz)=2; nbadpaq_[i]++; } 261 277 } 262 dtp_->AddRow(xnt_);278 if (dtp_) dtp_->AddRow(xnt_); 263 279 } 264 280 return;
Note:
See TracChangeset
for help on using the changeset viewer.