1#ifndef _MSPASS_CORESEISMOGRAM_H_
2#define _MSPASS_CORESEISMOGRAM_H_
3#include "mspass/seismic/BasicTimeSeries.h"
4#include "mspass/seismic/CoreTimeSeries.h"
5#include "mspass/seismic/SlownessVector.h"
6#include "mspass/utility/Metadata.h"
7#include "mspass/utility/SphericalCoordinate.h"
8#include "mspass/utility/dmatrix.h"
105 CoreSeismogram(
const std::vector<mspass::seismic::CoreTimeSeries> &ts,
106 const unsigned int component_to_clone = 0);
143 const bool load_data =
true);
162 void set_dt(
const double sample_interval);
208 void set_t0(
const double t0in);
288 std::vector<double>
operator[](
const int sample)
const;
389 void rotate(
const double nu[3]);
406 void rotate(
const double phi);
429 const double vp0,
const double vs0);
441 for (
int i = 0; i < 3; ++i)
442 for (
int j = 0; j < 3; ++j)
533 bool tmatrix_is_cardinal();
Base class for time series objects.
Definition BasicTimeSeries.h:35
size_t npts() const
Definition BasicTimeSeries.h:173
double time(const int i) const
Definition BasicTimeSeries.h:62
double mdt
Definition BasicTimeSeries.h:249
double mt0
Definition BasicTimeSeries.h:253
Vector (three-component) seismogram data object.
Definition CoreSeismogram.h:39
const CoreSeismogram operator+(const CoreSeismogram &other) const
Definition CoreSeismogram.cc:996
std::vector< double > operator[](const int sample) const
Definition CoreSeismogram.cc:1087
bool cardinal() const
Definition CoreSeismogram.h:489
virtual ~CoreSeismogram()
Definition CoreSeismogram.h:302
double tmatrix[3][3]
Definition CoreSeismogram.h:528
bool orthogonal() const
Definition CoreSeismogram.h:491
CoreSeismogram & operator+=(const CoreSeismogram &d)
Summation operator.
Definition CoreSeismogram.cc:915
void set_dt(const double sample_interval)
Set the sample interval.
Definition CoreSeismogram.cc:1007
void sync_npts()
Sync the number of samples attribute with actual data size.
Definition CoreSeismogram.cc:1066
void rotate_to_standard()
Definition CoreSeismogram.cc:381
void set_t0(const double t0in)
Set the data start time.
Definition CoreSeismogram.cc:1023
bool components_are_orthogonal
Definition CoreSeismogram.h:511
bool set_transformation_matrix(const mspass::utility::dmatrix &A)
Define the transformaton matrix.
Definition CoreSeismogram.cc:776
mspass::utility::dmatrix u
Definition CoreSeismogram.h:52
CoreSeismogram()
Definition CoreSeismogram.cc:26
CoreSeismogram & operator=(const CoreSeismogram &)
Definition CoreSeismogram.cc:889
mspass::utility::dmatrix get_transformation_matrix() const
Definition CoreSeismogram.h:439
void rotate(mspass::utility::SphericalCoordinate &sc)
Definition CoreSeismogram.cc:525
const CoreSeismogram operator-(const CoreSeismogram &other) const
Definition CoreSeismogram.cc:1002
CoreSeismogram & operator*=(const double)
Definition CoreSeismogram.cc:904
void free_surface_transformation(const mspass::seismic::SlownessVector u, const double vp0, const double vs0)
Definition CoreSeismogram.cc:707
double endtime() const noexcept
Definition CoreSeismogram.h:496
void set_npts(const size_t npts)
Set the number of samples attribute for data.
Definition CoreSeismogram.cc:1040
void transform(const double a[3][3])
Definition CoreSeismogram.cc:654
CoreSeismogram & operator-=(const CoreSeismogram &d)
Subtraction operator.
Definition CoreSeismogram.cc:956
bool components_are_cardinal
Definition CoreSeismogram.h:520
Slowness vector object.
Definition SlownessVector.h:16
Lightweight, simple matrix object.
Definition dmatrix.h:104
size_t columns() const
Definition dmatrix.cc:216
Define metadata keys.
Definition BasicSpectrum.h:6
Encapsulates spherical coordinates in a data structure.
Definition SphericalCoordinate.h:15