SeisTrcTranslatorGroup Class Reference

Seismic Trace translator. More...

Inheritance diagram for SeisTrcTranslatorGroup:
TranslatorGroup

List of all members.


Detailed Description

Seismic Trace translator.

The protocol is as follows:

1) Client opens Connection apropriate for Translator. This connection will remain managed by client.

READ:

2) initRead() call initialises SeisPacketInfo, Component info and SelData on input (if any) 3) Client subselects in components and space (SelData) 4) commitSelections() 5) By checking readInfo(), client may determine whether space selection was satisfied. Space selection is just a hint. This is done to protect client against (possible) freeze during (possible) search. 6) readData() reads actual trace components, or skip() skips trace(s).

WRITE:

2) with initWrite() client passes Connection and example trace. Translator will fill default writing layout. If Translator is single component, only the first component will have a destidx != -1. 3) Client sets trace selection and components as wanted 4) commitSelections() writes 'global' header, if any 5) write() writes selected traces/trace sections

lastly) close() finishes work (does not close connection). If you don't close yourself, the destructor will do it but make sure it's done because otherwise you'll likely loose an entire inline when writing.

Note the existence of minimalHdrs(). If this is true, we have only inline/crossline. If you use setMinimalHdrs(), only inline/crossline and trace data are read & written. Of course, for rigid formats like SEG-Y, this has no advantage, so then the flag will be ignored.

Another note: the SelData type 'TrcNrs' is not supported by this class. That is because of nasty implementation details on this level. The classes SeisTrcReader and SeisTrcWriter do support it.