7#include <boost/archive/text_iarchive.hpp>
8#include <boost/archive/text_oarchive.hpp>
9#include <boost/serialization/base_object.hpp>
10#include <boost/serialization/shared_ptr.hpp>
11#include <boost/serialization/vector.hpp>
13#include "mspass/seismic/Seismogram.h"
14#include "mspass/seismic/TimeSeries.h"
16namespace mspass::algorithms {
82 friend class boost::serialization::access;
83 template <
class Archive>
84 void serialize(Archive &ar,
const unsigned int version) {
106 LinearTaper(
const double t0head,
const double t1head,
const double t1tail,
107 const double t0tail);
122 double t0head, t1head, t1tail, t0tail;
123 friend class boost::serialization::access;
124 template <
class Archive>
125 void serialize(Archive &ar,
const unsigned int version) {
126 ar &boost::serialization::base_object<BasicTaper>(*
this);
150 CosineTaper(
const double t0head,
const double t1head,
const double t1tail,
151 const double t0tail);
167 double t0head, t1head, t1tail, t0tail;
168 friend class boost::serialization::access;
169 template <
class Archive>
170 void serialize(Archive &ar,
const unsigned int version) {
171 ar &boost::serialization::base_object<BasicTaper>(*
this);
196 if (taper.size() > 0)
203 std::cerr <<
"get_t0head not implemented for VectorTaper";
208 std::cerr <<
"get_t1head not implemented for VectorTaper";
213 std::vector<double> taper;
214 friend class boost::serialization::access;
215 template <
class Archive>
216 void serialize(Archive &ar,
const unsigned int version) {
217 ar &boost::serialization::base_object<BasicTaper>(*
this);
258 TopMute(
const double t0,
const double t1,
const std::string type);
271 double get_t0()
const {
return taper->get_t0head(); };
274 double get_t1()
const {
return taper->get_t1head(); };
286 std::shared_ptr<BasicTaper> taper;
Abstract base class for taper operators.
Definition Taper.h:23
bool tail_is_enable()
Definition Taper.h:59
void enable_tail()
Definition Taper.h:45
bool head_is_enabled()
Definition Taper.h:52
void enable_head()
Definition Taper.h:38
bool tail
Definition Taper.h:78
bool all
Definition Taper.h:79
virtual double get_t0head() const =0
void disable_tail()
Definition Taper.h:47
virtual int apply(mspass::seismic::TimeSeries &d)=0
BasicTaper()
Definition Taper.h:26
void disable_head()
Definition Taper.h:40
virtual ~BasicTaper()
Definition Taper.h:32
virtual double get_t1head() const =0
bool head
Definition Taper.h:77
virtual int apply(mspass::seismic::Seismogram &d)=0
Taper front and/or end of a time seris with a half cosine function.
Definition Taper.h:141
double get_t1tail() const
Definition Taper.h:164
double get_t0tail() const
Definition Taper.h:162
double get_t0head() const
Definition Taper.h:158
int apply(mspass::seismic::TimeSeries &d)
Definition Taper.cc:211
double get_t1head() const
Definition Taper.h:160
Used to construct an operator to apply a linear taper to either end.
Definition Taper.h:96
double get_t0head() const
Definition Taper.h:113
int apply(mspass::seismic::TimeSeries &d)
Definition Taper.cc:41
double get_t0tail() const
Definition Taper.h:117
double get_t1head() const
Definition Taper.h:115
double get_t1tail() const
Definition Taper.h:119
Mute operator for "top" of signals defined first smaple forward.
Definition Taper.h:237
double get_t0() const
Definition Taper.h:271
TopMute & operator=(const TopMute &parent)
Definition Taper.cc:408
~TopMute()
Definition Taper.cc:378
std::string taper_type() const
Definition Taper.cc:438
double get_t1() const
Definition Taper.h:274
TopMute()
Definition Taper.cc:377
int apply(mspass::seismic::TimeSeries &d)
Definition Taper.cc:414
int apply(mspass::seismic::TimeSeries &d)
Definition Taper.cc:337
double get_t1head() const
Definition Taper.h:207
std::vector< double > get_taper()
Definition Taper.h:200
void enable()
Definition Taper.h:195
void disable()
Definition Taper.h:193
double get_t0head() const
Definition Taper.h:202
Implemntation of Seismogram for MsPASS.
Definition Seismogram.h:14
Implemntation of TimeSeries for MsPASS.
Definition TimeSeries.h:14