Reads seismic data into buffers providing a Moving Virtual Subcube of seismic data.
More...
List of all members.
Public Types |
| enum | AdvanceState { NewPosition,
Buffering,
EndReached,
Error
} |
Public Member Functions |
| | SeisMSCProvider (const MultiID &) |
| | Use any real user entry from '.omf' file.
|
| | SeisMSCProvider (const IOObj &) |
| | Use any real user entry from '.omf' file.
|
| | SeisMSCProvider (const char *fnm) |
| | 'loose' 3D Post-stack CBVS files only.
|
| virtual | ~SeisMSCProvider () |
| bool | is2D () const |
| bool | prepareWork () |
| | Opens the input data. Can still set stepouts etc.
|
| void | forceFloatData (bool yn) |
| void | setStepout (int, int, bool required) |
| void | setStepout (Array2D< bool > *mask) |
| void | setStepoutStep (int i, int c) |
| int | inlStepout (bool req) const |
| int | crlStepout (bool req) const |
| void | setSelData (Seis::SelData *) |
| | seldata becomes mine
|
| AdvanceState | advance () |
| const char * | errMsg () const |
| BinID | getPos () const |
| int | getTrcNr () const |
| SeisTrc * | get (int deltainl, int deltacrl) |
| SeisTrc * | get (const BinID &) |
| const SeisTrc * | get (int i, int c) const |
| const SeisTrc * | get (const BinID &bid) const |
| int | comparePos (const SeisMSCProvider &) const |
| | 0 = equal; -1 means I need to next(), 1 the other
|
| int | estimatedNrTraces () const |
| | returns -1 when unknown
|
| SeisTrcReader & | reader () |
| const SeisTrcReader & | reader () const |
Protected Types |
| enum | ReadState { NeedStart,
ReadOK,
ReadAtEnd,
ReadErr
} |
Protected Member Functions |
| void | init () |
| bool | startWork () |
| int | readTrace (SeisTrc &) |
| bool | isReqBoxFilled () const |
| bool | doAdvance () |
Protected Attributes |
| SeisTrcReader & | rdr_ |
| ObjectSet< SeisTrcBuf > | tbufs_ |
| RowCol | reqstepout_ |
| RowCol | desstepout_ |
| RowCol | stepoutstep_ |
| Array2D< bool > * | reqmask_ |
| bool | intofloats_ |
| bool | workstarted_ |
| ReadState | readstate_ |
| BufferString | errmsg_ |
| int | estnrtrcs_ |
| int | bufidx_ |
| int | trcidx_ |
| int | pivotidx_ |
| int | pivotidy_ |
Detailed Description
Reads seismic data into buffers providing a Moving Virtual Subcube of seismic data.
This is a SeisTrcGroup that allows advancing by reading traces from storage. Note that the provider may skip incomplete parts.
The get() method returns a pointer to the trace, where you specify the inline and crossline number relative to the center. This is irrespective the steps in the cube's numbers. Therefore, the actual inline number of get(1,0) may be 10 higher than get(0,0) .
The advance() method moves the reader one step further along the seismic storage. The return value will tell you whether there is a new position available to work on, or that more traces need to be read first.
You can specify two stepouts: required and desired. The required stepout traces will always be available when the return of advance() is DataOK. If "Buffering" is returned, then the provider is still gathering more traces.
Member Enumeration Documentation
- Enumerator:
| NewPosition |
|
| Buffering |
|
| EndReached |
|
| Error |
|
- Enumerator:
| NeedStart |
|
| ReadOK |
|
| ReadAtEnd |
|
| ReadErr |
|
Constructor & Destructor Documentation
| SeisMSCProvider::SeisMSCProvider |
( |
const MultiID & |
|
) |
|
Use any real user entry from '.omf' file.
| SeisMSCProvider::SeisMSCProvider |
( |
const IOObj & |
|
) |
|
Use any real user entry from '.omf' file.
| SeisMSCProvider::SeisMSCProvider |
( |
const char * |
fnm |
) |
|
'loose' 3D Post-stack CBVS files only.
| virtual SeisMSCProvider::~SeisMSCProvider |
( |
|
) |
[virtual] |
Member Function Documentation
0 = equal; -1 means I need to next(), 1 the other
| int SeisMSCProvider::crlStepout |
( |
bool |
req |
) |
const [inline] |
| bool SeisMSCProvider::doAdvance |
( |
|
) |
[protected] |
| const char* SeisMSCProvider::errMsg |
( |
|
) |
const [inline] |
| int SeisMSCProvider::estimatedNrTraces |
( |
|
) |
const |
| void SeisMSCProvider::forceFloatData |
( |
bool |
yn |
) |
[inline] |
| const SeisTrc* SeisMSCProvider::get |
( |
const BinID & |
bid |
) |
const [inline] |
| const SeisTrc* SeisMSCProvider::get |
( |
int |
i, |
|
|
int |
c | |
|
) |
| | const [inline] |
| SeisTrc* SeisMSCProvider::get |
( |
int |
deltainl, |
|
|
int |
deltacrl | |
|
) |
| | |
| BinID SeisMSCProvider::getPos |
( |
|
) |
const |
| int SeisMSCProvider::getTrcNr |
( |
|
) |
const |
| void SeisMSCProvider::init |
( |
|
) |
[protected] |
| int SeisMSCProvider::inlStepout |
( |
bool |
req |
) |
const [inline] |
| bool SeisMSCProvider::is2D |
( |
|
) |
const |
| bool SeisMSCProvider::isReqBoxFilled |
( |
|
) |
const [protected] |
| bool SeisMSCProvider::prepareWork |
( |
|
) |
|
Opens the input data. Can still set stepouts etc.
| int SeisMSCProvider::readTrace |
( |
SeisTrc & |
|
) |
[protected] |
| void SeisMSCProvider::setStepout |
( |
Array2D< bool > * |
mask |
) |
|
mask has 2m+1 * 2n+1 entries and becomes mine.
| void SeisMSCProvider::setStepout |
( |
int |
, |
|
|
int |
, |
|
|
bool |
required | |
|
) |
| | |
| void SeisMSCProvider::setStepoutStep |
( |
int |
i, |
|
|
int |
c | |
|
) |
| | [inline] |
| bool SeisMSCProvider::startWork |
( |
|
) |
[protected] |
Member Data Documentation