UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
prd_service.hpp
1 /* prd_service.hpp */
2 /* $Id: prd_service.hpp 21566 2012-04-18 12:25:05Z sasha $ */
3 #ifndef __prd_service_hpp
4 #define __prd_service_hpp
5 
6 #include <mix/Types.h> // for "Fortran" macros
7 
8 #include <mth/lev.h>
9 #include <mth/fft.h>
10 
11 #include <s2proc/prd_service_f.hpp>
12 
13 #define MIN_ACF_ZERO_SAMPLE_VALUE 1.e-20
14 
15 #include <stdio.h>
16 #include <mix/wenv.h>
17 #include <stdarg.h>
18 #include <vector>
19 
20 typedef struct {
21  unsigned int uTeTa;
22  float fAlfa;
23  unsigned int opLen;
24  unsigned int fOpDomain; /* 0 - frequency domain, 1 - time domain */
26 
27 bool getTrACF(std::vector<float>* wBody /* current trace buffer */,
28  float* pfACfunction /* current trace ACF function (OUTPUT) */);
29 
30 bool PRDconvStep(float* pfACF /* operator spectrum */,
31  std::vector<float> *curTrace /* current trace */,
32  int uSamplesFFT,
33  float* pfTrace);
34 
35 int TrFindGain(std::vector<float> *curTrace, float& Gain);
36 
37 bool PredOpForm(unsigned int uCount,
38  OperatorParams *opPar,
39  float* pfACF,
40  std::vector<double> &operLevOut);
41 
42 bool PredErrOpForm(const unsigned int uCount,
43  OperatorParams *opPar,
44  float* pfACF,
45  std::vector<double> &oper);
46 
47 bool PredErrOpSpecForm(const unsigned int uCount,
48  OperatorParams *opPar /* operator parameters */,
49  float* pfACF /* operator spectrum (filtered) (OUTPUT) */,
50  unsigned int uCurrentWinSize);
51 
52 #endif /* prd_service.hpp */
Definition: prd_service.hpp:20