1#ifndef _BASIC_SPECTRUM_H_
2#define _BASIC_SPECTRUM_H_
3#include "mspass/utility/MsPASSError.h"
53 if (
this != (&parent)) {
94 double df()
const {
return this->
dfval; };
99 double f0()
const {
return this->
f0val; };
126 int itest =
static_cast<int>(round((f -
f0val) /
dfval));
129 "BasicSpectrum::sample_number: f must be positive or greater than "
131 mspass::utility::ErrorSeverity::Fatal);
132 }
else if (itest >= this->
nf()) {
134 "BasicSpectrum::sample_number: f received exceeds the length of "
136 mspass::utility::ErrorSeverity::Fatal);
159 virtual size_t nf()
const = 0;
Definition BasicSpectrum.h:19
virtual double frequency(const int sample_number) const =0
int sample_number(const double f) const
Definition BasicSpectrum.h:125
double dt() const
Return the original sample interval of data used to generate spectrum.
Definition BasicSpectrum.h:107
bool is_live
Definition BasicSpectrum.h:175
void set_live()
Definition BasicSpectrum.h:92
bool live() const
Definition BasicSpectrum.h:70
double parent_npts
Definition BasicSpectrum.h:173
bool dead() const
Definition BasicSpectrum.h:78
BasicSpectrum(const BasicSpectrum &parent)
Definition BasicSpectrum.h:44
double f0val
Definition BasicSpectrum.h:169
int timeseries_npts() const
Definition BasicSpectrum.h:120
void set_f0(const double f0in)
Definition BasicSpectrum.h:144
double rayleigh() const
Return the Rayleigh bin size for this spectrum.
Definition BasicSpectrum.h:115
void set_dt(const double dtin)
Definition BasicSpectrum.h:146
void kill()
Definition BasicSpectrum.h:85
virtual size_t nf() const =0
void set_npts(const int npts_in)
Definition BasicSpectrum.h:150
BasicSpectrum & operator=(const BasicSpectrum &parent)
Definition BasicSpectrum.h:52
double dfval
Definition BasicSpectrum.h:167
double df() const
Definition BasicSpectrum.h:94
virtual std::vector< double > frequencies() const =0
BasicSpectrum(const double dfin, const double f0in, const double dtin, const int npts_in)
Definition BasicSpectrum.h:35
double f0() const
Definition BasicSpectrum.h:99
BasicSpectrum()
Definition BasicSpectrum.h:22
double parent_dt
Definition BasicSpectrum.h:171
virtual double Nyquist() const =0
void set_df(const double dfin)
Definition BasicSpectrum.h:142
Base class for error object thrown by MsPASS library routines.
Definition MsPASSError.h:38
Define metadata keys.
Definition BasicSpectrum.h:6