Changeset 3774 in Sophya for trunk/AddOn/TAcq/brproc.cc
- Timestamp:
- May 17, 2010, 5:18:10 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/brproc.cc
r3726 r3774 131 131 if (stop_) break; 132 132 if (memgr_.GetRunState() == MemZR_Stopped) break; 133 int mid = memgr_.FindMemZoneId( MemZA_ProcA);133 int mid = memgr_.FindMemZoneId(mmact_); // (MemZA_ProcA); 134 134 Byte* buffg = memgr_.GetMemZone(mid); 135 135 if (buffg == NULL) { … … 141 141 fbuff_[fib] = memgr_.GetMemZone(mid,fib); 142 142 if (fbuff_[fib] == NULL) { // cela ne devrait pas arriver 143 cout << "BR BaseProcessor::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl;143 cout << "BRVisibilityCalculator::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl; 144 144 setRC(9); fgrun=false; 145 145 break; … … 196 196 if (rcpex!=0) cout << " BRVisibilityCalculator::run() / Error Rc[paralex_.execute()]=" << rcpex << endl; 197 197 198 memgr_.FreeMemZone(mid, MemZS_ProcA);198 memgr_.FreeMemZone(mid, mmsta_); // (MemZS_ProcA); 199 199 } // Fin de boucle sur les zones a traiter 200 200 //------------------------------------ … … 207 207 } 208 208 catch (std::exception& exc) { 209 cout << " BR BaseProcessor::run()/catched std::exception " << exc.what() << endl;209 cout << " BRVisibilityCalculator::run()/catched std::exception " << exc.what() << endl; 210 210 setRC(98); 211 211 return; 212 212 } 213 213 catch(...) { 214 cout << " BR BaseProcessor::run()/catched unknown ... exception " << endl;214 cout << " BRVisibilityCalculator::run()/catched unknown ... exception " << endl; 215 215 setRC(99); 216 216 return; … … 397 397 return 0; 398 398 } 399 400 401 //--------------------------------------------------------------------- 402 // Classe de traitement simple - calcul de spectres moyennes / voie 403 //--------------------------------------------------------------------- 404 /* --Methode-- */ 405 BRMeanSpecCalculator::BRMeanSpecCalculator(RAcqMemZoneMgr& memgr, string outpath, uint_4 nmean) 406 : BRBaseProcessor(memgr), outpath_(outpath), nmean_(nmean) 407 { 408 BRPaquet paq(memgr_.PaqSize()); 409 mspecmtx_.SetSize(2*memgr_.NbFibres(), paq.DataSize()/4); 410 numfile_=0; 411 totnbpaq_=0; 412 } 413 414 /* --Methode-- */ 415 BRMeanSpecCalculator::~BRMeanSpecCalculator() 416 { 417 } 418 419 420 /* --Methode-- */ 421 int BRMeanSpecCalculator::Process() 422 { 423 424 if (totnbpaq_%nmean_ == 0) { 425 if (totnbpaq_ > 0) { 426 mspecmtx_.Info()["NPAQSUM"] = nmean_; 427 mspecmtx_ /= (double)nmean_; 428 char nfile[32]; 429 sprintf(nfile,"mspecmtx%d.ppf",numfile_); 430 string flnm=outpath_+nfile; 431 POutPersist po(flnm); 432 po << mspecmtx_; 433 cout << numfile_ << "-BRMeanSpecCalculator::Process() NPaqProc=" 434 << totnbpaq_ << " -> Mean spectra Matrix in " << flnm << endl; 435 numfile_++; 436 } 437 mspecmtx_ = (r_8)(0.); 438 } 439 440 sa_size_t k=0; 441 for(size_t i=0; i<(size_t)2*memgr_.NbFibres(); i++) { 442 TwoByteComplex* zp=vpaq_[i/2].Data1C(); 443 if (i%2==1) zp=vpaq_[i/2].Data2C(); 444 TVector< r_4 > spec = mspecmtx_.Row(k); k++; 445 for(sa_size_t f=1; f<spec.Size(); f++) { 446 spec(f) += zp[f].module2F(); 447 } 448 } 449 450 totnbpaq_++; 451 return 0; 452 } 453 399 454 400 455 //---------------------------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.