MsPASS C++ API  2.4.1.dev4+g92330b7a
Defines the C++ API for MsPASS
Loading...
Searching...
No Matches
Seismogram.h
1#ifndef _SEISMOGRAM_H_
2#define _SEISMOGRAM_H_
3#include "mspass/seismic/CoreSeismogram.h"
4#include "mspass/utility/ErrorLogger.h"
5#include "mspass/utility/ProcessingHistory.h"
6
7namespace mspass::seismic {
15public:
18 : mspass::seismic::CoreSeismogram(),
19 mspass::utility::ProcessingHistory() {};
38 Seismogram(const size_t nsamples);
71 Seismogram(const mspass::seismic::CoreSeismogram &d, const std::string alg);
85
106 const mspass::utility::ProcessingHistory &his, const bool card,
107 const bool ortho, const mspass::utility::dmatrix &tm,
108 const mspass::utility::dmatrix &uin);
131 Seismogram(const Metadata &md,
132 const std::string jobname = std::string("test"),
133 const std::string jobid = std::string("UNDEFINED"),
134 const std::string readername = std::string("load3C"),
135 const std::string algid = std::string("0"));
136
172 Seismogram(const Metadata &md, bool load_data)
173 : mspass::seismic::CoreSeismogram(md, load_data),
174 mspass::utility::ProcessingHistory() {};
176 Seismogram(const Seismogram &parent)
177 : mspass::seismic::CoreSeismogram(parent),
178 mspass::utility::ProcessingHistory(parent) {};
180 virtual ~Seismogram() {};
182 Seismogram &operator=(const Seismogram &parent);
190 dynamic_cast<CoreSeismogram &>(*this) +=
191 dynamic_cast<const CoreSeismogram &>(d);
192 this->elog += d.elog;
193 return (*this);
194 };
202 dynamic_cast<CoreSeismogram &>(*this) += d;
203 return (*this);
204 };
210 const Seismogram operator+(const Seismogram &other) const {
211 Seismogram result(*this);
212 result += other;
213 return result;
214 };
220 const CoreSeismogram operator+(const CoreSeismogram &other) const {
221 CoreSeismogram result(dynamic_cast<const CoreSeismogram &>(*this));
222 result += other;
223 return result;
224 };
230 Seismogram &operator*=(const double scale) {
231 dynamic_cast<CoreSeismogram &>(*this) *= scale;
232 return *this;
233 };
241 dynamic_cast<CoreSeismogram &>(*this) -=
242 dynamic_cast<const CoreSeismogram &>(d);
243 this->elog += d.elog;
244 return (*this);
245 };
253 dynamic_cast<CoreSeismogram &>(*this) -= d;
254 return (*this);
255 };
261 const Seismogram operator-(const Seismogram &other) const {
262 Seismogram result(*this);
263 result -= other;
264 return result;
265 };
271 const CoreSeismogram operator-(const CoreSeismogram &other) const {
272 CoreSeismogram result(dynamic_cast<const CoreSeismogram &>(*this));
273 result -= other;
274 return result;
275 };
294 size_t memory_use() const;
295};
296} // namespace mspass::seismic
297#endif
Base class for time series objects.
Definition BasicTimeSeries.h:35
Vector (three-component) seismogram data object.
Definition CoreSeismogram.h:39
Implemntation of Seismogram for MsPASS.
Definition Seismogram.h:14
const Seismogram operator-(const Seismogram &other) const
Definition Seismogram.h:261
Seismogram(const Seismogram &parent)
Definition Seismogram.h:176
Seismogram()
Definition Seismogram.h:17
Seismogram & operator=(const Seismogram &parent)
Definition Seismogram.cc:107
void load_history(const mspass::utility::ProcessingHistory &h)
Load just the ProcessingHistory data from another data source.
Definition Seismogram.cc:114
const CoreSeismogram operator+(const CoreSeismogram &other) const
Definition Seismogram.h:220
const Seismogram operator+(const Seismogram &other) const
Definition Seismogram.h:210
virtual ~Seismogram()
Definition Seismogram.h:180
size_t memory_use() const
Definition Seismogram.cc:117
Seismogram & operator+=(const CoreSeismogram &d)
Definition Seismogram.h:201
Seismogram & operator-=(const CoreSeismogram &d)
Definition Seismogram.h:252
Seismogram & operator*=(const double scale)
Definition Seismogram.h:230
Seismogram & operator-=(const Seismogram &d)
Definition Seismogram.h:240
const CoreSeismogram operator-(const CoreSeismogram &other) const
Definition Seismogram.h:271
Seismogram(const Metadata &md, bool load_data)
Construct from Metadata definition that includes data path.
Definition Seismogram.h:172
Seismogram & operator+=(const Seismogram &d)
Definition Seismogram.h:189
std::string jobname() const
Definition ProcessingHistory.h:91
std::string jobid() const
Definition ProcessingHistory.h:87
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
Lightweight, simple matrix object.
Definition dmatrix.h:104
Define metadata keys.
Definition BasicSpectrum.h:6