LISOUSI: Line Source Simulation

◆ Exco() [2/2]

Exco::Exco ( const ExpCoefficients ec,
const IntegParam par 
)

create set of expansion coefficients

expansion coefficients do not depend on frequency; they only depend on phase slowness; hence they can be prepared at the very beginning

This ist done here and the coefficients are stored in a series container along with the slowness stepsize. We already apply the taper to the coefficients as well as the slowness interval

Definition at line 113 of file wnintegration.cc.

References ExpCoefficients::coeff(), Mdp, IntegParam::nsteps, and IntegParam::taper.

113  :
114  TFourier::Tspectrum(0,par.nsteps-1), Mdp(ec.maxp()*par.edge/par.nsteps)
115 {
116  int ltap=par.nsteps*(1.-par.taper);
117  for (int i=0; i<par.nsteps; ++i)
118  {
119  double p=Mdp*i;
120  this->operator()(i)=ec.coeff(p)*Mdp;
121  if (i>ltap)
122  {
123  double arg=M_PI*(i-ltap)/double(par.nsteps);
124  this->operator()(i) *= 0.5*(std::cos(arg)+1.);
125  }
126  }
127  this->operator()(0) *= 0.5;
128 } // Exco::Exco(const ExpCoefficients& ec, const IntegParam& par)
double edge
edge factor at upper limit of wavenumber range
Definition: lisousi.h:107
virtual TFourier::Tcoeff coeff(const double &p) const =0
return expansion coefficient for given phase slowness
int nsteps
number of steps
Definition: lisousi.h:105
double Mdp
slowness stepsize
double maxp() const
return desired minimum upper limit for integration
double taper
taper fraction at upper limit of wavenumber range
Definition: lisousi.h:109
Here is the call graph for this function: