8 #ifndef NIDAS_CORE_BADSAMPLEFILTER_H
9 #define NIDAS_CORE_BADSAMPLEFILTER_H
17 namespace nidas {
namespace core {
205 setRule(
const std::string& rule);
260 #endif // NIDAS_CORE_BADSAMPLEFILTER_H
void setMaxSampleTime(const nidas::util::UTime &val)
Set the maximum sample time for a valid sample.
Definition: BadSampleFilter.cc:80
void setRules(const std::string &rule)
Parse the filter rule string and throw NidasAppException if it does not parse.
Definition: BadSampleFilter.cc:305
sampleType
Definition: sample_type_traits.h:30
A class for parsing, formatting and doing operations on time, based on Unix time conventions, where leap seconds are ignored, so that there are always 60 seconds in a minute, 3600 seconds in an hour and 86400 seconds in a day.
Definition: UTime.h:76
void setMaxSampleLength(unsigned int val)
The default maximum sample length is 32768.
Definition: BadSampleFilter.cc:64
bool _skipNidasHeader
Definition: BadSampleFilter.h:218
unsigned int minSampleLength() const
Definition: BadSampleFilter.h:85
void setMinSampleLength(unsigned int val)
The default minimum sample length is 1.
Definition: BadSampleFilter.cc:56
bool invalidSampleHeader(const SampleHeader &sheader)
Return true if matches any of the criteria for an invalid sample.
Definition: BadSampleFilter.cc:120
void setMinDsmId(unsigned int val)
The default minimum DSM ID for a valid sample is 1.
Definition: BadSampleFilter.cc:40
long long dsm_time_t
Posix time in microseconds, the number of non-leap microseconds since 1970 Jan 1 00:00 UTC...
Definition: Sample.h:61
void setMaxDsmId(unsigned int val)
The default maximum DSM ID for a valid sample is 1024.
Definition: BadSampleFilter.cc:48
bool skipNidasHeader() const
Definition: BadSampleFilter.h:132
unsigned int _maxDsmId
Definition: BadSampleFilter.h:210
nidas::core::sampleType sampleTypeLimit() const
Return the current sampleType setting.
Definition: BadSampleFilter.h:155
UTime minSampleTime() const
Definition: BadSampleFilter.h:107
bool _filterBadSamples
Definition: BadSampleFilter.h:207
void setSampleTypeLimit(nidas::core::sampleType stype)
Set the single acceptable sample type, all others will be filtered out as bad.
Definition: BadSampleFilter.cc:95
void setRule(const std::string &rule)
Set a single filter setting as a string in the form 'on', 'off', or <field>=.
Definition: BadSampleFilter.cc:244
size_t _maxSampleLength
Definition: BadSampleFilter.h:213
unsigned int maxDsmId() const
Definition: BadSampleFilter.h:74
unsigned int maxSampleLength() const
Definition: BadSampleFilter.h:96
Implement rules for filtering bad samples.
Definition: BadSampleFilter.h:22
void setFilterBadSamples(bool val)
Enable filtering of bad samples.
Definition: BadSampleFilter.cc:33
BadSampleFilterArg()
Definition: BadSampleFilter.cc:374
nidas::core::sampleType _sampleType
Definition: BadSampleFilter.h:222
UTime maxSampleTime() const
Definition: BadSampleFilter.h:118
A NidasAppArg is command-line argument which can be handled by NidasApp.
Definition: NidasApp.h:73
void setMinSampleTime(const nidas::util::UTime &val)
Set the minimum sample time for a valid sample.
Definition: BadSampleFilter.cc:72
dsm_time_t _minSampleTime
Definition: BadSampleFilter.h:215
void setSkipNidasHeader(bool enable)
Set to true to allow the NIDAS header to be skipped if it cannot be found at the start of a file or s...
Definition: BadSampleFilter.cc:88
std::ostream & operator<<(std::ostream &out, const BadSampleFilter &bsf)
Stream the current rules for BadSampleFilter bsf to out.
Definition: BadSampleFilter.cc:348
BadSampleFilter & getFilter()
Definition: BadSampleFilter.h:243
virtual bool parse(const ArgVector &argv, int *argi=0)
If argv[argi] matches this argument, then set the flag that was found and also the value if this argu...
Definition: BadSampleFilter.cc:401
BadSampleFilter()
Definition: BadSampleFilter.cc:18
void setDefaultTimeRange(const UTime &start, const UTime &end)
Set start and end times as the filter times only if current filter times are unset, and do not change whether the filter is enabled.
Definition: BadSampleFilter.cc:103
unsigned int minDsmId() const
Definition: BadSampleFilter.h:63
std::vector< std::string > ArgVector
Convenience typedef for handling the command-line argv as a vector of strings.
Definition: NidasApp.h:53
bool operator==(const BadSampleFilter &right) const
Definition: BadSampleFilter.cc:331
BadSampleFilter _bsf
Definition: BadSampleFilter.h:252
unsigned int _minDsmId
Definition: BadSampleFilter.h:209
bool filterBadSamples() const
Return true if bad sample filtering has been enabled.
Definition: BadSampleFilter.h:52
dsm_time_t _maxSampleTime
Definition: BadSampleFilter.h:216
BadSampleFilterArg is a NidasAppArg for configuring a BadSampleFilter with filter rules pased to the ...
Definition: BadSampleFilter.h:237
nidas::util::UTime UTime
Definition: BadSampleFilter.h:24
size_t _minSampleLength
Definition: BadSampleFilter.h:212