OpendTect  6.6
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SeisTrcReader Class Reference

reads from a seismic data store. More...

Inheritance diagram for SeisTrcReader:
[legend]

Public Member Functions

 SeisTrcReader (const char *fnm)
 Open 'loose' CBVS files only. More...
 
 SeisTrcReader (const IOObj *=0)
 
 ~SeisTrcReader ()
 
int curLineIdx () const
 
StepInterval< int > curTrcNrRange () const
 
void fillPar (IOPar &) const
 
void forceFloatData (bool yn=true)
 Only effective if called before prepareWork() More...
 
Pos::GeomID geomID () const
 
GeomIDProvidergeomIDProvider () const
 
bool get (SeisTrc &)
 
int get (SeisTrcInfo &)
 
bool get3DGeometryInfo (PosInfo::CubeData &) const
 
Seis::BoundsgetBounds () const
 use after prepareWork(). If not avail: survinfo More...
 
bool getData (TraceData &)
 
int getNrOffsets (int maxnrpostobechecked=10) const
 
const ScalergetTraceScaler () const
 
bool isPrepared () const
 
bool prepareWork (Seis::ReadMode rm=Seis::Prod)
 
const SeisTrcTranslatorseis2Dtranslator ()
 
void setComponent (int ic)
 
- Public Member Functions inherited from SeisStoreAccess
virtual ~SeisStoreAccess ()
 
virtual bool close ()
 
ConncurConn3D ()
 
const ConncurConn3D () const
 
Seis2DDataSetdataSet ()
 
const Seis2DDataSetdataSet () const
 
uiString errMsg () const
 
Seis::GeomType geomType () const
 
const IOObjioObj () const
 
bool is2D () const
 
bool isPS () const
 
const SeisPSIOProviderpsIOProv () const
 
SeisTrcTranslatorseisTranslator ()
 
const SeisTrcTranslatorseisTranslator () const
 
const Seis::SelDataselData () const
 
void setIOObj (const IOObj *)
 
virtual void setSelData (Seis::SelData *)
 The Seis::SelData becomes mine. More...
 
int tracesHandled () const
 
Translatortranslator ()
 
Translatortranslator () const
 
virtual void usePar (const IOPar &)
 

Protected Member Functions

bool doStart ()
 
bool ensureCurLineAttribOK (const BufferString &)
 
bool get2D (SeisTrc &)
 
int get2D (SeisTrcInfo &)
 
bool get2DData (TraceData &)
 
Seis::Boundsget3DBounds (const StepInterval< int > &, const StepInterval< int > &, const StepInterval< float > &) const
 
bool getPS (SeisTrc &)
 
int getPS (SeisTrcInfo &)
 
void init ()
 
bool initBounds2D (const PosInfo::Line2DData &, Seis::Bounds2D &) const
 
bool initRead (Conn *)
 
bool isMultiConn () const
 
bool mkNextFetcher ()
 
int nextConn (SeisTrcInfo &)
 
ConnopenFirst ()
 
bool readNext2D ()
 
bool startWork ()
 
- Protected Member Functions inherited from SeisStoreAccess
 SeisStoreAccess (const char *, bool is2d, bool isps)
 
 SeisStoreAccess (const IOObj *)
 
bool cleanUp (bool alsoioobj=true)
 
SeisTrcTranslatorstrl () const
 

Protected Attributes

int curlineidx
 
BinID curpsbid_
 
StepInterval< int > curtrcnrrg
 
bool entryis2d
 
Executorfetcher
 
bool forcefloats
 
bool foundvalidcrl
 
bool foundvalidinl
 
bool inforead
 
bool needskip
 
bool new_packet
 
int nrfetchers
 
TrcKeySamplingouter
 
bool prepared
 
int prev_inl
 
PosInfo::CubeDataIteratorpscditer_
 
PosInfo::Line2DDataIteratorpslditer_
 
SeisPS2DReaderpsrdr2d_
 
SeisPS3DReaderpsrdr3d_
 
Seis::ReadMode readmode
 
int selcomp_
 
SeisTrcBuftbuf_
 
- Protected Attributes inherited from SeisStoreAccess
Seis2DDataSetdataset_
 
uiString errmsg_
 
IOObjioobj_
 
bool is2d_
 
int nrtrcs_
 
const SeisPSIOProviderpsioprov_
 
Seis::SelDataseldata_
 
Translatortrl_
 

Additional Inherited Members

- Static Public Attributes inherited from SeisStoreAccess
static const char * sNrTrcs
 

Detailed Description

reads from a seismic data store.

If you don't want all of the stored data, you must set use the SeisTrcTranslator facilities (SelData and ComponentData) after calling prepareWork(). If you don't call prepareWork(), the reader will do that but you cannot use SeisTrcTranslator facilities then.

Then, the routine is: get(trc.info()) possibly followed by get(trc). Not keeping this sequence is at your own risk.

Note: 2D Prestack data cannot (yet) be read via this class.

<>

Constructor & Destructor Documentation

◆ SeisTrcReader() [1/2]

SeisTrcReader::SeisTrcReader ( const IOObj = 0)

Open 'real user entries from '.omf' file Can be anything: SEGY - CBVS - database

◆ SeisTrcReader() [2/2]

SeisTrcReader::SeisTrcReader ( const char *  fnm)

Open 'loose' CBVS files only.

◆ ~SeisTrcReader()

SeisTrcReader::~SeisTrcReader ( )

Member Function Documentation

◆ curLineIdx()

int SeisTrcReader::curLineIdx ( ) const
inline

◆ curTrcNrRange()

StepInterval<int> SeisTrcReader::curTrcNrRange ( ) const
inline

◆ doStart()

bool SeisTrcReader::doStart ( )
protected

◆ ensureCurLineAttribOK()

bool SeisTrcReader::ensureCurLineAttribOK ( const BufferString )
protected

◆ fillPar()

void SeisTrcReader::fillPar ( IOPar ) const
virtual

Reimplemented from SeisStoreAccess.

◆ forceFloatData()

void SeisTrcReader::forceFloatData ( bool  yn = true)
inline

Only effective if called before prepareWork()

◆ geomID()

Pos::GeomID SeisTrcReader::geomID ( ) const

◆ geomIDProvider()

GeomIDProvider* SeisTrcReader::geomIDProvider ( ) const

◆ get() [1/2]

bool SeisTrcReader::get ( SeisTrc )

It is possible to directly call this without checking the get(SeisTrcInfo&) result. Beware that the trace selections in the SelData may be ignored then - depending on the Translator's capabilities.

◆ get() [2/2]

int SeisTrcReader::get ( SeisTrcInfo )

-1 = Error. errMsg() will return a message. 0 = End 1 = Usable info 2 = Not usable (trace needs to be skipped) If 1 is returned, then you should also call get(SeisTrc&).

◆ get2D() [1/2]

bool SeisTrcReader::get2D ( SeisTrc )
protected

◆ get2D() [2/2]

int SeisTrcReader::get2D ( SeisTrcInfo )
protected

◆ get2DData()

bool SeisTrcReader::get2DData ( TraceData )
protected

◆ get3DBounds()

Seis::Bounds* SeisTrcReader::get3DBounds ( const StepInterval< int > &  ,
const StepInterval< int > &  ,
const StepInterval< float > &   
) const
protected

◆ get3DGeometryInfo()

bool SeisTrcReader::get3DGeometryInfo ( PosInfo::CubeData ) const

◆ getBounds()

Seis::Bounds* SeisTrcReader::getBounds ( ) const

use after prepareWork(). If not avail: survinfo

◆ getData()

bool SeisTrcReader::getData ( TraceData )

◆ getNrOffsets()

int SeisTrcReader::getNrOffsets ( int  maxnrpostobechecked = 10) const

◆ getPS() [1/2]

bool SeisTrcReader::getPS ( SeisTrc )
protected

◆ getPS() [2/2]

int SeisTrcReader::getPS ( SeisTrcInfo )
protected

◆ getTraceScaler()

const Scaler* SeisTrcReader::getTraceScaler ( ) const

◆ init()

void SeisTrcReader::init ( )
protectedvirtual

Reimplemented from SeisStoreAccess.

◆ initBounds2D()

bool SeisTrcReader::initBounds2D ( const PosInfo::Line2DData ,
Seis::Bounds2D  
) const
protected

◆ initRead()

bool SeisTrcReader::initRead ( Conn )
protected

◆ isMultiConn()

bool SeisTrcReader::isMultiConn ( ) const
protected

◆ isPrepared()

bool SeisTrcReader::isPrepared ( ) const
inline

◆ mkNextFetcher()

bool SeisTrcReader::mkNextFetcher ( )
protected

◆ nextConn()

int SeisTrcReader::nextConn ( SeisTrcInfo )
protected

◆ openFirst()

Conn* SeisTrcReader::openFirst ( )
protected

◆ prepareWork()

bool SeisTrcReader::prepareWork ( Seis::ReadMode  rm = Seis::Prod)

After this, you can set stuff on the translator If not called, will be done automatically

◆ readNext2D()

bool SeisTrcReader::readNext2D ( )
protected

◆ seis2Dtranslator()

const SeisTrcTranslator* SeisTrcReader::seis2Dtranslator ( )

◆ setComponent()

void SeisTrcReader::setComponent ( int  ic)
inline

use before startWork() -1 (default) is all components

◆ startWork()

bool SeisTrcReader::startWork ( )
protected

Member Data Documentation

◆ curlineidx

int SeisTrcReader::curlineidx
protected

◆ curpsbid_

BinID SeisTrcReader::curpsbid_
protected

◆ curtrcnrrg

StepInterval<int> SeisTrcReader::curtrcnrrg
protected

◆ entryis2d

bool SeisTrcReader::entryis2d
protected

◆ fetcher

Executor* SeisTrcReader::fetcher
protected

◆ forcefloats

bool SeisTrcReader::forcefloats
protected

◆ foundvalidcrl

bool SeisTrcReader::foundvalidcrl
protected

◆ foundvalidinl

bool SeisTrcReader::foundvalidinl
protected

◆ inforead

bool SeisTrcReader::inforead
protected

◆ needskip

bool SeisTrcReader::needskip
protected

◆ new_packet

bool SeisTrcReader::new_packet
protected

◆ nrfetchers

int SeisTrcReader::nrfetchers
protected

◆ outer

TrcKeySampling* SeisTrcReader::outer
protected

◆ prepared

bool SeisTrcReader::prepared
protected

◆ prev_inl

int SeisTrcReader::prev_inl
protected

◆ pscditer_

PosInfo::CubeDataIterator* SeisTrcReader::pscditer_
protected

◆ pslditer_

PosInfo::Line2DDataIterator* SeisTrcReader::pslditer_
protected

◆ psrdr2d_

SeisPS2DReader* SeisTrcReader::psrdr2d_
protected

◆ psrdr3d_

SeisPS3DReader* SeisTrcReader::psrdr3d_
protected

◆ readmode

Seis::ReadMode SeisTrcReader::readmode
protected

◆ selcomp_

int SeisTrcReader::selcomp_
protected

◆ tbuf_

SeisTrcBuf* SeisTrcReader::tbuf_
protected

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