DATRW++ library: seismic data I/O with multiple formats
datrw::idatstream Class Reference

#include <datread.h>

Inheritance diagram for datrw::idatstream:
Collaboration diagram for datrw::idatstream:

Public Member Functions

virtual ~idatstream ()
 
bool debug ()
 indicate debug mode More...
 
void debug (const bool &debug)
 set debug mode More...
 
virtual Tdseries dseries ()
 
sff::FREE free () const
 
virtual Tfseries fseries ()
 
bool good () const
 
bool hasfree () const
 
bool hasinfo () const
 
bool hassrce () const
 
sff::INFO info () const
 
virtual Tiseries iseries ()
 
bool last () const
 
Properties properties () const
 
bool providesd () const
 
bool providesf () const
 
bool providesi () const
 
virtual void skipseries ()
 
sff::SRCE srce () const
 
sff::WID2 wid2 () const
 

Static Public Member Functions

static void help (std::ostream &os=std::cout, const char *name="idatsream")
 print some info about data conversion. More...
 

Protected Member Functions

 idatstream (std::istream &is, const bool &providesd=false, const bool &providesf=false, const bool &providesi=false, const bool &debug=false)
 
void newtrace ()
 
void setfilefree (const sff::FREE &free)
 
void setinfo (const sff::INFO &info)
 
void setlast ()
 
void setsrce (const sff::SRCE &srce)
 
void settracefree (const sff::FREE &free)
 
void setwid2 (const sff::WID2 &wid2)
 

Protected Attributes

bool Mdebug
 
std::istream & Mis
 

Private Attributes

sff::FREE Mfilefree
 
bool Mfilefreeset
 
sff::INFO Minfo
 
bool Minfoset
 
bool Mlast
 
bool Mprovidesd
 
bool Mprovidesf
 
bool Mprovidesi
 
sff::SRCE Msrce
 
bool Msrceset
 
sff::FREE Mtracefree
 
bool Mtracefreeset
 
sff::WID2 Mwid2
 
bool Mwid2set
 

Detailed Description

input stream to read seismic data (abstract base)

The concept is based on SFF data contents and we will make use of SFF structures.

Note
The convention is that a call to dseries(), fseries(), iseries() or skipseries() will scan the next trace in the input file and will fill all header structures. While dseries(), fseries() and iseries() return samples, skipseries() simply discards them. Thus use the time series input operator first for each trace. Read out header information afterwards.
For this reason only the member functions dseries(), fseries(), iseries() and skipseries() have to be virtual. They are responsible for filling the header data structures with appropriate values upon scanning/reading a time series.
All derived classes are expected to provide static members openmode and isbinary

Definition at line 81 of file datread.h.


The documentation for this class was generated from the following files: