UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
dba_seismic.hpp
1 /* dba_seismic.hpp */
2 /* $Id$ */
3 #ifndef __dba_seismic_hpp
4 #define __dba_seismic_hpp
5 
6 #include <vector>
7 #include <set>
8 
9 #ifdef GE_BUILD
10 #include <dba_seismic_service.hpp>
11 #else
12 #include <s2proc/dba_seismic_service.hpp>
13 #endif
14 
16 namespace dba
17 {
19  class Seismic
20  {
21  public:
22 
23  /*
24  * Constructors
25  */
26 
28  virtual ~Seismic();
29 
31  virtual Seismic* clone() const {return NULL;}
32 
33 
34  /*
35  * Main seiemic attributes
36  */
37 
39  virtual unsigned int getSamplesNum() const = 0;
40 
42  virtual Trace::TimeT getTimeStep() const = 0;
43 
45  virtual Trace::TimeT getT0() const = 0;
46 
47  /*
48  * Access to traces
49  */
50 
52  virtual unsigned int getTracesNum() const = 0;
53 
56  virtual bool getTrace(unsigned int id, Trace &tr) const = 0;
57 
60  bool getWaveField(const Trace::Header &def_hdr, WaveField &wf) const;
61 
64  virtual bool getHeader(unsigned int id, Trace::Header &hdr) const = 0;
65 
66  /*
67  * Access to indexies
68  */
69 
71  virtual bool getIndexies(const Trace::Header::AttrId &hdr_attr,
72  std::set<int> &ids) const = 0;
73 
74  /*
75  * Sorting
76  */
77 
79  virtual void appendRule(const SortingRuleType type,
80  const Trace::Header::AttrId &hdr_attr) const = 0;
81 
83  virtual void appendRule(const MatchingRuleType type,
84  const Trace::Header::AttrId &hdr_attr,
85  const int id) const = 0;
86 
88  virtual void resetRules() const = 0;
89 
90  /*
91  * Editing
92  */
93 
95  virtual bool appendTrace(const Trace &tr) = 0;
96 
98  virtual bool setTrace(unsigned int id, Trace &tr) = 0;
99  };
100 }; // dba
101 
102 #endif /* dba_seismic.hpp */
virtual ~Seismic()
virtual unsigned int getSamplesNum() const =0
bool getWaveField(const Trace::Header &def_hdr, WaveField &wf) const
float TimeT
Definition: trace.hpp:22
virtual Trace::TimeT getTimeStep() const =0
virtual unsigned int getTracesNum() const =0
virtual Trace::TimeT getT0() const =0
Definition: wave_field.hpp:13
Definition: trace.hpp:14
virtual Seismic * clone() const
Definition: dba_seismic.hpp:31
Definition: trace.hpp:29
virtual bool getIndexies(const Trace::Header::AttrId &hdr_attr, std::set< int > &ids) const =0
SortingRuleType
Definition: dba_seismic_service.hpp:16
virtual bool setTrace(unsigned int id, Trace &tr)=0
virtual bool getTrace(unsigned int id, Trace &tr) const =0
MatchingRuleType
Definition: dba_seismic_service.hpp:46
Definition: dba_seismic.hpp:19
virtual bool appendTrace(const Trace &tr)=0
virtual bool getHeader(unsigned int id, Trace::Header &hdr) const =0
virtual void resetRules() const =0
AttrId
Definition: trace.hpp:34
virtual void appendRule(const SortingRuleType type, const Trace::Header::AttrId &hdr_attr) const =0