3 #ifndef __wave_field_hpp
4 #define __wave_field_hpp
9 #include <s2proc/trace.hpp>
49 template <
typename Iterator>
70 const Trace&
at(
size_t n)
const;
71 const Trace& operator[](
size_t n)
const {
return at(n);}
100 Trace& operator[](
size_t n) {
return at(n);}
126 void shift(
const std::vector<Trace::TimeT>& shifts);
float AmplT
Definition: trace.hpp:21
Trace::TimeT timestep() const
WaveField operator-(const WaveField &wf) const
Trace::TimeT get_window_timestart() const
void shift(Trace::TimeT s)
iterator erase(iterator first, iterator last)
float TimeT
Definition: trace.hpp:22
void insert(iterator pos, size_t n, const Trace &tr=Trace())
const_iterator begin() const
Definition: wave_field.hpp:176
Trace::TimeT duration() const
TracesStorageT::iterator iterator
Definition: wave_field.hpp:22
void remove_window() const
Definition: wave_field.hpp:13
WaveField operator+(const WaveField &wf) const
Trace::TimeT get_window_duration() const
WaveField(Iterator first, Iterator last)
Definition: wave_field.hpp:50
const_iterator end() const
size_t right
Definition: wave_field.hpp:179
WaveField & set_window(size_t trace, size_t traces, Trace::TimeT start, Trace::TimeT duration)
const Trace & at(size_t n) const
WaveField & fill(const Trace::AmplT &l)
std::vector< Trace > TracesStorageT
Definition: wave_field.hpp:21
TracesStorageT::const_iterator const_iterator
Definition: wave_field.hpp:23
TracesStorageT m_data
Definition: wave_field.hpp:173
std::vector< Window > m_win_stack
Definition: wave_field.hpp:183
void push_back(const Trace &t)
void resize(size_t n, const Trace &tr=Trace())