MsPASS C++ API  2.4.1.dev4+g92330b7a
Defines the C++ API for MsPASS
Loading...
Searching...
No Matches
DataGap.h
1#ifndef _MSPASS_SEISMIC_DATAGAP_H_
2#define _MSPASS_SEISMIC_DATAGAP_H_
3#include "mspass/algorithms/TimeWindow.h"
4#include <list>
5#include <set>
6
7namespace mspass::seismic {
17public:
20 const mspass::algorithms::TimeWindow ti2) const {
21 return (ti1.end < ti2.start);
22 };
23};
24
30class DataGap {
31public:
33 DataGap() {};
35 DataGap(const std::list<mspass::algorithms::TimeWindow> &twlist);
37 DataGap(const DataGap &parent) : gaps(parent.gaps) {};
39 virtual ~DataGap() {};
46 bool is_gap(const double ttest); // query by time
63 bool has_gap() { return (!gaps.empty()); };
72 std::list<mspass::algorithms::TimeWindow> get_gaps() const;
82 void clear_gaps() {
83 if (!gaps.empty())
84 gaps.clear();
85 };
87 int number_gaps() const { return gaps.size(); };
105 void translate_origin(double time_of_new_origin);
107 DataGap &operator=(const DataGap &parent);
109 DataGap &operator+=(const DataGap &other);
110
111protected:
117 std::set<mspass::algorithms::TimeWindow, mspass::algorithms::TimeWindowCmp>
119};
120} // namespace mspass::seismic
121#endif // end guard
Function object used for weak comparison to order TimeWindow objects.
Definition TimeWindow.h:88
Defines a time window.
Definition TimeWindow.h:12
double start
Definition TimeWindow.h:17
double end
Definition TimeWindow.h:21
Container defining invalid time spans for gappy seismic data.
Definition DataGap.h:30
DataGap & operator=(const DataGap &parent)
Definition DataGap.cc:98
void add_gap(const mspass::algorithms::TimeWindow tw)
Definition DataGap.cc:14
DataGap & operator+=(const DataGap &other)
Definition DataGap.cc:104
void translate_origin(double time_of_new_origin)
Definition DataGap.cc:86
std::set< mspass::algorithms::TimeWindow, mspass::algorithms::TimeWindowCmp > gaps
Holds data gap definitions. We use an STL set object to define data gaps for any time series object d...
Definition DataGap.h:118
void clear_gaps()
Clear gaps.
Definition DataGap.h:82
bool has_gap()
Definition DataGap.h:63
DataGap()
Definition DataGap.h:33
int number_gaps() const
Definition DataGap.h:87
std::list< mspass::algorithms::TimeWindow > get_gaps() const
Definition DataGap.cc:56
bool is_gap(const double ttest)
Definition DataGap.cc:34
DataGap(const DataGap &parent)
Definition DataGap.h:37
virtual ~DataGap()
Definition DataGap.h:39
DataGap subset(const mspass::algorithms::TimeWindow tw) const
Definition DataGap.cc:62
bool operator()(const mspass::algorithms::TimeWindow ti1, const mspass::algorithms::TimeWindow ti2) const
Definition DataGap.h:19
Define metadata keys.
Definition BasicSpectrum.h:6