1 #ifndef SURFACEWAVEMODEL_H_
2 #define SURFACEWAVEMODEL_H_
19 trealdata pvvelocities;
20 trealdata phvelocities;
21 trealdata svvelocities;
22 trealdata shvelocities;
24 trealdata thicknesses;
34 void WriteLayer(std::ostream &stream,
const unsigned int index,
35 const trealdata &depth)
const;
117 int SplitLayer(
const int index,
const double maxthick);
123 virtual void ReadModel(
const std::string &filename) = 0;
125 virtual void WriteModel(
const std::string &filename)
const = 0;
127 virtual void WriteRunFile(
const std::string &filename,
const std::vector<
128 double> periods)
const = 0;
130 void WritePlot(
const std::string &filename)
const;
const trealdata & GetPvVelocities() const
void AddDiscontinuity(const int index)
Insert a layer with 0 thickness to create a discontinuity for the forward code.
double GetMaxDepth(const double depth)
const trealdata & GetPhVelocities() const
const trealdata & GetSvVelocities() const
trealdata & SetDensities()
void WritePlot(const std::string &filename) const
Write out an ascii file for plotting with xmgrace or similar programs.
A class to store 1D model for calculation of synthetic surface wave data.
const trealdata & GetQmu() const
virtual ~SurfaceWaveModel()
std::string GetName() const
SurfaceWaveModel & operator=(const SurfaceWaveModel &source)
trealdata & SetShVelocities()
void MergeModel(const SurfaceWaveModel &Background)
Merge this model with another background model, the depth range below this model will be filled with ...
const trealdata & GetShVelocities() const
int SplitLayer(const int index, const double maxthick)
Splits a layer into several layers with a maximum thickness of maxthick, but otherwise identical prop...
virtual void WriteModel(const std::string &filename) const =0
Write the model to a file.
const trealdata & GetDensities() const
trealdata & SetSvVelocities()
const trealdata & GetEta() const
virtual void ReadModel(const std::string &filename)=0
Read a model from a file.
trealdata & SetThicknesses()
trealdata & SetPvVelocities()
virtual void WriteRunFile(const std::string &filename, const std::vector< double > periods) const =0
Write out a script that when executed performs a forward calculation for this model.
const trealdata & GetThicknesses() const
const trealdata & GetQkappa() const
void CheckConsistency() const
trealdata & SetPhVelocities()