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>
10namespace mspass::algorithms::deconvolution {
57 ShapingWavelet(
const double fpeak,
const double dtin,
const int n);
69 ShapingWavelet(
const int npolelo,
const double f3dblo,
const int npolehi,
70 const double f3dbhi,
const double dtin,
const int n);
77 std::swap(nfft, other.nfft);
79 std::swap(dt, other.dt);
80 std::swap(df, other.df);
81 wavelet_name.swap(other.wavelet_name);
94 std::string
type() {
return wavelet_name; };
103 std::string wavelet_name;
104 friend boost::serialization::access;
105 template <
class Archive>
106 void serialize(Archive &ar,
const unsigned int version) {
Interfacing object to ease conversion between FORTRAN and C++ complex.
Definition ComplexArray.h:44
int size() const
Definition ComplexArray.cc:275
void swap(ComplexArray &other) noexcept
Definition ComplexArray.h:88
Frequency domain shaping wavelet.
Definition ShapingWavelet.h:22
std::string type()
Definition ShapingWavelet.h:94
int size() const
Definition ShapingWavelet.h:96
void swap(ShapingWavelet &other) noexcept
Definition ShapingWavelet.h:76
mspass::seismic::CoreTimeSeries impulse_response()
Definition ShapingWavelet.cc:268
ShapingWavelet & operator=(const ShapingWavelet &parent)
Definition ShapingWavelet.cc:258
double freq_bin_size()
Definition ShapingWavelet.h:90
ComplexArray * wavelet()
Definition ShapingWavelet.h:85
double sample_interval()
Definition ShapingWavelet.h:92
Scalar time series data object.
Definition CoreTimeSeries.h:17