35 #define TF_SINGLEVELOCITY_CC_VERSION \    36   "TF_SINGLEVELOCITY_CC   V1.0"    46   TFXX_debug(opt.
debug, 
"singlevelocitytransformation",
    47              "frequency domain single velocity transformation");
    50     cout << 
"  apply 2D/3D Greens function ratio for single "    51       << 
"wave velocity: " << opt.
velocity << 
" km/s" << endl;
    54   TFXX_debug(opt.
debug, 
"singlevelocity", 
"  series size: " << series.size());
    55   TFourier::Tspectrum coeff=
Fourier(series, par.
dt);
    56   TFXX_debug(opt.
debug, 
"singlevelocity", 
"  coefficients size: "    66   TFourier::Tspectrum zfpoint, zfline;
    75     TFXX_assert(zfpoint.f()==coeff.f(), 
"shape mismatch (programming error)");
    76     TFXX_assert(zfline.f()==coeff.f(), 
"shape mismatch (programming error)");
    77     TFXX_assert(zfpoint.l()==coeff.l(), 
"shape mismatch (programming error)");
    78     TFXX_assert(zfline.l()==coeff.l(), 
"shape mismatch (programming error)");
    85   for (
unsigned int i=coeff.f(); i<=coeff.l(); ++i)
    88     if (ifre==0) { ifre = 1; }
    93       double argument=f*argfact;
    95       TFourier::Tcoeff denominator=exp(-
IME*argument);
    96       coeff(i) *= (numerator/denominator);
   100       coeff(i) *= (zfline(i)/zfpoint(i));
   110       TFourier::Tcoeff numerator;
   111       TFourier::Tcoeff denominator;
   122       coeff(i) *= (numerator/denominator);
   126       coeff(i)*=sqrt(1.e3*opt.
velocity/f);
 Ttimeseries::Tseries Tseries
 
Bessel function of order 1. 
 
prototypes and structs for lisousi (prototypes) 
 
const TFourier::Tcoeff CFTfac
 
const TFourier::Tcoeff IME
 
double T
duration of total recording. 
 
Bessel function of order 0. 
 
TFourier::Tspectrum zfpointfc(const int &n, const double &dt, const double &offset, const double &vs, const double &vp, const bool &debug)
 
TFourier::Tspectrum zflinefc(const int &n, const double &dt, const double &offset, const double &vs, const double &vp, const bool &debug)
 
TFourier::Tcoeff wnintegration(const Exco &ec, const double &f, const double &offset, const Ebasis &fb)
 
TFourier::Tcoeff hankel(const double &arg)
 
double dt
sampling interval 
 
lisousi functions (prototypes) 
 
double offset
either epicentral distance or hypocentral distance. 
 
TFourier::Tseries singlevelocitytransformation(const TFourier::Tseries &series, const Parameters &par, const Exco &ec, const Options &opt)