Changeset 3696 in Sophya for trunk/AddOn/TAcq
- Timestamp:
- Dec 3, 2009, 12:17:04 AM (16 years ago)
- Location:
- trunk/AddOn/TAcq
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/brbaseproc.cc
r3694 r3696 19 19 BRBaseProcessor::BRBaseProcessor(RAcqMemZoneMgr& memgr) 20 20 : memgr_(memgr), vpaq_(memgr.NbFibres()), vpchk_(memgr.NbFibres()), vfgok_(memgr.NbFibres()), 21 curfc_(memgr.NbFibres()) 21 curfc_(memgr.NbFibres()), fcfirst_(memgr.NbFibres()), ttfirst_(memgr.NbFibres()) 22 22 { 23 23 stop_ = false; 24 24 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 25 fbuff_.push_back(NULL); 25 26 vpaq_[fib]=BRPaquet(NULL,memgr_.PaqSize()); 26 27 vpchk_[fib]=BRPaqChecker(true,0); 27 28 vfgok_[fib]=true; 28 29 curfc_[fib]=0; 30 fcfirst_[fib]=0; 31 ttfirst_[fib]=0; 29 32 } 30 f cfirst_=ttfirst_=0;33 fgokallfibers_=true; 31 34 totprocnpaq_=0; 32 35 } … … 42 45 43 46 size_t paqsz=memgr_.PaqSize(); 44 vector<Byte*> fbuff;45 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) fbuff.push_back(NULL);46 47 bool fgrun=true; 47 48 while (fgrun) { … … 55 56 break; 56 57 } 58 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 59 fbuff_[fib] = memgr_.GetMemZone(mid,fib); 60 if (fbuff_[fib] == NULL) { // cela ne devrait pas arriver 61 cout << "BRBaseProcessor::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl; 62 setRC(9); fgrun=false; 63 break; 64 } 65 } 57 66 for(size_t jp=0; jp<memgr_.NbPaquets(); jp++) { // boucle sur les paquets d'une zone 58 67 fgokallfibers_=true; 59 68 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 60 fbuff[fib] = memgr_.GetMemZone(mid,fib); 61 if (fbuff[fib] == NULL) { // cela ne devrait pas arriver 62 cout << "BRBaseProcessor::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl; 63 setRC(9); fgrun=false; 64 break; 65 } 66 vpaq_[fib].Set(fbuff[fib]+jp*paqsz); 69 vpaq_[fib].Set(fbuff_[fib]+jp*paqsz); 67 70 vfgok_[fib] = vpchk_[fib].Check(vpaq_[fib],curfc_[fib]); 68 71 if (!vfgok_[fib]) fgokallfibers_=false; 69 72 } 70 73 //--- Traitement 71 int rcp = Process(); 72 totprocnpaq_++; 74 int rcp=0; 75 if (fgokallfibers_) { 76 if (totprocnpaq_==0) { 77 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 78 fcfirst_[fib]=curfc_[fib]; 79 ttfirst_[fib]=vpaq_[fib].TimeTag(); 80 } 81 } 82 rcp=Process(); 83 totprocnpaq_++; 84 } 73 85 // if (rcp != 0) { fgrun=false; break; } 74 86 } // Fin de boucle sur les paquets … … 101 113 // la methode par defaut ne fait rien 102 114 // if (fgokallfibers_) { faire le traitement } 103 return 0;104 /* Exemple de code test 115 // return 0; 116 /* Exemple de code test */ 105 117 if ( totprocnpaq_ % 1000 == 0 ) { 106 118 cout << " BRVisibilityCalculator::Process() " << totprocnpaq_ << " FrameCnt=" ; … … 113 125 cout << " seconds" << endl; 114 126 } 115 116 */ 127 return 0; 117 128 } 118 129 -
trunk/AddOn/TAcq/brbaseproc.h
r3694 r3696 26 26 BRBaseProcessor(RAcqMemZoneMgr& memgr); 27 27 virtual void run(); 28 // Methode devant etre redefinie pour effectuer le traitement 28 // Methode devant etre redefinie pour effectuer le traitement - appele pour chaque trigger 29 29 virtual int Process(); // renvoie 0 si OK, sinon, arret traitement 30 30 inline void Stop(); … … 32 32 protected: 33 33 RAcqMemZoneMgr& memgr_; 34 bool stop_; 34 bool stop_; 35 vector<Byte*> fbuff_; // Vecteur de pointeur de zone memoire pour chaque fibre 35 36 vector<BRPaquet> vpaq_; // Vecteur de BRPaquet pour chaque fibre 36 37 vector<BRPaqChecker> vpchk_; 37 38 vector<uint_8> vfgok_; // Vecteur de flag si paquet OK pour chaque fibre 38 39 vector<uint_8> curfc_; // Vecteur de numero de FrameCounter pour chaque fibre 39 40 uint_8 fcfirst_; 41 uint_8 ttfirst_; 40 vector<uint_8> fcfirst_; // 41 vector<uint_8> ttfirst_; 42 42 bool fgokallfibers_; // true -> paquets for all fibers OK 43 43 -
trunk/AddOn/TAcq/brproc.cc
r3694 r3696 50 50 } 51 51 // visdt_.AddFloatColumn("mfc"); 52 visdt_.Add FloatColumn("mfc");53 visdt_.Add FloatColumn("mtt");52 visdt_.AddDoubleColumn("mfc"); 53 visdt_.AddDoubleColumn("mtt"); 54 54 visdt_.AddIntegerColumn("jfreq"); 55 55 visdt_.AddIntegerColumn("numch"); … … 101 101 int BRVisibilityCalculator::Process() 102 102 { 103 vector<TwoByteComplex*> vpdata; 104 /* 105 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 106 vpdata.push_back(vpaq_[fib].Data1C()); 107 vpdata.push_back(vpaq_[fib].Data2C()); 108 } 109 */ 110 // On s'arrange pour mettre les canaux dans l'ordre pour les observations de Pittsburgh Nov 2009 103 111 104 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 112 105 vpdata_[2*fib] = vpaq_[fib].Data1C(); 113 106 vpdata_[2*fib+1] = vpaq_[fib].Data2C(); 114 107 } 115 108 116 109 if (totnbpaq_%nmean_ == 0) { 117 110 if (totnbpaq_ > 0) { … … 143 136 } 144 137 } 145 138 146 139 moyfc_ += curfc_[0]; 147 140 moytt_ += vpaq_[0].TimeTag(); … … 172 165 r_4 moyimag=0.; 173 166 for(sa_size_t jjf=jf; jjf<jf+djf_; jjf++) { 174 moyreal+=vismtx_(rv,j f).real();175 moyimag+=vismtx_(rv,j f).imag();167 moyreal+=vismtx_(rv,jjf).real(); 168 moyimag+=vismtx_(rv,jjf).imag(); 176 169 } 177 170 xnt_[2]=jf+djf_/2;
Note:
See TracChangeset
for help on using the changeset viewer.