DATRW++ library: seismic data I/O with multiple formats
datrw::mseed::SEED::SteimFrame Class Referenceabstract

#include <seedstructs.h>

Inheritance diagram for datrw::mseed::SEED::SteimFrame:
Collaboration diagram for datrw::mseed::SEED::SteimFrame:

Classes

struct  FrameData
 struct to hold frame data More...
 

Public Types

enum  ESteimControl {
  Fspecial =0, Fbyte =1, Fhw =2, Ffw =3,
  Fdnib1 =2, Fdnib2 =3
}
 possible control codes More...
 

Public Member Functions

virtual ~SteimFrame ()
 virtual base class need virtual destructor More...
 
unsigned int control () const
 return control word More...
 
ESteimControl ctrl (const int &i) const
 return control code for word i More...
 
SteimFrame::ESteimControl ctrl () const
 return control code for current word More...
 
virtual int diff () const =0
 return current difference value More...
 
int idiff () const
 return current difference index More...
 
int iword () const
 return current word index More...
 
void next ()
 step to next difference value More...
 
void read (const char *p, const bool &swap=false)
 read data from pointer More...
 
void reset ()
 step to first difference value More...
 
bool valid () const
 we are still inside the frame More...
 
int word (const int &i) const
 return data word i More...
 
int word () const
 return current data word More...
 

Static Public Attributes

static const int blocksize =16*sizeof(int)
 size of frame in bytes More...
 
static const int nwords =15
 numer of words to process More...
 

Protected Member Functions

 SteimFrame (const char *p)
 read data to buffer More...
 
virtual void setn ()=0
 set Mn for current word (compression type specific) More...
 
virtual void swap ()=0
 swapping must be performed differently for Steim1 and Steim2 More...
 

Protected Attributes

FrameData Mdata
 frame data (swapped) More...
 
int Mn
 number of differences in this word More...
 

Private Attributes

int Midiff
 current difference value in word More...
 
int Miword
 current word in frame More...
 
bool Mvalid
 we are still inside the current frame More...
 

Detailed Description

a base class to handle a Steim frame

We explicitely distinguish between Steim 1 and Steim 2 frames, since data swapping differs for them.

Definition at line 459 of file seedstructs.h.


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