STFINV library: seek source wavelet correction filter

◆ putoutput()

void stfinv::STFFourierDomainEngine::putoutput ( )
private

copy workspace time series for convolved synthetics and stf to user memory

Read out time series data from Mfftengineoutput. The time series containers in Mfftengineoutput are expected to be larger than those used for the API of the library (because of padding).

Definition at line 455 of file stfinvfourier.cc.

References stfinv::STFBaseEngine::convolvedseries(), stfinv::STFBaseEngine::convolvedsynthetic(), stfinv::STFBaseEngine::dt(), Mfftengineoutput, stfinv::STFBaseEngine::npairs(), stfinv::STFBaseEngine::nreceivers(), and stfinv::STFBaseEngine::stf().

Referenced by fftoutput().

456  {
457  // scaling factor for source correction filter
458  double scalingstf=Mfftengineoutput.scale_series(this->dt());
459  // scaling factor for convolved synthetics
460  double scalingcs=Mfftengineoutput.scale_spectrum(this->dt())
461  *scalingstf;
462 
463  // cycle through receivers
464  for (unsigned int i=0; i<this->nreceivers(); ++i)
465  {
466  // get references to time series
467  stfinv::Tseries convolvedsynthetics=this->convolvedsynthetic(i);
468  // copyin function copies as many elements as possible
469  convolvedsynthetics.copyin(Mfftengineoutput.series(i)*scalingcs);
470  } // for (unsigned int i=0; i<this->nreceivers(); ++i)
471 
472  // copy stf too; get reference to series and use copyin
473  stfinv::Tseries stf=this->stf();
474  stf.copyin(Mfftengineoutput.series(this->nreceivers())
475  *scalingstf);
476 
477  // cycle through additional time series pairs
478  for (unsigned int i=0; i<this->npairs(); ++i)
479  {
480  // get references to time series
482  // copyin function copies as many elements as possible
483  convolvedseries.copyin(Mfftengineoutput.series(1+i+this->nreceivers())
484  *scalingcs);
485  } // for (unsigned int i=0; i<this->npairs(); ++i)
486 
487  } // void STFFourierDomainEngine::putoutput()
unsigned int npairs() const
return number of additional signals to be convolved
Definition: stfinvbase.h:262
unsigned int nreceivers() const
return number of receiver signals in use
Definition: stfinvbase.h:259
Tseries convolvedseries(const unsigned int &i) const
return synthetic data convolved with stf for pair i
Definition: stfinvbase.cc:335
double dt() const
return sampling interval
Definition: stfinvbase.h:265
Tfftengine Mfftengineoutput
combined FFT engine for stf and convolved synthetics and additional convolved time series ...
Tseries convolvedsynthetic(const unsigned int &i) const
return synthetic data convolved with stf at receiver i
Definition: stfinvbase.cc:319
Tseries stf() const
return source correction filter series
Definition: stfinvbase.h:273
aff::Series< Tvalue > Tseries
Type of sample values.
Definition: stfinvbase.h:56
Here is the call graph for this function:
Here is the caller graph for this function: