Seismics

Seismic data is sampled data along a vertical axis. Many 'traces' will usually occupy a volume (3D seismics) or separate lines (2D data).

There's always lots of data, so it has to be stored efficiently. A consequence is that storage on disk versus usage in memory are - contrary to most other data types - closely linked. Instead of just loading the data in one go, we always need to prepare a subcube of data before the work starts.

Although this model may have its flaws and may be outdated in the light of ever increaing computer memory, it will probalbly satisfy our needs for some time at the start of the 21st century.

The SeisTrc class is designed to be able to even have 1, 2 or 4-byte data in the data() - the access functions get() and set() will know how to unpack and pack this from/to float. SeisTrc objects can also hold more than one component.

To keep the SeisTrc object small, a lot of operations and processing options have been moved to specialised objects - see seistrcprop.h and seissingtrcproc.h .