SFF++ library: reading and writing SFF from C++
|
#include <sffxx.h>
Public Member Functions | |
DAST () | |
DAST (std::istream &is) | |
std::string | line () const |
void | read (std::istream &is, const bool &debug=false) |
Public Attributes | |
int | nchar |
double | ampfac |
bool | hasfree |
bool | hasinfo |
bool | last |
Static Public Attributes | |
static const char *const | LINEID ="DAST" |
Data status line providing scaling factors and required buffer size.
definition of DAST line:
c position format contents c 1-5 a5 DAST (identifier) c 7-16 i10 number of characters in encoded dataset c From library version 1.10 this field may be -1. c In this case the reading program has to determine c the number of characters itself by detecting the c CHK2 line. This change was necessary to implement c the C++ version of libsff since this starts writing c without having encoded the whole trace already. c 18-33 e16.6 ampfac c This is a factor to scale the (floating point) c dataset to an desireable dynamic range c before converting it to Fortran integer c values. After reading the dataset and c decoding and converting it to floating point c you have to multiply each sample by ampfac c to get back the original values. c As the maximum range of integer values goes c from -(2.**31) to (2.**31)-1 you might c like to adjust the maximum integer value c to 0x7FFFFFFF. This may cause problems c as the second differences compressing algorithm c may increase the dynamic range of your data c by a factor of four in the worst case. c It is save to adjust the largest absolute c value in the dataset to (2.**23)-1 which c is 0x7FFFFF. c The underlying libgsexx limits the maximum value to c 2**27-1. We adopt this here (thof, 21.11.2011) c 35-44 a10 code with a combination of three possible c characters indicating possible optional blocks c and a following further dataset: c F a FREE block follows after dataset c I an INFO line follows after dataset c D there is another Data Block following c in this file (this must be the last c character in code)
\sa \ref subsec_definition_dast_line