OpendTect  6.3
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
Seis::Provider Class Referenceabstract

is the access point for seismic traces. Instantiate a subclass and ask for what you need. The class can fetch multi-threaded, it is (should be) MT-safe. More...

Inheritance diagram for Seis::Provider:
[legend]

Public Member Functions

virtual ~Provider ()
 
uiRetVal setInput (const DBKey &)
 
virtual GeomType geomType () const =0
 
bool is2D () const
 
bool isPS () const
 
BufferString name () const
 
Pos::GeomID firstGeomID () const
 
DBKey dbKey () const
 
ZSampling getZRange () const
 
uiRetVal getComponentInfo (BufferStringSet &, TypeSet< Seis::DataType > *dts=0) const
 
int nrOffsets () const
 
void setSelData (SelData *)
 becomes mine More...
 
void setSampleInterval (float)
 
void selectComponent (int)
 
void selectComponents (const TypeSet< int > &)
 
void forceFPData (bool yn=true)
 
void setReadMode (ReadMode)
 
uiRetVal fillPar (IOPar &) const
 
uiRetVal usePar (const IOPar &)
 
bool isPresent (const TrcKey &tk) const
 
uiRetVal getNext (SeisTrc &) const
 
uiRetVal getNextGather (SeisTrcBuf &) const
 
uiRetVal get (const TrcKey &, SeisTrc &) const
 
uiRetVal getGather (const TrcKey &, SeisTrcBuf &) const
 
const TypeSet< int > & getSelectedComponents () const
 
bool haveSelComps () const
 
Pos::GeomID curGeomID () const
 
od_int64 nrDone () const
 
od_int64 totalNr () const
 
uiRetVal reset () const
 done automatically when needed More...
 
const SelDataselData () const
 

Static Public Member Functions

static Providercreate (Seis::GeomType)
 
static Providercreate (const DBKey &, uiRetVal *uirv=0)
 
static Providercreate (const IOPar &, uiRetVal *uirv=0)
 
static DBKey dbKey (const IOPar &)
 
static const char * sKeyForceFPData ()
 
static const char * sKeySelectedComponents ()
 
static void putTraceInGather (const SeisTrc &, SeisTrcBuf &)
 components become offsets 0, 100, 200, ... More...
 
static void putGatherInTrace (const SeisTrcBuf &, SeisTrc &)
 offsets become components More...
 

Protected Member Functions

 Provider ()
 
void ensureRightDataRep (SeisTrc &) const
 
void ensureRightZSampling (SeisTrc &) const
 
void ensureRightComponents (SeisTrc &) const
 
bool handleSetupChanges (uiRetVal &) const
 
void handleTrace (SeisTrc &) const
 
void handleTraces (SeisTrcBuf &) const
 
virtual od_int64 getTotalNrInInput () const =0
 
virtual void doReset (uiRetVal &) const =0
 
virtual void doFillPar (IOPar &, uiRetVal &) const
 
virtual void doUsePar (const IOPar &, uiRetVal &)=0
 
virtual int gtNrOffsets () const
 
virtual uiRetVal doGetComponentInfo (BufferStringSet &, TypeSet< Seis::DataType > &) const
 def impl: { sKey::Data(), UnknownData } More...
 
virtual Pos::GeomID doGetCurGeomID () const =0
 
virtual ZSampling doGetZRange () const =0
 
virtual bool doGetIsPresent (const TrcKey &) const
 
virtual void doGetNext (SeisTrc &, uiRetVal &) const
 
virtual void doGet (const TrcKey &, SeisTrc &, uiRetVal &) const
 
virtual void doGetNextGather (SeisTrcBuf &, uiRetVal &) const
 
virtual void doGetGather (const TrcKey &, SeisTrcBuf &, uiRetVal &) const
 

Protected Attributes

Threads::Lock lock_
 
DBKey dbky_
 
SelDataseldata_
 
float zstep_
 
TypeSet< int > selcomps_
 
ReadMode readmode_
 
bool forcefpdata_
 
od_int64 totalnr_
 
int nrcomps_
 
bool setupchgd_
 
Threads::Atomic< od_int64nrdone_
 

Private Member Functions

 mODTextTranslationClass (Seis::Provider)
 

Friends

class Fetcher
 
class Fetcher2D
 
class Fetcher3D
 

Detailed Description

is the access point for seismic traces. Instantiate a subclass and ask for what you need. The class can fetch multi-threaded, it is (should be) MT-safe.

After instantiation, provide the DBKey with setInput. Then you can ask questions about the geometry and components of the seismic object.

By default, you will get all stored components. If you want just one, use selectComponent(). You can have the data resampled; just use setSampleInterval().

You can get all components in a gather, or the entire gather in one trace as components. Just call the corresponding get or getNext function.

Note: the getNext() function may return !isOK(). At end of input, this will return the special 'error' 'Finished' which can be checked by isFinished( uirv ).

Constructor & Destructor Documentation

virtual Seis::Provider::~Provider ( )
virtual
Seis::Provider::Provider ( )
protected

Member Function Documentation

static Provider* Seis::Provider::create ( Seis::GeomType  )
static
static Provider* Seis::Provider::create ( const DBKey ,
uiRetVal uirv = 0 
)
static
static Provider* Seis::Provider::create ( const IOPar ,
uiRetVal uirv = 0 
)
static
Pos::GeomID Seis::Provider::curGeomID ( ) const
inline
static DBKey Seis::Provider::dbKey ( const IOPar )
static
DBKey Seis::Provider::dbKey ( ) const
inline
virtual void Seis::Provider::doFillPar ( IOPar ,
uiRetVal  
) const
protectedvirtual
virtual void Seis::Provider::doGet ( const TrcKey ,
SeisTrc ,
uiRetVal  
) const
protectedvirtual
virtual uiRetVal Seis::Provider::doGetComponentInfo ( BufferStringSet ,
TypeSet< Seis::DataType > &   
) const
protectedvirtual

def impl: { sKey::Data(), UnknownData }

Reimplemented in Seis::LineProvider, Seis::PS2DProvider, and Seis::VolProvider.

virtual Pos::GeomID Seis::Provider::doGetCurGeomID ( ) const
protectedpure virtual

Implemented in Seis::Provider2D, and Seis::Provider3D.

virtual void Seis::Provider::doGetGather ( const TrcKey ,
SeisTrcBuf ,
uiRetVal  
) const
protectedvirtual

Reimplemented in Seis::PS2DProvider, and Seis::PS3DProvider.

virtual bool Seis::Provider::doGetIsPresent ( const TrcKey ) const
protectedvirtual
virtual void Seis::Provider::doGetNext ( SeisTrc ,
uiRetVal  
) const
protectedvirtual
virtual void Seis::Provider::doGetNextGather ( SeisTrcBuf ,
uiRetVal  
) const
protectedvirtual

Reimplemented in Seis::PS2DProvider, and Seis::PS3DProvider.

virtual ZSampling Seis::Provider::doGetZRange ( ) const
protectedpure virtual

Implemented in Seis::Provider2D, and Seis::Provider3D.

virtual void Seis::Provider::doReset ( uiRetVal ) const
protectedpure virtual
virtual void Seis::Provider::doUsePar ( const IOPar ,
uiRetVal  
)
protectedpure virtual
void Seis::Provider::ensureRightComponents ( SeisTrc ) const
protected
void Seis::Provider::ensureRightDataRep ( SeisTrc ) const
protected
void Seis::Provider::ensureRightZSampling ( SeisTrc ) const
protected
uiRetVal Seis::Provider::fillPar ( IOPar ) const
Pos::GeomID Seis::Provider::firstGeomID ( ) const
inline
void Seis::Provider::forceFPData ( bool  yn = true)
virtual GeomType Seis::Provider::geomType ( ) const
pure virtual
uiRetVal Seis::Provider::get ( const TrcKey ,
SeisTrc  
) const
uiRetVal Seis::Provider::getComponentInfo ( BufferStringSet ,
TypeSet< Seis::DataType > *  dts = 0 
) const
uiRetVal Seis::Provider::getGather ( const TrcKey ,
SeisTrcBuf  
) const
uiRetVal Seis::Provider::getNext ( SeisTrc ) const
uiRetVal Seis::Provider::getNextGather ( SeisTrcBuf ) const
const TypeSet<int>& Seis::Provider::getSelectedComponents ( ) const
inline
virtual od_int64 Seis::Provider::getTotalNrInInput ( ) const
protectedpure virtual

Implemented in Seis::Provider2D, and Seis::Provider3D.

ZSampling Seis::Provider::getZRange ( ) const
inline
virtual int Seis::Provider::gtNrOffsets ( ) const
inlineprotectedvirtual

Reimplemented in Seis::PS2DProvider, and Seis::PS3DProvider.

bool Seis::Provider::handleSetupChanges ( uiRetVal ) const
protected
void Seis::Provider::handleTrace ( SeisTrc ) const
protected
void Seis::Provider::handleTraces ( SeisTrcBuf ) const
protected
bool Seis::Provider::haveSelComps ( ) const
bool Seis::Provider::is2D ( ) const
inline
bool Seis::Provider::isPresent ( const TrcKey tk) const
inline
bool Seis::Provider::isPS ( ) const
inline
Seis::Provider::mODTextTranslationClass ( Seis::Provider  )
private
BufferString Seis::Provider::name ( ) const
od_int64 Seis::Provider::nrDone ( ) const
inline
int Seis::Provider::nrOffsets ( ) const

at a representative location always 1 for post-stack data

static void Seis::Provider::putGatherInTrace ( const SeisTrcBuf ,
SeisTrc  
)
static

offsets become components

static void Seis::Provider::putTraceInGather ( const SeisTrc ,
SeisTrcBuf  
)
static

components become offsets 0, 100, 200, ...

uiRetVal Seis::Provider::reset ( ) const

done automatically when needed

const SelData* Seis::Provider::selData ( ) const
inline
void Seis::Provider::selectComponent ( int  )
void Seis::Provider::selectComponents ( const TypeSet< int > &  )
uiRetVal Seis::Provider::setInput ( const DBKey )
void Seis::Provider::setReadMode ( ReadMode  )
void Seis::Provider::setSampleInterval ( float  )
void Seis::Provider::setSelData ( SelData )

becomes mine

static const char* Seis::Provider::sKeyForceFPData ( )
inlinestatic
static const char* Seis::Provider::sKeySelectedComponents ( )
inlinestatic
od_int64 Seis::Provider::totalNr ( ) const
uiRetVal Seis::Provider::usePar ( const IOPar )

Friends And Related Function Documentation

friend class Fetcher
friend
friend class Fetcher2D
friend
friend class Fetcher3D
friend

Member Data Documentation

DBKey Seis::Provider::dbky_
protected
bool Seis::Provider::forcefpdata_
protected
Threads::Lock Seis::Provider::lock_
mutableprotected
int Seis::Provider::nrcomps_
mutableprotected
Threads::Atomic<od_int64> Seis::Provider::nrdone_
mutableprotected
ReadMode Seis::Provider::readmode_
protected
TypeSet<int> Seis::Provider::selcomps_
protected
SelData* Seis::Provider::seldata_
protected
bool Seis::Provider::setupchgd_
mutableprotected
od_int64 Seis::Provider::totalnr_
mutableprotected
float Seis::Provider::zstep_
protected

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