UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u_ag_storage.hpp
1 /* u_ag_storage.hpp */
2 /* $Id: u_ag_storage.hpp,v 1.2 2008/05/20 09:05:23 urij Exp $ */
3 //------------------------------------------------------------------------------
4 #ifndef __u_ag_storage_hpp
5 #define __u_ag_storage_hpp
6 
7 
8 #include <mth/u3d_box.hpp>
9 #include <mth/u3d_point.hpp>
10 #include <rbm/u3d_model_defines.hpp>
11 
12 //==============================================================================
13 void Transform3D(U3dModAreaPos pos, U3dPoint &p);
14 void Transform3DBack(U3dModAreaPos pos, U3dPoint &p);
15 
16 
17 //==============================================================================
19 class UAGStorage
20 {
21 public:
22 
23  UAGStorage();
24 
25  UAGStorage(U3dPoints sp_ar, U3dPoints rec_ar, U3dModAreaPos modelOrigin);
26 
27  virtual ~UAGStorage();
28 
30  int getSPNum() { return m_sp_ar.size(); }
31 
33  int getRecNum() { return m_rec_ar.size(); }
34 
35  /* Returns pointer to the observation system object */
36  //U3dObservSys* getOS(int spId);
37 
39  bool getSP(int spId, U3dPoint &sp);
40 
42  bool getRec(int recId, U3dPoint &recp);
43 
44  bool setSP(U3dPoint sp, int id=-1);
45 
46  bool setRec(U3dPoint recp, int id=-1);
47 
48 
49 
50 
52  bool getReady() { return m_ready; }
53 
54 
56  virtual bool loadSPTraces(int spId) { return false; }
57 
59  double getAmpl(int recId, double time, double f, double az);
60 
62  double getAmplPure(int recId, double time, double f, double az);
64  double getAmplParabolic(int recId, double time, double f, double az);
66  double getAmplWindowSumm(int recId, double time, double f, double az);
67 
68 
70  double getA(int recId, int sample_num, double f, double az);
71 
72 
73 
75  int getTraceLength() { return m_trLength; }
76 
78  double getTraceStep() { return m_trStep; }
79 
81  U3dBox getAGBox();
82 
83 
84 
85  /* ================ DEBUG ================ */
86  float** getTraceXComp() { return m_seisDataXComp; }
87  float** getTraceYComp() { return m_seisDataYComp; }
88  float** getTraceZComp() { return m_seisDataZComp; }
89 
90  void setReady(bool flag) { m_ready = flag; }
91  /* ======================================= */
92 
93 
94 
95 
96 protected:
97 
98  /* Sorts receivers array according to their depth growth */
99  //void sortRec(U3dPointsAr &recs);
100 
102  void agModelCoordRecalc(U3dPoints sp_ar, U3dPoints recs_ar);
103 
104  bool m_ready;
105  int m_compNum;
108  double m_trStep;
110  int m_currentSP;
111 
112  U3dModAreaPos m_modelOrigin; /*< always in UNIVERS coordinate system */
113 
114  float** m_seisDataXComp;
115  float** m_seisDataYComp;
116  float** m_seisDataZComp;
119  U3dPoints m_sp_ar;
120  U3dPoints m_rec_ar;
121 };
122 
123 
124 #endif
U3dBox getAGBox()
bool getReady()
Definition: u_ag_storage.hpp:52
Definition: u3d_model_defines.hpp:20
int m_trLength
Definition: u_ag_storage.hpp:107
Definition: u3d_box.hpp:24
double getAmpl(int recId, double time, double f, double az)
double getTraceStep()
Definition: u_ag_storage.hpp:78
int getSPNum()
Definition: u_ag_storage.hpp:30
bool m_ready
Definition: u_ag_storage.hpp:104
U3dPoints m_sp_ar
Definition: u_ag_storage.hpp:119
int getRecNum()
Definition: u_ag_storage.hpp:33
int m_compNum
Definition: u_ag_storage.hpp:105
void agModelCoordRecalc(U3dPoints sp_ar, U3dPoints recs_ar)
virtual bool loadSPTraces(int spId)
Definition: u_ag_storage.hpp:56
double getA(int recId, int sample_num, double f, double az)
Definition: u3d_point.hpp:16
float ** m_seisDataYComp
Definition: u_ag_storage.hpp:115
float ** m_seisDataXComp
Definition: u_ag_storage.hpp:114
Definition: u_ag_storage.hpp:19
float ** m_seisDataZComp
Definition: u_ag_storage.hpp:116
double getAmplPure(int recId, double time, double f, double az)
int getTraceLength()
Definition: u_ag_storage.hpp:75
double getAmplParabolic(int recId, double time, double f, double az)
bool getRec(int recId, U3dPoint &recp)
double m_trStep
Definition: u_ag_storage.hpp:108
bool getSP(int spId, U3dPoint &sp)
U3dPoints m_rec_ar
Definition: u_ag_storage.hpp:120
double getAmplWindowSumm(int recId, double time, double f, double az)