40 #define DATRW_TSOFT_CC_VERSION \ 45 #include <datrwxx/channeltranslation.h> 77 Tbase(is, true, true, false, debug)
85 const std::string& modifier,
87 Tbase(is, true, true, false, debug)
125 "reading beyond end of file");
137 {
return(datrw::util::convert<Tdseries, Tfseries>(this->
dseries())); }
144 "reading beyond end of file");
157 os <<
"TSOFT data reading functions" << std::endl;
158 os <<
"----------------------------" << std::endl;
161 os <<
"TSOFT format is defined by the TSOFT software:\n" 162 <<
" http://seismologie.oma.be/TSOFT/tsoft.html" << std::endl;
163 os <<
"It is the standard data storage format of the UIPC " << std::endl
164 <<
"data acquisition of GWR superconducting gravimeters." << std::endl;
165 os <<
"This reading module is tailored to handle data recorded\n" 166 <<
"for the SG056 at BFO.\n";
172 "TSOFT translation table is not unique");
175 <<
"The TSOFT reading module supports format modifiers to handle\n" 176 <<
"gaps in the otherwise continuous input data:\n";
179 <<
" Samples of the value defined as \"UNDETVAL\" in the TSOFT\n" 180 <<
" header are usually regarded as non-existent and for this\n" 181 <<
" reason produce a gap in the data. If this flag is set,\n" 182 <<
" these sample values are simply passed to the output.\n";
185 <<
" Samples of the value defined as \"UNDETVAL\" in the TSOFT\n" 186 <<
" header are set to \"value\".\n";
189 <<
" The UIPC data acquisition system of SG056 occasionally\n" 190 <<
" produces data lines with unreasonable data times. The\n" 191 <<
" typical time on these lines is\n" 192 <<
" 0001 01 01 01 01 01\n" 193 <<
" These entries produce gaps in the output data. If this\n" 194 <<
" modifier is passed and the line is not the first line\n" 195 <<
" in the input data line, lines with sample time defined\n" 196 <<
" by the modifier parameter are replaced by the expected\n" 197 <<
" time for this line and sample values are included in\n" 198 <<
" the output data stream.\n";
201 <<
" If this flag is set, sample values of lines with originally\n" 202 <<
" unreasonable sample time being bridge by the reader are\n" 203 <<
" flagged with sample value being replaced by \"value\".\n";
aff::Tsubscript Mitrace
index of next trace to be passed
#define DATRW_assert(C, M)
Check an assertion and report by throwing an exception.
datrw::tsoft::File Mfile
container for complete file
aff::Series< float > Tfseries
const bool isbinary
Format properties.
void reporttranslation(std::ostream &os)
report translation table
datrw::Tdseries Mseries
samples
void setfilefree(const sff::FREE &free)
contents for one trace of data
const char *const streamID
Format properties.
virtual void skipseries()
tsoft::ReaderConfig Mreaderconfig
TSOFT reader configuration.
::sff::FREE Mfree
free comment lines
itsoftstream(std::istream &is, const bool &debug=false)
aff::Series< double > Tdseries
#define DATRW_TSOFT_CC_VERSION
const char *const key_keepundetval
Format modifier keys.
bool translationisunique(const bool &verbose)
check uniqueness of translation table
const char *const key_replaceundetval
Format modifier keys.
void setwid2(const sff::WID2 &wid2)
virtual Tfseries fseries()
File readfile(std::istream &is, const ReaderConfig &rc)
read complete file
Root namespace of library.
utilities used by more than one type of data reader (prototypes)
void settracefree(const sff::FREE &free)
const char *const key_bridgetime
Format modifier keys.
void read(std::istream &is)
read file to buffer
::sff::FREE Mfree
free comment lines
#define DATRW_TSOFT_H_VERSION
Ttraceseries Mtraces
all traces in file
static void help(std::ostream &os=std::cout)
classes for TSOFT in SFF (prototypes)
const char *const key_flagbridged
Format modifier keys.
libtime::TAbsoluteTime bridgetime
virtual Tdseries dseries()
#define DATRW_report_assert(C, M)
Check an assertion and report only.
static const std::ios_base::openmode openmode
void reportdatacomments(std::ostream &os)
report comments from 1s files