UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ikp1ddata.hpp
1 /* ikp1ddata.hpp */
2 /* $Id: ikp1ddata.hpp,v 1.1 2008/04/17 08:33:54 urij Exp $ */
3 #ifndef __ikp1ddata_hpp
4 #define __ikp1ddata_hpp
5 
6 #include "ikp1dhod.hpp"
7 
8 struct IKP1dDataLayer;
9 
13 enum IKP1dWaveType {
14  IKP1d_WT_P = 0,
15  IKP1d_WT_S
16 };
17 
21 class IKP1dData : public IKP1dLayers <IKP1dDataLayer>
22 {
23 
24 public:
25 
27  IKP1dData();
28 
30  IKP1dData(const IKP1dData& obj);
31 
33  virtual ~IKP1dData();
34 
35 };
36 
38 typedef std::vector<double> IKP1dRes;
39 
44 {
46  IKP1dDataLayer(IKP1dHod &hod, IKP1dWaveType wt = IKP1d_WT_P);
47 
49  IKP1dDataLayer(const IKP1dDataLayer& lay);
50 
52  virtual ~IKP1dDataLayer();
53 
56  double calcStaticResidual(IKP1dRes& res);
57 
59  void waveType(IKP1dWaveType wt) {
60  m_wt = wt;
61  }
62 
64  IKP1dWaveType waveType() {
65  return m_wt;
66  }
67 
69  void setDepthArea(double min, double max);
70 
72  void setDefaultDepthArea();
73 
75  double minDepthArea() {
76  return m_min_depth;
77  }
78 
80  double maxDepthArea() {
81  return m_max_depth;
82  }
83 
85  int minDepthRecId() {
86  return m_rnmin;
87  }
88 
90  int maxDepthRecId() {
91  return m_rnmax;
92  }
93 
95  void setWeight(double weight) {
96  m_weight = weight;
97  }
98 
100  double weight() {
101  return m_weight;
102  }
103 
105  void info();
106 
109  return m_shod;
110  }
111 
114  return m_chod;
115  }
116 
117 protected:
118 
123  IKP1dWaveType m_wt;
125  double m_weight;
127 private:
128 
129  double m_min_depth;
131  double m_max_depth;
133  int m_rnmin, m_rnmax;
134 };
135 
136 #endif /* ikp1ddata.hpp */
IKP1dDataLayer(IKP1dHod &hod, IKP1dWaveType wt=IKP1d_WT_P)
IKP1dHod * calculatedHod()
Definition: ikp1ddata.hpp:113
IKP1dHod * m_shod
Definition: ikp1ddata.hpp:119
double calcStaticResidual(IKP1dRes &res)
double minDepthArea()
Definition: ikp1ddata.hpp:75
void waveType(IKP1dWaveType wt)
Definition: ikp1ddata.hpp:59
void setDepthArea(double min, double max)
Definition: ikp1ddata.hpp:21
IKP1dWaveType m_wt
Definition: ikp1ddata.hpp:123
IKP1dHod * m_chod
Definition: ikp1ddata.hpp:121
IKP1dWaveType waveType()
Definition: ikp1ddata.hpp:64
virtual ~IKP1dData()
void setWeight(double weight)
Definition: ikp1ddata.hpp:95
Definition: ikp1ddata.hpp:43
Definition: ikp1dhod.hpp:41
virtual ~IKP1dDataLayer()
Definition: ikp1dlayers.hpp:17
double m_weight
Definition: ikp1ddata.hpp:125
double weight()
Definition: ikp1ddata.hpp:100
double maxDepthArea()
Definition: ikp1ddata.hpp:80
int maxDepthRecId()
Definition: ikp1ddata.hpp:90
int minDepthRecId()
Definition: ikp1ddata.hpp:85
void setDefaultDepthArea()
IKP1dHod * sourceHod()
Definition: ikp1ddata.hpp:108