GPLIB++
Public Member Functions | List of all members
gplib::SurfaceWaveObjective Class Reference

This class calculates the misfit between observed surface wave dispersion data and the data calculated from a seismic model. More...

#include <SurfaceWaveObjective.h>

Inheritance diagram for gplib::SurfaceWaveObjective:
Inheritance graph
[legend]

Public Member Functions

void SetPoisson (const double p)
 Set Poisson's ratio Vp/Vs. More...
 
void SetErrorLevel (const double level)
 Set the relative error for each measurement. More...
 
virtual GeneralObjectiveclone () const
 We need clone and create for building an array of derived objects, see FAQ lite 20.8, the return type depends on the derived class. More...
 
virtual void PreParallel (const ttranscribed &member)
 Some operations cannot be done in parallel, these are done before. More...
 
virtual double PostParallel (const ttranscribed &member)
 Some operations cannot be done in parallel, these are done after, returns the misfit value. More...
 
virtual void SafeParallel (const ttranscribed &member)
 The core performance calculation, has to be safe to be done in parallel. More...
 
virtual void WriteData (const std::string &filename)
 Write the synthetic data to a sac file with name filename. More...
 
virtual void WriteModel (const std::string &filename)
 Write the current model to ascii file for calculations. More...
 
virtual void WritePlot (const std::string &filename)
 Write the current model to ascii file for plotting. More...
 
SurfaceWaveObjectiveoperator= (const SurfaceWaveObjective &source)
 
 SurfaceWaveObjective (const SurfaceWaveObjective &Old)
 
 SurfaceWaveObjective (const SurfaceWaveData &Data)
 
virtual ~SurfaceWaveObjective ()
 
- Public Member Functions inherited from gplib::PlottableObjective
 PlottableObjective ()
 
 PlottableObjective (const PlottableObjective &Old)
 
PlottableObjectiveoperator= (const PlottableObjective &source)
 
virtual ~PlottableObjective ()
 
- Public Member Functions inherited from gplib::GeneralObjective
void SetFitExponent (const int x)
 Set the Fit exponent. More...
 
int GetFitExponent ()
 Get the Fit exponent. More...
 
double GetRMS ()
 Get the current RMS. More...
 
const std::string & GetParallelID ()
 Derived classes need to read the ParallelId for their forward calculations. More...
 
void SetParallelID (const std::string &s)
 We need to set the parallel ID outside the Objective function object. More...
 
const tmisfitGetMisfit ()
 Return the misfit vector. More...
 
const tdataGetSynthData ()
 Return the current synthetic data. More...
 
double CalcPerformance (const ttranscribed &member)
 For serial execution CalcPerformance calls the three Parallel functions for more convenient use. More...
 
 GeneralObjective ()
 
 GeneralObjective (const GeneralObjective &Old)
 
GeneralObjectiveoperator= (const GeneralObjective &source)
 
virtual ~GeneralObjective ()
 

Additional Inherited Members

- Protected Member Functions inherited from gplib::GeneralObjective
double CalcMisfit (const double measured, const double predicted, const double measerror, const double errorlevel, const int index)
 
void SetRMS (const double x)
 
tmisfitSetMisfit ()
 Only derived classes can write access the Misfit. More...
 
void SetMisfit (const tmisfit &LocalMisfit)
 
tdataSetSynthData ()
 Only derived classes can write access the Synthetic data. More...
 
void SetSynthData (const tdata &LocalSynthData)
 

Detailed Description

This class calculates the misfit between observed surface wave dispersion data and the data calculated from a seismic model.

Definition at line 15 of file SurfaceWaveObjective.h.

Constructor & Destructor Documentation

gplib::SurfaceWaveObjective::SurfaceWaveObjective ( const SurfaceWaveObjective Old)

Definition at line 33 of file SurfaceWaveObjective.cpp.

Referenced by clone().

gplib::SurfaceWaveObjective::SurfaceWaveObjective ( const SurfaceWaveData Data)

Definition at line 12 of file SurfaceWaveObjective.cpp.

gplib::SurfaceWaveObjective::~SurfaceWaveObjective ( )
virtual

Definition at line 41 of file SurfaceWaveObjective.cpp.

Member Function Documentation

virtual GeneralObjective* gplib::SurfaceWaveObjective::clone ( ) const
inlinevirtual

We need clone and create for building an array of derived objects, see FAQ lite 20.8, the return type depends on the derived class.

Implements gplib::GeneralObjective.

Definition at line 40 of file SurfaceWaveObjective.h.

References SurfaceWaveObjective().

SurfaceWaveObjective & gplib::SurfaceWaveObjective::operator= ( const SurfaceWaveObjective source)

Definition at line 19 of file SurfaceWaveObjective.cpp.

References gplib::PlottableObjective::operator=().

double gplib::SurfaceWaveObjective::PostParallel ( const ttranscribed member)
virtual

Some operations cannot be done in parallel, these are done after, returns the misfit value.

Implements gplib::GeneralObjective.

Definition at line 83 of file SurfaceWaveObjective.cpp.

References gplib::GeneralObjective::GetRMS().

void gplib::SurfaceWaveObjective::PreParallel ( const ttranscribed member)
virtual
void gplib::SurfaceWaveObjective::SafeParallel ( const ttranscribed member)
virtual
void gplib::SurfaceWaveObjective::SetErrorLevel ( const double  level)
inline

Set the relative error for each measurement.

Definition at line 35 of file SurfaceWaveObjective.h.

void gplib::SurfaceWaveObjective::SetPoisson ( const double  p)
inline

Set Poisson's ratio Vp/Vs.

Definition at line 30 of file SurfaceWaveObjective.h.

virtual void gplib::SurfaceWaveObjective::WriteData ( const std::string &  filename)
inlinevirtual

Write the synthetic data to a sac file with name filename.

Reimplemented from gplib::PlottableObjective.

Definition at line 52 of file SurfaceWaveObjective.h.

References gplib::SurfaceWaveData::WriteAscii().

virtual void gplib::SurfaceWaveObjective::WriteModel ( const std::string &  filename)
inlinevirtual

Write the current model to ascii file for calculations.

Reimplemented from gplib::PlottableObjective.

Definition at line 57 of file SurfaceWaveObjective.h.

References gplib::SurfaceWaveSynthetic::GetModel(), and gplib::SurfaceWaveModel::WriteModel().

virtual void gplib::SurfaceWaveObjective::WritePlot ( const std::string &  filename)
inlinevirtual

Write the current model to ascii file for plotting.

Reimplemented from gplib::PlottableObjective.

Definition at line 62 of file SurfaceWaveObjective.h.

References gplib::SurfaceWaveSynthetic::GetModel(), and gplib::SurfaceWaveModel::WritePlot().


The documentation for this class was generated from the following files: