STFINV library: seek source wavelet correction filter
stfinv.h
Go to the documentation of this file.
1 
41 // include guard
42 #ifndef STFINV_STFINV__H_VERSION
43 
44 #define STFINV_STFINV__H_VERSION \
45  "STFINV_STFINV__H V1.3"
46 
47 #include <stfinv/waveformheader.h>
48 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 
94 }; // struct CWaveformTriple
95 
96 /*----------------------------------------------------------------------*/
97 
129 }; // struct CWaveformPair
130 
131 /*----------------------------------------------------------------------*/
132 
139 struct CWaveform {
151 }; // struct CWaveform
152 
153 /*----------------------------------------------------------------------*/
154 
163 struct CTriples {
166  int n;
173 }; // struct CTriples
174 
175 /*----------------------------------------------------------------------*/
176 
187 struct CPairs {
190  int n;
197 }; // struct CPairs
198 
199 /*======================================================================*/
200 // function interface to libstfinv
201 
222 void initstfinvengine(struct CTriples triples,
223  struct CWaveform stf,
224  char* parameters);
225 
262 void initstfinvenginewithpairs(struct CTriples triples,
263  struct CWaveform stf,
264  struct CPairs pairs,
265  char* parameters);
266 
271 void runstfinvengine();
272 
277 void freestfinvengine();
278 
283 void printengines();
284 
289 void printhelp();
290 
297 void printusage(char* id);
298 
299 #ifdef __cplusplus
300 } // extern "C"
301 #endif
302 
303 #endif // STFINV_STFINV__H_VERSION (includeguard)
304 
305 /* ----- END OF stfinv.h ----- */
A struct to store the time series for a pair of waveforms.This struct provides references to the user...
Definition: stfinv.h:104
int n
Number of triples (i.e. receivers) in the array.
Definition: stfinv.h:166
float Tvalue
Value type of samples.All references to time series samples in user workspace are based on this type...
Tvalue * synthetics
Time series of synthetic data. This field actually is a pointer (C array) to the workspace where the ...
Definition: stfinv.h:81
void printengines()
List procedures (engines) on stdout.
Definition: stfinv.cc:168
Tvalue * convolvedsynthetics
Time series of convolved synthetic data. This field actually is a pointer (C array) to the workspace ...
Definition: stfinv.h:128
void freestfinvengine()
Free the engine.
Definition: stfinv.cc:161
A struct to store the time series for a waveform triple.This struct provides references to the users ...
Definition: stfinv.h:59
Tvalue * data
Time series of recorded data. This field actually is a pointer (C array) to the workspace where the u...
Definition: stfinv.h:72
Structure to hold header information for a triple of waveforms.Each triple of waveforms reference by ...
Array of waveform triples.This is used to pass data for a complete profile. A profile consists of CTr...
Definition: stfinv.h:163
void runstfinvengine()
Run the engine.
Definition: stfinv.cc:152
void printhelp()
Print usage summary to stdout.
Definition: stfinv.cc:175
int n
Number of pairs in the array.
Definition: stfinv.h:190
A struct to store a single waveform.
Definition: stfinv.h:139
Tvalue * convolvedsynthetics
Time series of convolved synthetic data. This field actually is a pointer (C array) to the workspace ...
Definition: stfinv.h:93
void printusage(char *id)
Print detailed description for engine "id" to stdout.
Definition: stfinv.cc:182
struct CWaveformPair * pairs
Pointer to array of waveform pairs. This actually is a C array for elements of type struct CWaveformP...
Definition: stfinv.h:196
struct CWaveformHeader sampling
Temporal sampling parameters. The header is expected to be the same for both time series...
Definition: stfinv.h:110
Array of waveform pairs.This is used to pass data for a set of synthetic time series, which should be convolved with the new source correction filter on the fly. A collection of time series consists of CPairs::n waveform pairs. For each waveform pair this struct holds a reference to a struct CWaveformPair which itself provides a reference to the users workspace for time series.
Definition: stfinv.h:187
Tvalue * synthetics
Time series of synthetic data. This field actually is a pointer (C array) to the workspace where the ...
Definition: stfinv.h:117
Temporal sampling for time series data.
Tvalue * series
Time series of waveform. This field actually is a pointer (C array) to the workspace where the user w...
Definition: stfinv.h:150
definition of waveform header to be used in C and C++ (prototypes)
void initstfinvengine(struct CTriples triples, struct CWaveform stf, char *parameters)
Initialize the engine.
Definition: stfinv.cc:141
void initstfinvenginewithpairs(struct CTriples triples, struct CWaveform stf, struct CPairs pairs, char *parameters)
Initialize the engine and pass additional time series to be convolved on the fly. ...
Definition: stfinv.cc:71
struct CWaveformHeader sampling
Temporal sampling.
Definition: stfinv.h:142
struct CTripleHeader header
Temporal and spatial sampling parameters. The header is expected to be the same for all three time se...
Definition: stfinv.h:65
struct CWaveformTriple * triples
Pointer to array of waveform triples. This actually is a C array for elements of type struct CWavefor...
Definition: stfinv.h:172