Changeset 3683 in Sophya for trunk/AddOn/TAcq/racquproc.cc
- Timestamp:
- Nov 27, 2009, 11:32:46 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/racquproc.cc
r3682 r3683 17 17 #include "fftpserver.h" 18 18 #include "fftwserver.h" 19 #include "histos.h" 19 20 20 21 #include "FFTW/fftw3.h" … … 140 141 fftwf_plan plan = fftwf_plan_dft_r2c_1d(vx.Size(), vx.Data(), 141 142 (fftwf_complex *)cfour.Data(), FFTW_ESTIMATE); 143 144 // Histo pour valeurs des bytes dans les paquets 145 Histo* phist[2*MAXNBFIB] = {NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL}; 146 if (par_.fgdatafft) { // data de type FFT 147 for(sa_size_t lc=0; lc<2*memgr.NbFibres(); lc++) 148 phist[lc] = new Histo(-128.5,+128.5,257); 149 } 150 else { 151 for(sa_size_t lc=0; lc<2*memgr.NbFibres(); lc++) 152 phist[lc] = new Histo(-0.5,256.5,257); 153 } 154 142 155 TimeStamp ts; 143 156 char fname[512]; … … 178 191 if (par_.fgdatafft) { // Traitement data de type FFT 179 192 TwoByteComplex* tbcp=paq.Data1C(); 180 for(sa_size_t j=1; j<spectre_.NCols(); j++) 193 for(sa_size_t j=1; j<spectre_.NCols(); j++) { 194 phist[lc]->Add((r_4)tbcp[j].realD()); 195 phist[lc]->Add((r_4)tbcp[j].imagD()); 181 196 spectre_(lc,j) += Zmod2(tbcp[j]); 197 } 182 198 nzm_[lc]++; 183 199 tbcp=paq.Data2C(); lc++; 184 for(sa_size_t j=1; j<spectre_.NCols(); j++) 200 for(sa_size_t j=1; j<spectre_.NCols(); j++) { 201 phist[lc]->Add((r_4)tbcp[j].realD()); 202 phist[lc]->Add((r_4)tbcp[j].imagD()); 185 203 spectre_(lc,j) += Zmod2(tbcp[j]); 204 } 186 205 nzm_[lc]++; 187 206 } 188 207 else { // Traitement RawData 189 for(sa_size_t j=0; j<vx.Size(); j++) 208 for(sa_size_t j=0; j<vx.Size(); j++) { 209 phist[lc]->Add((r_8)(*(paq.Data1()+j))); 190 210 vx(j) = (r_4)(*(paq.Data1()+j))-127.5; 211 } 191 212 fftwf_execute(plan); 192 213 // ffts_.FFTForward(vx, cfour_); … … 194 215 spectre_(lc,j) += Zmod2(cfour(j+1)); 195 216 nzm_[lc]++; lc++; 196 for(sa_size_t j=0; j<vx.Size(); j++) 217 for(sa_size_t j=0; j<vx.Size(); j++) { 218 phist[lc]->Add((r_8)(*(paq.Data2()+j))); 197 219 vx(j) = (r_4)(*(paq.Data2()+j))-127.5; 220 } 198 221 fftwf_execute(plan); 199 222 // ffts_.FFTForward(vx, cfour_); … … 223 246 nfiles_++; 224 247 POutPersist po(fname); 225 // po << PPFNameTag("spectre") << spectre_; 226 po << spectre_; 248 po << PPFNameTag("spectre") << spectre_; 227 249 spectre_ = (r_4)(0.); 228 for(int lc=0; lc<2*memgr.NbFibres(); lc++) nzm_[lc]=0; 250 char buftag[32]; 251 for(int lc=0; lc<2*memgr.NbFibres(); lc++) { 252 sprintf(buftag,"hvalV%d",(int)lc); 253 po << PPFNameTag(buftag) << (*phist[lc]); 254 phist[lc]->Zero(); 255 nzm_[lc]=0; 256 } 229 257 ts.SetNow(); 230 258 // Calcul / impression fraction des paquets avec same-framecounter … … 258 286 sprintf(fname,"%s/meanspec%d.ppf",path_.c_str(),(int)nfiles_); 259 287 POutPersist po(fname); 260 po << spectre_;288 po << PPFNameTag("spectre") << spectre_; 261 289 spectre_ = (r_4)(0.); 262 for(int lc=0; lc<2*memgr.NbFibres(); lc++) nzm_[lc]=0; 290 char buftag[32]; 291 for(int lc=0; lc<2*memgr.NbFibres(); lc++) { 292 sprintf(buftag,"hvalV%d",(int)lc); 293 po << PPFNameTag(buftag) << (*phist[lc]); 294 delete phist[lc]; 295 nzm_[lc]=0; 296 } 263 297 ts.SetNow(); 264 298 // Calcul / impression fraction des paquets avec same-framecounter
Note:
See TracChangeset
for help on using the changeset viewer.