UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
zd_seismic_file.hpp
1 /* zd_seismic_file.hpp */
2 /* $Id: zd_seismic_file.hpp 20080 2009-12-15 15:57:52Z vlad $ */
3 #ifndef __zd_seismic_file_hpp
4 #define __zd_seismic_file_hpp
5 
6 #include "zd_coord_obj_stream.hpp"
7 #include "zqb_real_trace.hpp"
8 
9 
17 class ZdSeismicFile : public ZdCoordObjStream
18 {
19 public:
20 
23  ZdSeismicFile (const char* szDocName = NULL);
24 
25 
27  virtual const ZqbAbstrTrace& tracePar () const = 0;
28 
30  virtual const ZqbHeader* defHeaderPar() const {return NULL;}
31 
35  virtual bool modify ();
36 
39  virtual bool isModifiable () const;
40 
41 
42  /*
43  * Iterator methods.
44  */
45 
48  virtual const ZqbRealTrace& trace (int ens_index = 0) = 0;
49 
52  virtual const ZqbHeader& header (int ens_index = 0);
53 
54 
56  virtual int getFieldsCount() const = 0;
57 
59  virtual const ZqbHdrField* headerWordInfo(int hwId) const;
60 
61 
65  virtual bool setSamples (const float* pSamples,
66  int ens_index = 0);
67 
71  virtual bool setHeader (const ZqbHeader& hdr,
72  int ens_index = 0);
73 
79  virtual bool setTrace (const ZqbRealTrace& rtr,
80  int ens_index = 0);
81 
85  virtual int traceId (int ens_index = 0) = 0;
86 
87 
89  virtual double customCoord() {return 0;}
90 
91 
92 
93  /*
94  * Additional service
95  */
96 
101  virtual void globalAmplInfo (double pfAmm[2]);
102 
103 
106  virtual const char* coordMeaning () const;
107 
109  virtual const char* coordUnit () const;
110 
112  virtual const char* timeMeaning () const;
113 
115  virtual const char* timeUnit () const;
116 
117 
118 
119 
120  /*
121  * Run-time type identification facility
122  */
123 
126  virtual bool compatibleType (const char* szType) const;
127 
128 private:
129 
131  static int s_iNameCounter;
132 
134  static const char *s_szOwnType;
135 
136 };
137 
138 
139 #endif /* zd_seismic_file.hpp */
virtual double customCoord()
Definition: zd_seismic_file.hpp:89
Definition: zqb_hdr_field.h:16
virtual const ZqbAbstrTrace & tracePar() const =0
virtual const char * coordUnit() const
virtual int getFieldsCount() const =0
virtual const char * timeUnit() const
ZdSeismicFile(const char *szDocName=NULL)
Definition: zqb_header.hpp:27
virtual const ZqbHdrField * headerWordInfo(int hwId) const
virtual const ZqbHeader & header(int ens_index=0)
virtual bool modify()
Definition: zd_coord_obj_stream.hpp:15
Definition: zd_seismic_file.hpp:17
virtual bool isModifiable() const
virtual const ZqbHeader * defHeaderPar() const
Definition: zd_seismic_file.hpp:30
virtual bool setSamples(const float *pSamples, int ens_index=0)
Definition: zqb_abstr_trace.hpp:13
Definition: zqb_real_trace.hpp:19
virtual const char * timeMeaning() const
virtual const ZqbRealTrace & trace(int ens_index=0)=0
virtual bool setTrace(const ZqbRealTrace &rtr, int ens_index=0)
virtual bool setHeader(const ZqbHeader &hdr, int ens_index=0)
virtual int traceId(int ens_index=0)=0
virtual bool compatibleType(const char *szType) const
virtual void globalAmplInfo(double pfAmm[2])
virtual const char * coordMeaning() const