LISOUSI: Line Source Simulation
lisousi.h
Go to the documentation of this file.
1 
36 // include guard
37 #ifndef TF_LISOUSI_H_VERSION
38 
39 #define TF_LISOUSI_H_VERSION \
40  "TF_LISOUSI_H V1.0"
41 
42 #include <iostream>
43 #include <fstream>
44 #include <string>
45 #include <sstream>
46 #include <gsl/gsl_sf_bessel.h>
47 #include <tfxx/commandline.h>
48 #include <tfxx/xcmdline.h>
49 #include <tfxx/error.h>
50 #include <tfxx/stringfunc.h>
51 #include <tfxx/rangestring.h>
52 #include <tfxx/rangelist.h>
53 #include <tfxx/misc.h>
54 #include <tsxx/anyfilter.h>
55 #include <tsxx/convolve.h>
56 #include <datrwxx/readany.h>
57 #include <datrwxx/writeany.h>
58 #include <sffxx.h>
59 #include <sffostream.h>
60 #include <aff/dump.h>
61 #include <aff/seriesoperators.h>
62 #include <aff/subarray.h>
63 #include <tsxx/ovtaper.h>
64 #include <fourier/fftwaff.h>
65 
66 using std::cout;
67 using std::cerr;
68 using std::endl;
69 
72 typedef fourier::fft::DRFFTWAFF TFourier;
73 
74 // the global Fourier processor will be instantiated in the main programmin
75 // unit
76 extern TFourier Fourier;
77 
78 // global workspace and filters
80 
81 /*----------------------------------------------------------------------*/
82 // constants
83 
84 // imaginary unit
85 const TFourier::Tcoeff IME=TFourier::Tcoeff(0.,1.);
86 // my Fourier transformation constant factor
87 const TFourier::Tcoeff CFTfac=exp(-IME*M_PI_4);
88 
89 /*----------------------------------------------------------------------*/
90 // type of Fourier domain solution
91 enum Efdtype {
97 };
98 
99 /*----------------------------------------------------------------------*/
100 
103 struct IntegParam {
105  int nsteps;
107  double edge;
109  double taper;
110 }; // struct IntegParam
111 
112 /*----------------------------------------------------------------------*/
113 
116 struct Options {
117  bool verbose, debug;
123  int npad;
124  std::string inputformat, outputformat;
125  // single-velocity switches:
127  // propagation parameters:
129  // trapezoid integration:
131 }; // struct Options
132 
138 struct Parameters {
140  offsetfactor(0.), offset(0.), t0(0.), T(0.), dt(0.) { }
145  double offsetfactor;
150  double offset;
155  double t0;
160  double T;
162  double dt;
164  int nsamples;
165 }; // struct Parameters
166 
167 #endif // TF_LISOUSI_H_VERSION (includeguard)
168 
169 /* ----- END OF lisousi.h ----- */
Ttimeseries::Tseries Tseries
Definition: lisousi.h:71
double edge
edge factor at upper limit of wavenumber range
Definition: lisousi.h:107
double squality
Definition: lisousi.h:128
bool tapsloset
Definition: lisousi.h:119
bool fredomain
Definition: lisousi.h:119
const TFourier::Tcoeff CFTfac
Definition: lisousi.h:87
double velocity
Definition: lisousi.h:128
const TFourier::Tcoeff IME
Definition: lisousi.h:85
std::string inputformat
Definition: lisousi.h:124
double vpvsratio
Definition: lisousi.h:128
double T
duration of total recording.
Definition: lisousi.h:160
int nsteps
number of steps
Definition: lisousi.h:105
double tapdel
Definition: lisousi.h:121
time series parameters.
Definition: lisousi.h:138
double integshift
Definition: lisousi.h:121
double tlim
Definition: lisousi.h:121
bool nointeg
Definition: lisousi.h:119
double transition2
Definition: lisousi.h:122
bool overwrite
Definition: lisousi.h:118
std::string outputformat
Definition: lisousi.h:124
bool spatialdistance
Definition: lisousi.h:120
double offsetfactor
scaling factor to be applied at given offset.
Definition: lisousi.h:145
Tseries workseries
Definition: globaldata.cc:47
bool debug
Definition: lisousi.h:117
Tseries filter
Definition: globaldata.cc:47
Tseries taper
Definition: globaldata.cc:47
double tshift
Definition: lisousi.h:121
bool limitlength
Definition: lisousi.h:118
bool tdfilter
Definition: lisousi.h:119
double t0
delay time.
Definition: lisousi.h:155
bool taperfirst
Definition: lisousi.h:118
int npad
Definition: lisousi.h:123
double pquality
Definition: lisousi.h:128
bool verbose
Definition: lisousi.h:117
bool radial
Definition: lisousi.h:118
double dt
sampling interval
Definition: lisousi.h:162
IntegParam ipa
Definition: lisousi.h:130
double tfac
Definition: lisousi.h:121
int nsamples
number of samples
Definition: lisousi.h:164
Efdtype fdtype
Definition: lisousi.h:126
ts::filter::Ttimeseries Ttimeseries
Definition: lisousi.h:70
bool transition
Definition: lisousi.h:119
double offset
either epicentral distance or hypocentral distance.
Definition: lisousi.h:150
double tapslo
Definition: lisousi.h:122
bool fdfilter
Definition: lisousi.h:119
Efdtype
Definition: lisousi.h:91
TFourier Fourier
Definition: globaldata.cc:44
bool sqrttaper
Definition: lisousi.h:118
fourier::fft::DRFFTWAFF TFourier
Definition: lisousi.h:72
Parameters()
Definition: lisousi.h:139
double transition1
Definition: lisousi.h:122
double taper
taper fraction at upper limit of wavenumber range
Definition: lisousi.h:109