OpendTect  6.3
seispsread.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Bril
8  Date: Dec 2004
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seiscommon.h"
14 #include "bufstring.h"
15 #include "binid.h"
16 #include "trckey.h"
17 #include "uistring.h"
18 
19 
20 class SeisTrc;
21 class SeisTrcBuf;
22 class BufferStringSet;
23 namespace PosInfo { class CubeData; class Line2DData; }
24 
25 
34 {
35 public:
36 
37  virtual ~SeisPSReader() {}
38  virtual bool is2D() const = 0;
39 
40  virtual void usePar(const IOPar&) {}
41 
42  virtual uiString errMsg() const = 0;
43 
44  virtual SeisTrc* getTrace(const TrcKey&,int nr=0) const;
45  virtual SeisTrc* getTrace(const BinID&,int nr=0) const;
46  virtual bool getGather(const TrcKey&,SeisTrcBuf&) const = 0;
47  virtual bool getGather(const BinID&,SeisTrcBuf&) const = 0;
48 
49  virtual bool getSampleNames(BufferStringSet&) const
50  { return false; }
51 
52  virtual StepInterval<float> getZRange() const;
53 
54 };
55 
59 {
60 public:
61 
62  bool is2D() const { return false; }
63 
64  virtual const PosInfo::CubeData& posData() const = 0;
65 
66 };
67 
68 
72 {
73 public:
74  SeisPS2DReader(const char* lnm);
76  bool is2D() const { return true; }
77  const char* lineName() const { return lnm_.buf(); }
78  Pos::GeomID geomID() const { return geomid_; }
79 
80  // Cannot use name overloading: seems gcc prob
81  SeisTrc* getTrc( int trcnr, int nr=0 ) const
82  { return getTrace( TrcKey(geomid_,trcnr), nr ); }
83  bool getGath( int trcnr, SeisTrcBuf& b ) const
84  { return getGather( TrcKey(geomid_,trcnr), b ); }
85 
86  virtual const PosInfo::Line2DData& posData() const = 0;
87 
88 protected:
89 
92 
93 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
Pos::GeomID geomid_
Definition: seispsread.h:91
bool is2D(GeomType gt)
Definition: seistype.h:32
Position info for a 2D line.
Definition: posinfo2d.h:63
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
reads from a 3D prestack seismic data store.
Definition: seispsread.h:58
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
SeisTrc * getTrc(int trcnr, int nr=0) const
Definition: seispsread.h:81
BufferString lnm_
Definition: seispsread.h:90
Pos::GeomID geomID() const
Definition: seispsread.h:78
virtual bool getSampleNames(BufferStringSet &) const
Definition: seispsread.h:49
const char * lineName() const
Definition: seispsread.h:77
bool getGath(int trcnr, SeisTrcBuf &b) const
Definition: seispsread.h:83
bool is2D() const
Definition: seispsread.h:62
virtual void usePar(const IOPar &)
Definition: seispsread.h:40
Index_Type GeomID
Definition: commontypes.h:48
Position info, often segmented.
Definition: posinfo.h:38
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Seismic trace.
Definition: seistrc.h:31
set of seismic traces.
Definition: seisbuf.h:28
virtual ~SeisPSReader()
Definition: seispsread.h:37
const char * errMsg() const
Definition: horizontracker.h:59
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
reads from a prestack seismic data store.
Definition: seispsread.h:33
reads from a 2D prestack seismic data store.
Definition: seispsread.h:71
Position info for an entire 3D cube. The LineData&#39;s are not sorted.
Definition: posinfo.h:96
bool is2D() const
Definition: seispsread.h:76
const SeisTrc * getTrace(EM::SubID) const

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017