UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
VsVpDependence.H
1 //******************************************************************************
2 //
3 // Date: 22.01.08
4 // Author: Vitaly Chibrikov
5 //
6 // Source: VsVpDependence.C
7 //
8 // This class is a shell for CalcDependence() function.
9 // You can create an object and use it for Vs calculation or
10 // you can use CalcDependence() directly.
11 //
12 //******************************************************************************
13 
14 #ifndef __VsVpDependence_H
15 #define __VsVpDependence_H
16 
17 #include <vector>
18 #include <X11/Intrinsic.h>
19 
21 {
22 public:
23 
24  enum Metric
25  {
26  Imp = 0,
27  Met
28  };
29 
30  // construct an object using vector of layers
31  VsVpDependence( const std::vector<double> &i_vecLayers,
32  VsVpDependence::Metric metric,
33  std::vector<double>& coefficient_bridge_table);
34 
35  ~VsVpDependence();
36 
37 public:
38 
39  // use it to access to coefficient in particular layer
40  double VsVpInLayer( int i_index );
41 
42  // main static function. Use it directly if you are real Hero...
43  // ...if not just protect your balls
44  static void CalcDependence(double* kps, double* z,
45  const std::vector<double>& layers,
46  VsVpDependence::Metric metric,
47  std::vector<double>& coefficient_bridge_table);
48 
49  static void Calc_Pol_Deg4_coef(double x[3] ,double y[3], double *A, double *B, double *C, double *D, double *E);
50 
51 private:
52 
53  std::vector<double> m_vecKps;
54 };
55 
56 #endif //__VsVpDependence_H
Definition: VsVpDependence.H:20