MsPASS C++ API  2.4.1.dev4+g92330b7a
Defines the C++ API for MsPASS
Loading...
Searching...
No Matches
TimeSeries.h
1#ifndef _TIMESERIES_H_
2#define _TIMESERIES_H_
3#include "mspass/seismic/CoreTimeSeries.h"
4#include "mspass/utility/ErrorLogger.h"
5#include "mspass/utility/ProcessingHistory.h"
6namespace mspass::seismic {
15public:
18 : mspass::seismic::CoreTimeSeries(),
19 mspass::utility::ProcessingHistory() {};
36 TimeSeries(const size_t nsamples)
37 : mspass::seismic::CoreTimeSeries(nsamples),
38 mspass::utility::ProcessingHistory() {};
54 : mspass::seismic::CoreTimeSeries(bts, md),
55 mspass::utility::ProcessingHistory() {};
78 TimeSeries(const Metadata &md);
79
96 : mspass::seismic::CoreTimeSeries(d),
97 mspass::utility::ProcessingHistory() {};
115 TimeSeries(const mspass::seismic::CoreTimeSeries &d, const std::string alg);
129 const std::vector<double> &d);
131 TimeSeries(const TimeSeries &parent)
132 : mspass::seismic::CoreTimeSeries(parent),
133 mspass::utility::ProcessingHistory(parent) {};
135 TimeSeries &operator=(const TimeSeries &parent);
143 dynamic_cast<CoreTimeSeries &>(*this) +=
144 dynamic_cast<const CoreTimeSeries &>(d);
145 this->elog += d.elog;
146 return (*this);
147 };
155 dynamic_cast<CoreTimeSeries &>(*this) += d;
156 return (*this);
157 };
163 const TimeSeries operator+(const TimeSeries &other) const {
164 TimeSeries result(*this);
165 result += other;
166 return result;
167 };
173 const CoreTimeSeries operator+(const CoreTimeSeries &other) const {
174 CoreTimeSeries result(dynamic_cast<const CoreTimeSeries &>(*this));
175 result += other;
176 return result;
177 };
183 TimeSeries &operator*=(const double scale) {
184 dynamic_cast<CoreTimeSeries &>(*this) *= scale;
185 return *this;
186 };
194 dynamic_cast<CoreTimeSeries &>(*this) -=
195 dynamic_cast<const CoreTimeSeries &>(d);
196 this->elog += d.elog;
197 return (*this);
198 };
206 dynamic_cast<CoreTimeSeries &>(*this) -= d;
207 return (*this);
208 };
214 const TimeSeries operator-(const TimeSeries &other) const {
215 TimeSeries result(*this);
216 result -= other;
217 return result;
218 };
224 const CoreTimeSeries operator-(const CoreTimeSeries &other) const {
225 CoreTimeSeries result(dynamic_cast<const CoreTimeSeries &>(*this));
226 result -= other;
227 return result;
228 };
245 size_t memory_use() const;
246};
247} // namespace mspass::seismic
248#endif
Base class for time series objects.
Definition BasicTimeSeries.h:35
Scalar time series data object.
Definition CoreTimeSeries.h:17
Implemntation of TimeSeries for MsPASS.
Definition TimeSeries.h:14
TimeSeries & operator*=(const double scale)
Definition TimeSeries.h:183
TimeSeries(const mspass::seismic::CoreTimeSeries &d)
Construct from lower level CoreTimeSeries.
Definition TimeSeries.h:95
size_t memory_use() const
Definition TimeSeries.cc:88
const CoreTimeSeries operator-(const CoreTimeSeries &other) const
Definition TimeSeries.h:224
TimeSeries & operator+=(const CoreTimeSeries &d)
Definition TimeSeries.h:154
TimeSeries()
Definition TimeSeries.h:17
TimeSeries & operator+=(const TimeSeries &d)
Definition TimeSeries.h:142
TimeSeries(const TimeSeries &parent)
Definition TimeSeries.h:131
const CoreTimeSeries operator+(const CoreTimeSeries &other) const
Definition TimeSeries.h:173
TimeSeries & operator-=(const CoreTimeSeries &d)
Definition TimeSeries.h:205
void load_history(const mspass::utility::ProcessingHistory &h)
Definition TimeSeries.cc:85
TimeSeries(const size_t nsamples)
Definition TimeSeries.h:36
const TimeSeries operator-(const TimeSeries &other) const
Definition TimeSeries.h:214
TimeSeries & operator-=(const TimeSeries &d)
Definition TimeSeries.h:193
TimeSeries & operator=(const TimeSeries &parent)
Definition TimeSeries.cc:78
TimeSeries(const BasicTimeSeries &bts, const Metadata &md)
Definition TimeSeries.h:53
const TimeSeries operator+(const TimeSeries &other) const
Definition TimeSeries.h:163
Type-safe metadata container used throughout MsPASS.
Definition Metadata.h:101
std::map< std::string, boost::any > md
Definition Metadata.h:473
Lightweight class to preserve procesing chain of atomic objects.
Definition ProcessingHistory.h:243
ErrorLogger elog
Definition ProcessingHistory.h:246
Define metadata keys.
Definition BasicSpectrum.h:6