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

C++ class to handle Seismic Un*x header struct. More...

#include <suheader.h>

Collaboration diagram for datrw::su::SUheader:

Public Member Functions

 SUheader (const datrw::su::options::SUHeaderControl &ch, const bool &debug=false)
 constructor More...
 
void clear ()
 clear header struct More...
 
void set (const datrw::su::options::SUHeaderControl &hc)
 set control parameters More...
 
void setdefaults ()
 set defaults to struct More...
 
in/out functions
void read (std::istream &is)
 read struct from file More...
 
void write (std::ostream &os) const
 write struct to file More...
 
query functions
double dt () const
 return sampling interval More...
 
bool isultrasonic () const
 true if header defines sampling of ultrasonic data More...
 
double scalelf () const
 return factor defined by scalel More...
 
double scalcof () const
 return factor defined by scalco More...
 
libtime::TAbsoluteTime dateoffirstsample () const
 return date of first sample More...
 
libtime::TRelativeTime delay () const
 recording delay More...
 
bool delayispositive () const
 is delay positive recording delay More...
 
int absdelrt () const
 absolute (always positive) delay value More...
 
libtime::TAbsoluteTime dateofshot () const
 return date of shot More...
 
::sff::SRCE srce () const
 return SRCE line More...
 
::sff::INFO info () const
 return INFO line More...
 
::sff::WID2 wid2 () const
 return WID2 line More...
 
set functions

Some calculations have to be redone when new information is added to the header. For this reason the set functions place part of the data in a local member data store area (see the store area ind the member data section). The function SUheader::settimes() then is called at the end of each set function body in order to coherently evaluate values collected from SRCE line and WID2 line header components.

void set (const ::sff::SRCE &srce)
 set values from SRCE line More...
 
void set (const ::sff::INFO &info)
 set values from INFO line More...
 
void set (const ::sff::WID2 &wid2)
 set values from WID2 line More...
 
void set (const libtime::TAbsoluteTime &date)
 set date More...
 
void settimes ()
 set time values correctly More...
 

Static Public Member Functions

static void help (std::ostream &os)
 print online help regarding header fields and TOAST data More...
 

Public Attributes

TraceHeaderStruct Mheader
 the actual data fields are provided for public access More...
 

Private Attributes

bool Mdebug
 be verbose More...
 
datrw::su::options::SUHeaderControl Mheadercontrol
 all options taken from the user More...
 
set functions store area

Set functions receive header data from SFF header components like WID2, SRCE, and INFO. The set functions have to scale dt and delrt appropriatly for seismic and ultrasonic data, respectively. Further they have to derive the recording delay from the time interval between source and receiver time, the first being presented in SRCE, the latter being presented in WID2. Once new information is added by calling one of the set functions, some of the calculations must be redone. The original values are kept in this store area for this purpose.

Note
This store area is only used for setting values in the header. If header is read from file, the store area values are undefined.
bool Mhassrce
 we received srce data More...
 
bool Mhaswid2
 we received wid2 data More...
 
bool Mhasinfo
 we received info data More...
 
libtime::TAbsoluteTime Msrcedate
 date from SRCE line More...
 
libtime::TAbsoluteTime Mwid2date
 date from WID2 line More...
 
double Mwid2dt
 intermediately store sampling interval from wid2 line More...
 

Detailed Description

C++ class to handle Seismic Un*x header struct.

Definition at line 123 of file suheader.h.


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