45 #ifndef DATRW_SEEDSTRUCTS_H_VERSION 47 #define DATRW_SEEDSTRUCTS_H_VERSION \ 48 "DATRW_SEEDSTRUCTS_H V1.3" 84 template<
class C1,
class C2>
86 { *target = *(
reinterpret_cast<const C1*
>(p)); }
302 if (doswap) { this->
swap(); }
360 unsigned int ireclen()
const {
return(this->reclen); }
361 unsigned int ibytesex()
const {
return(this->bytesex); }
362 unsigned int iformat()
const {
return(this->format); }
384 int iusec()
const {
return(this->usec); }
385 unsigned int itquality()
const {
return(this->tquality); }
386 unsigned int ifcount()
const {
return(this->fcount); }
438 int value(
const int& i)
const;
447 int extract(
const int& b,
const int& p)
const;
504 virtual int diff()
const =0;
520 virtual void swap() =0;
522 virtual void setn() =0;
556 virtual int diff()
const;
575 virtual int diff()
const;
584 #endif // DATRW_SEEDSTRUCTS_H_VERSION (includeguard) int idiff() const
return current difference index
unsigned int ireclen() const
SteimFrame(const char *p)
read data to buffer
virtual void swap()
swapping must be performed differently for Steim1 and Steim2
int fw
1 4-byte difference (fullword)
unsigned short int tmilsec
virtual void swap()
swapping must be performed differently for Steim1 and Steim2
bool end
end of time series
ActivityFlags(const unsigned char &p)
int iword() const
return current word index
static const int blocksize
size of frame in bytes
virtual int diff() const
return current difference value
GEOSCOPE multiplexed 16 bit gain ranged 3 bit exp.
int nval() const
return number of values in this word
unsigned char reserved
Reserved.
unsigned char fcount
frame count
bool event
event in progress
void reset()
step to first difference value
unsigned int control() const
return control word
virtual void setn()
set Mn for current word (compression type specific)
unsigned int ibytesex() const
bool shortrec
short record read
US national network compression.
SteimFrame::ESteimControl ctrl() const
return control code for current word
unsigned int control
control flags
bool calpres
calibration signals present
int word[nwords]
data buffer
int dnib() const
return dnib
ESteimControl
possible control codes
virtual ~SteimFrame()
virtual base class need virtual destructor
bool negleap
a negative leap second happend
BlocketteHeader blocketteheader
four 8-bit differences (byte)
bool posleap
a positive leap second happend
bool ampsat
amplifier saturation detected
unsigned char reclen
Data Record Length.
short int hw[2]
2 2-byte differences (halfword)
BTIME(const char *p, const bool &swap=false)
bool time
time tag is questionable
virtual void swap()=0
swapping must be performed differently for Steim1 and Steim2
FrameData Mdata
frame data (swapped)
GEOSCOPE multiplexed 16 bit gain ranged 4 bit exp.
unsigned int ifcount() const
void read(const char *p, const bool &swap=false)
read data from pointer
DataOnlySEEDBlockette(const char *p, const bool &swap=false)
Root namespace of library.
four 8-bit differences (byte)
ControlHeader controlheader
void copy_from_pointer(C1 *target, const C2 *p)
unsigned char reserved
reserved
DataRecordBlocketteHeader blocketteheader
virtual void setn()
set Mn for current word (compression type specific)
bool telsynch
telemetry synchronization error
DataRecordBlocketteHeader blocketteheader
bool spike
spikes detected
one 32-bit difference (fullword)
IOFlags(const unsigned char &p)
bool longrec
long record read
contains non-data information, like headers
bool begevent
beginning of event
FrameData(const char *p)
read
virtual void setn()=0
set Mn for current word (compression type specific)
IEEE double precision floating point.
int Mn
number of differences in this word
IPG Strasbourg 16 bit gain ranged.
unsigned char format
Encoding Format.
Steim1Frame(const char *p, const bool &swap=false)
bool parityerr
station volume parity error possibly present
bool clip
digitizer clipping detected
int Miword
current word in frame
int extract(const int &b, const int &p) const
GEOSCOPE multiplexed 24 bit integer.
contains non-data information, like headers
bool glitch
glitches detected
bool miss
missing/padded data present
Graefenberg 16 bit gain ranged.
void next()
step to next difference value
unsigned int iformat() const
bool tcorrapp
time correction applied
virtual int diff() const
return current difference value
virtual int diff() const =0
return current difference value
SPARC or 68000 byte order.
Steim2Frame(const char *p, const bool &swap=false)
bool Mvalid
we are still inside the current frame
bool valid() const
we are still inside the frame
bool start
start of time series
unsigned int itquality() const
bool charging
a digital filter may be charging
bool endevent
end of event
DataExtensionBlockette(const char *p, const bool &swap=false)
int Midiff
current difference value in word
static const int nwords
numer of words to process
Steim2Word(const ESteim2Control &c, const int &word)
store control code and data word
int word() const
return current data word
int word(const int &i) const
return data word i
unsigned char tquality
Timing quality.
unsigned char bytesex
Word order.
char byte[4]
4 1-byte differences
struct to hold frame data
int value(const int &i) const
unsigned int reclenbytes() const
two 16-bit differences (halfword)
QualityFlags(const unsigned char &p)