MsPASS C++ API  2.4.1.dev4+g92330b7a
Defines the C++ API for MsPASS
Loading...
Searching...
No Matches
ShapingWavelet.h
1#ifndef __SHAPING_WAVELET_H__
2#define __SHAPING_WAVELET_H__
3#include "mspass/algorithms/deconvolution/ComplexArray.h"
4#include "mspass/seismic/CoreTimeSeries.h"
5#include "mspass/utility/Metadata.h"
6#include <boost/archive/text_iarchive.hpp>
7#include <boost/archive/text_oarchive.hpp>
8#include <boost/serialization/vector.hpp>
9namespace mspass::algorithms::deconvolution {
22public:
24 dt = -1;
25 df = -1;
26 };
37 ShapingWavelet(const mspass::utility::Metadata &md, int npts = 0);
59 ShapingWavelet(const double fpeak, const double dtin, const int n);
71 ShapingWavelet(const int npolelo, const double f3dblo, const int npolehi,
72 const double f3dbhi, const double dtin, const int n);
74 ShapingWavelet(const ShapingWavelet &parent);
79 ComplexArray *wavelet() { return &w; };
84 double freq_bin_size() { return df; };
86 double sample_interval() { return dt; };
88 std::string type() { return wavelet_name; };
90 int size() const { return w.size(); };
91
92private:
93 int nfft;
96 double dt, df;
97 std::string wavelet_name;
98 friend boost::serialization::access;
99 template <class Archive>
100 void serialize(Archive &ar, const unsigned int version) {
101 ar & nfft;
102 ar & dt;
103 ar & df;
104 ar & wavelet_name;
105 ar & w;
106 }
107};
108} // namespace mspass::algorithms::deconvolution
109#endif
Interfacing object to ease conversion between FORTRAN and C++ complex.
Definition ComplexArray.h:41
int size() const
Definition ComplexArray.cc:275
Frequency domain shaping wavelet.
Definition ShapingWavelet.h:21
std::string type()
Definition ShapingWavelet.h:88
int size() const
Definition ShapingWavelet.h:90
mspass::seismic::CoreTimeSeries impulse_response()
Definition ShapingWavelet.cc:259
ShapingWavelet & operator=(const ShapingWavelet &parent)
Definition ShapingWavelet.cc:250
double freq_bin_size()
Definition ShapingWavelet.h:84
ComplexArray * wavelet()
Definition ShapingWavelet.h:79
double sample_interval()
Definition ShapingWavelet.h:86
Scalar time series data object.
Definition CoreTimeSeries.h:17
Type-safe metadata container used throughout MsPASS.
Definition Metadata.h:101