3 #ifndef __sim_impulse_hpp
4 #define __sim_impulse_hpp
6 #include <s2proc/trace.hpp>
7 #include <s2proc/sim_service.hpp>
34 Impulse(
const AmplT &gain = 1.): m_gain(gain) {}
43 virtual void setGain(
const AmplT &gain) {m_gain = gain;}
45 virtual const AmplT& gain()
const {
return m_gain;}
82 FreqT w()
const {
return m_w;}
119 virtual AmplT
operator()(
const TimeT &t)
const;
154 virtual AmplT
operator()(
const TimeT &t)
const;
Definition: sim_impulse.hpp:135
Definition: sim_impulse.hpp:19
virtual ImpulseType type() const
Definition: sim_impulse.hpp:159
virtual Impulse * clone() const
Definition: sim_impulse.hpp:17
virtual ImpulseType type() const =0
virtual ImpulseType type() const
Definition: sim_impulse.hpp:124
UserImpulse(const Trace &tr, const AmplT &gain=1.)
Definition: sim_impulse.hpp:142
virtual AmplT operator()(const TimeT &t) const
Definition: sim_impulse.hpp:18
virtual ImpulseType type() const
Definition: sim_impulse.hpp:91
DiracImpulse(const TimeT &i_eps, const AmplT &gain=1.)
Definition: sim_impulse.hpp:108
RickerImpulse(const FreqT &i_w, const AmplT &gain=1.)
Definition: sim_impulse.hpp:72
std::string toString(const ImpulseType &it)
virtual AmplT operator()(const TimeT &t) const
Trace m_tr
Definition: sim_impulse.hpp:163
Definition: sim_impulse.hpp:66
bool sim(size_t n, const Trace::AmplT *x, const Trace::AmplT *y, Trace::AmplT &s)
virtual AmplT operator()(const TimeT &t) const =0
Definition: sim_impulse.hpp:28
virtual Impulse * clone() const
Impulse(const AmplT &gain=1.)
Definition: sim_impulse.hpp:34
Definition: sim_impulse.hpp:102
virtual AmplT operator()(const TimeT &t) const
ImpulseType
Definition: sim_impulse.hpp:15
virtual Impulse * clone() const
virtual Impulse * clone() const =0
TimeT m_eps
Definition: sim_impulse.hpp:128
float AmplT
Definition: defines.hpp:17