OpendTect-6_4  6.4
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
SeisTrcReader Class Reference

reads from a seismic data store. More...

Inheritance diagram for SeisTrcReader:
[legend]

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

Private Member Functions

 mODTextTranslationClass (SeisTrcReader)
 

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::SeisTrcReader ( const IOObj = 0)

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

SeisTrcReader::SeisTrcReader ( const char *  fnm)

Open 'loose' CBVS files only.

SeisTrcReader::~SeisTrcReader ( )

Member Function Documentation

int SeisTrcReader::curLineIdx ( ) const
inline
StepInterval<int> SeisTrcReader::curTrcNrRange ( ) const
inline
bool SeisTrcReader::doStart ( )
protected
bool SeisTrcReader::ensureCurLineAttribOK ( const BufferString )
protected
void SeisTrcReader::fillPar ( IOPar ) const
virtual

Reimplemented from SeisStoreAccess.

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

Only effective if called before prepareWork()

Pos::GeomID SeisTrcReader::geomID ( ) const
GeomIDProvider* SeisTrcReader::geomIDProvider ( ) const
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&).

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.

int SeisTrcReader::get2D ( SeisTrcInfo )
protected
bool SeisTrcReader::get2D ( SeisTrc )
protected
bool SeisTrcReader::get2DData ( TraceData )
protected
Seis::Bounds* SeisTrcReader::get3DBounds ( const StepInterval< int > &  ,
const StepInterval< int > &  ,
const StepInterval< float > &   
) const
protected
bool SeisTrcReader::get3DGeometryInfo ( PosInfo::CubeData ) const
Seis::Bounds* SeisTrcReader::getBounds ( ) const

use after prepareWork(). If not avail: survinfo

bool SeisTrcReader::getData ( TraceData )
int SeisTrcReader::getNrOffsets ( int  maxnrpostobechecked = 10) const
int SeisTrcReader::getPS ( SeisTrcInfo )
protected
bool SeisTrcReader::getPS ( SeisTrc )
protected
const Scaler* SeisTrcReader::getTraceScaler ( ) const
void SeisTrcReader::init ( )
protectedvirtual

Reimplemented from SeisStoreAccess.

bool SeisTrcReader::initBounds2D ( const PosInfo::Line2DData ,
Seis::Bounds2D  
) const
protected
bool SeisTrcReader::initRead ( Conn )
protected
bool SeisTrcReader::isMultiConn ( ) const
protected
bool SeisTrcReader::isPrepared ( ) const
inline
bool SeisTrcReader::mkNextFetcher ( )
protected
SeisTrcReader::mODTextTranslationClass ( SeisTrcReader  )
private
int SeisTrcReader::nextConn ( SeisTrcInfo )
protected
Conn* SeisTrcReader::openFirst ( )
protected
bool SeisTrcReader::prepareWork ( Seis::ReadMode  rm = Seis::Prod)

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

bool SeisTrcReader::readNext2D ( )
protected
const SeisTrcTranslator* SeisTrcReader::seis2Dtranslator ( )
void SeisTrcReader::setComponent ( int  ic)
inline

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

bool SeisTrcReader::startWork ( )
protected

Member Data Documentation

int SeisTrcReader::curlineidx
protected
BinID SeisTrcReader::curpsbid_
protected
StepInterval<int> SeisTrcReader::curtrcnrrg
protected
bool SeisTrcReader::entryis2d
protected
Executor* SeisTrcReader::fetcher
protected
bool SeisTrcReader::forcefloats
protected
bool SeisTrcReader::foundvalidcrl
protected
bool SeisTrcReader::foundvalidinl
protected
bool SeisTrcReader::inforead
protected
bool SeisTrcReader::needskip
protected
bool SeisTrcReader::new_packet
protected
int SeisTrcReader::nrfetchers
protected
TrcKeySampling* SeisTrcReader::outer
protected
bool SeisTrcReader::prepared
protected
int SeisTrcReader::prev_inl
protected
PosInfo::CubeDataIterator* SeisTrcReader::pscditer_
protected
PosInfo::Line2DDataIterator* SeisTrcReader::pslditer_
protected
SeisPS2DReader* SeisTrcReader::psrdr2d_
protected
SeisPS3DReader* SeisTrcReader::psrdr3d_
protected
Seis::ReadMode SeisTrcReader::readmode
protected
int SeisTrcReader::selcomp_
protected
SeisTrcBuf* SeisTrcReader::tbuf_
protected

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