GPLIB++
|
This class calculates the misfit for anisotropic surface wave dispersion data. More...
#include <AnisoSurfaceWaveObjective.h>
Public Member Functions | |
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... | |
virtual void | WriteData (const std::string &filename) |
Write synthetic data as ascii file. More... | |
const ParkSurfaceWaveData & | GetSynthetic () const |
Provide read only access to the synthetic data. More... | |
AnisoSurfaceWaveObjective (const AnisoSurfaceWaveObjective &Old) | |
AnisoSurfaceWaveObjective & | operator= (const AnisoSurfaceWaveObjective &source) |
AnisoSurfaceWaveObjective (const ParkSurfaceWaveData &Data, const double ba, const double avel, const double pois=1.8, const double err=0.01) | |
virtual | ~AnisoSurfaceWaveObjective () |
virtual AnisoSurfaceWaveObjective * | clone () 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... | |
Public Member Functions inherited from gplib::PlottableObjective | |
PlottableObjective () | |
PlottableObjective (const PlottableObjective &Old) | |
PlottableObjective & | operator= (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 tmisfit & | GetMisfit () |
Return the misfit vector. More... | |
const tdata & | GetSynthData () |
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) | |
GeneralObjective & | operator= (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) |
tmisfit & | SetMisfit () |
Only derived classes can write access the Misfit. More... | |
void | SetMisfit (const tmisfit &LocalMisfit) |
tdata & | SetSynthData () |
Only derived classes can write access the Synthetic data. More... | |
void | SetSynthData (const tdata &LocalSynthData) |
This class calculates the misfit for anisotropic surface wave dispersion data.
Definition at line 14 of file AnisoSurfaceWaveObjective.h.
gplib::AnisoSurfaceWaveObjective::AnisoSurfaceWaveObjective | ( | const AnisoSurfaceWaveObjective & | Old | ) |
Definition at line 41 of file AnisoSurfaceWaveObjective.cpp.
Referenced by clone().
gplib::AnisoSurfaceWaveObjective::AnisoSurfaceWaveObjective | ( | const ParkSurfaceWaveData & | Data, |
const double | ba, | ||
const double | avel, | ||
const double | pois = 1.8 , |
||
const double | err = 0.01 |
||
) |
Definition at line 11 of file AnisoSurfaceWaveObjective.cpp.
|
virtual |
Definition at line 22 of file AnisoSurfaceWaveObjective.cpp.
|
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 54 of file AnisoSurfaceWaveObjective.h.
References AnisoSurfaceWaveObjective().
|
inline |
Provide read only access to the synthetic data.
Definition at line 42 of file AnisoSurfaceWaveObjective.h.
AnisoSurfaceWaveObjective & gplib::AnisoSurfaceWaveObjective::operator= | ( | const AnisoSurfaceWaveObjective & | source | ) |
Definition at line 26 of file AnisoSurfaceWaveObjective.cpp.
References gplib::PlottableObjective::operator=().
|
virtual |
Some operations cannot be done in parallel, these are done after, returns the misfit value.
Implements gplib::GeneralObjective.
Definition at line 115 of file AnisoSurfaceWaveObjective.cpp.
References gplib::GeneralObjective::GetRMS().
Referenced by gplib::MultiAnisoSurfaceWaveObjective::PostParallel().
|
virtual |
Some operations cannot be done in parallel, these are done before.
Reimplemented from gplib::GeneralObjective.
Definition at line 51 of file AnisoSurfaceWaveObjective.cpp.
References gplib::GeneralObjective::GetParallelID(), gplib::AnisoSurfaceWaveSynthetic::PreParallel(), and gplib::AnisoSurfaceWaveSynthetic::SetModel().
|
virtual |
The core performance calculation, has to be safe to be done in parallel.
Reimplemented from gplib::GeneralObjective.
Definition at line 120 of file AnisoSurfaceWaveObjective.cpp.
References gplib::GeneralObjective::CalcMisfit(), gplib::GeneralObjective::GetFitExponent(), gplib::GeneralObjective::GetParallelID(), gplib::SurfaceWaveData::GetPhaseVelocities(), gplib::AnisoSurfaceWaveSynthetic::SafeParallel(), gplib::GeneralObjective::SetMisfit(), gplib::GeneralObjective::SetRMS(), and gplib::GeneralObjective::SetSynthData().
Referenced by gplib::MultiAnisoSurfaceWaveObjective::SafeParallel().
|
inlinevirtual |
Write synthetic data as ascii file.
Reimplemented from gplib::PlottableObjective.
Definition at line 37 of file AnisoSurfaceWaveObjective.h.
References gplib::ParkSurfaceWaveData::WriteAscii().
|
inlinevirtual |
Write the current model to ascii file for calculations.
Reimplemented from gplib::PlottableObjective.
Definition at line 27 of file AnisoSurfaceWaveObjective.h.
References gplib::AnisoSurfaceWaveSynthetic::WriteModel().
|
inlinevirtual |
Write the current model to ascii file for plotting.
Reimplemented from gplib::PlottableObjective.
Definition at line 32 of file AnisoSurfaceWaveObjective.h.
References gplib::AnisoSurfaceWaveSynthetic::WritePlot().