OpendTect  6.6
seisread.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: 27-1-98
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "seisstor.h"
16 #include "seistype.h"
17 #include "linekey.h"
18 #include "uistring.h"
19 class Scaler;
20 class SeisTrc;
21 class Executor;
22 class TraceData;
23 class TrcKeySampling;
24 class SeisTrcBuf;
25 class SeisPS3DReader;
26 class SeisPS2DReader;
27 namespace Seis { class Bounds; class Bounds2D; }
28 namespace PosInfo
29 {
30  class CubeData; class CubeDataIterator;
31  class Line2DData; class Line2DDataIterator;
32 }
33 
34 
51 public:
52 
53  SeisTrcReader(const IOObj* =0);
56  SeisTrcReader(const char* fnm);
59 
60  void forceFloatData( bool yn=true ) { forcefloats = yn; }
65 
75 
76  bool get(SeisTrc&);
83  void fillPar(IOPar&) const;
84 
85  bool isPrepared() const { return prepared; }
89  void setComponent( int ic ) { selcomp_ = ic; }
92 
93  // 2D only
94  int curLineIdx() const { return curlineidx; }
95  StepInterval<int> curTrcNrRange() const { return curtrcnrrg; }
98  int getNrOffsets(int maxnrpostobechecked=10) const;
99 
101 
102  const Scaler* getTraceScaler() const;
103 
104 protected:
105 
106  bool foundvalidinl, foundvalidcrl;
107  bool new_packet, needskip;
109  bool prepared;
110  bool inforead;
111  int prev_inl;
118  bool entryis2d;
125  int selcomp_;
126 
127  void init();
129  bool initRead(Conn*);
131  bool doStart();
133 
134  bool isMultiConn() const;
135  bool startWork();
136 
138  bool getPS(SeisTrc&);
139 
141  bool get2D(SeisTrc&);
144  bool readNext2D();
145 
147  const StepInterval<int>&,
148  const StepInterval<float>&) const;
150  Seis::Bounds2D&) const;
151 };
152 
153 
SeisTrcReader::getData
bool getData(TraceData &)
PosInfo::CubeData
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:95
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
TraceData
A set of data buffers and their interpreters.
Definition: tracedata.h:32
SeisTrcReader::getNrOffsets
int getNrOffsets(int maxnrpostobechecked=10) const
SeisTrcReader::init
void init()
SeisTrcReader::inforead
bool inforead
Definition: seisread.h:110
SeisTrcReader::pslditer_
PosInfo::Line2DDataIterator * pslditer_
Definition: seisread.h:123
SeisTrcInfo
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:27
SeisTrcReader::SeisTrcReader
SeisTrcReader(const IOObj *=0)
SeisTrcReader::isPrepared
bool isPrepared() const
Definition: seisread.h:85
Conn
Data connection.
Definition: conn.h:30
uistring.h
SeisTrcReader
reads from a seismic data store.
Definition: seisread.h:50
SeisTrcReader::getTraceScaler
const Scaler * getTraceScaler() const
PosInfo::Line2DData
Position info for a 2D line.
Definition: posinfo2d.h:65
SeisTrcReader::forcefloats
bool forcefloats
Definition: seisread.h:108
SeisTrcReader::SeisTrcReader
SeisTrcReader(const char *fnm)
Open 'loose' CBVS files only.
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
SeisTrcReader::openFirst
Conn * openFirst()
SeisTrcReader::nrfetchers
int nrfetchers
Definition: seisread.h:113
SeisTrcReader::get2D
bool get2D(SeisTrc &)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisTrc
Seismic trace.
Definition: seistrc.h:34
seisstor.h
SeisTrcReader::getPS
int getPS(SeisTrcInfo &)
SeisTrcReader::curLineIdx
int curLineIdx() const
Definition: seisread.h:94
SeisTrcReader::pscditer_
PosInfo::CubeDataIterator * pscditer_
Definition: seisread.h:122
SeisTrcReader::get2DData
bool get2DData(TraceData &)
Seis::Prod
@ Prod
Definition: seistype.h:30
SeisTrcReader::entryis2d
bool entryis2d
Definition: seisread.h:118
SeisTrcReader::selcomp_
int selcomp_
Definition: seisread.h:125
SeisTrcReader::foundvalidinl
bool foundvalidinl
Definition: seisread.h:106
SeisPS2DReader
reads from a 2D prestack seismic data store.
Definition: seispsread.h:69
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
SeisTrcReader::doStart
bool doStart()
SeisTrcReader::curtrcnrrg
StepInterval< int > curtrcnrrg
Definition: seisread.h:119
SeisTrcReader::psrdr3d_
SeisPS3DReader * psrdr3d_
Definition: seisread.h:121
SeisTrcReader::geomID
Pos::GeomID geomID() const
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< int >
PosInfo::CubeDataIterator
Iterates through CubeData.
Definition: posinfo.h:221
SeisTrcReader::nextConn
int nextConn(SeisTrcInfo &)
SeisTrcReader::ensureCurLineAttribOK
bool ensureCurLineAttribOK(const BufferString &)
SeisTrcReader::curTrcNrRange
StepInterval< int > curTrcNrRange() const
Definition: seisread.h:95
Scaler
Scaling of floating point numbers.
Definition: scaler.h:33
SeisTrcReader::getBounds
Seis::Bounds * getBounds() const
use after prepareWork(). If not avail: survinfo
SeisTrcReader::prepareWork
bool prepareWork(Seis::ReadMode rm=Seis::Prod)
SeisTrcReader::geomIDProvider
GeomIDProvider * geomIDProvider() const
SeisTrcReader::isMultiConn
bool isMultiConn() const
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SeisTrcReader::readmode
Seis::ReadMode readmode
Definition: seisread.h:117
SeisTrcReader::setComponent
void setComponent(int ic)
Definition: seisread.h:89
SeisTrcReader::new_packet
bool new_packet
Definition: seisread.h:107
SeisTrcReader::prev_inl
int prev_inl
Definition: seisread.h:111
IOObj
Definition: ioobj.h:58
SeisTrcTranslator
Definition: seistrctr.h:90
SeisTrcReader::forceFloatData
void forceFloatData(bool yn=true)
Only effective if called before prepareWork()
Definition: seisread.h:60
SeisTrcReader::get3DBounds
Seis::Bounds * get3DBounds(const StepInterval< int > &, const StepInterval< int > &, const StepInterval< float > &) const
Seis::Bounds2D
Definition: seisbounds.h:74
SeisTrcReader::get2D
int get2D(SeisTrcInfo &)
SeisTrcReader::fillPar
void fillPar(IOPar &) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
SeisTrcReader::initRead
bool initRead(Conn *)
SeisTrcReader::curpsbid_
BinID curpsbid_
Definition: seisread.h:124
SeisTrcReader::fetcher
Executor * fetcher
Definition: seisread.h:116
SeisTrcReader::psrdr2d_
SeisPS2DReader * psrdr2d_
Definition: seisread.h:120
Seis::ReadMode
ReadMode
Definition: seistype.h:30
PosInfo
Position info, often segmented.
Definition: posinfo.h:40
Seis::Bounds
contains domain-specific data boundary details.
Definition: seisbounds.h:31
linekey.h
SeisTrcReader::curlineidx
int curlineidx
Definition: seisread.h:112
SeisTrcReader::readNext2D
bool readNext2D()
SeisTrcReader::getPS
bool getPS(SeisTrc &)
seistype.h
SeisTrcReader::tbuf_
SeisTrcBuf * tbuf_
Definition: seisread.h:115
SeisTrcReader::seis2Dtranslator
const SeisTrcTranslator * seis2Dtranslator()
SeisTrcReader::initBounds2D
bool initBounds2D(const PosInfo::Line2DData &, Seis::Bounds2D &) const
SeisTrcReader::get
int get(SeisTrcInfo &)
SeisTrcReader::get
bool get(SeisTrc &)
SeisStoreAccess
base class for seis reader and writer.
Definition: seisstor.h:33
SeisPS3DReader
reads from a 3D prestack seismic data store.
Definition: seispsread.h:56
SeisTrcReader::get3DGeometryInfo
bool get3DGeometryInfo(PosInfo::CubeData &) const
SeisTrcReader::~SeisTrcReader
~SeisTrcReader()
SeisTrcReader::outer
TrcKeySampling * outer
Definition: seisread.h:114
SeisTrcReader::prepared
bool prepared
Definition: seisread.h:109
SeisTrcReader::mkNextFetcher
bool mkNextFetcher()
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
SeisTrcReader::startWork
bool startWork()
GeomIDProvider
Class providing a current line key.
Definition: linekey.h:53
PosInfo::Line2DDataIterator
Iterates through Line2DData.
Definition: posinfo2d.h:139
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
SeisTrcReader::mODTextTranslationClass
mODTextTranslationClass(SeisTrcReader)

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