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

This class calculates the misfit for anisotropic surface wave dispersion data. More...

#include <AnisoSurfaceWaveObjective.h>

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

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 ParkSurfaceWaveDataGetSynthetic () const
 Provide read only access to the synthetic data. More...
 
 AnisoSurfaceWaveObjective (const AnisoSurfaceWaveObjective &Old)
 
AnisoSurfaceWaveObjectiveoperator= (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 AnisoSurfaceWaveObjectiveclone () 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)
 
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 for anisotropic surface wave dispersion data.

Definition at line 14 of file AnisoSurfaceWaveObjective.h.

Constructor & Destructor Documentation

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.

gplib::AnisoSurfaceWaveObjective::~AnisoSurfaceWaveObjective ( )
virtual

Definition at line 22 of file AnisoSurfaceWaveObjective.cpp.

Member Function Documentation

virtual AnisoSurfaceWaveObjective* gplib::AnisoSurfaceWaveObjective::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 54 of file AnisoSurfaceWaveObjective.h.

References AnisoSurfaceWaveObjective().

const ParkSurfaceWaveData& gplib::AnisoSurfaceWaveObjective::GetSynthetic ( ) const
inline

Provide read only access to the synthetic data.

Definition at line 42 of file AnisoSurfaceWaveObjective.h.

AnisoSurfaceWaveObjective & gplib::AnisoSurfaceWaveObjective::operator= ( const AnisoSurfaceWaveObjective source)
double gplib::AnisoSurfaceWaveObjective::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 115 of file AnisoSurfaceWaveObjective.cpp.

References gplib::GeneralObjective::GetRMS().

Referenced by gplib::MultiAnisoSurfaceWaveObjective::PostParallel().

void gplib::AnisoSurfaceWaveObjective::PreParallel ( const ttranscribed member)
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().

void gplib::AnisoSurfaceWaveObjective::SafeParallel ( const ttranscribed member)
virtual
virtual void gplib::AnisoSurfaceWaveObjective::WriteData ( const std::string &  filename)
inlinevirtual

Write synthetic data as ascii file.

Reimplemented from gplib::PlottableObjective.

Definition at line 37 of file AnisoSurfaceWaveObjective.h.

References gplib::ParkSurfaceWaveData::WriteAscii().

virtual void gplib::AnisoSurfaceWaveObjective::WriteModel ( const std::string &  filename)
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().

virtual void gplib::AnisoSurfaceWaveObjective::WritePlot ( const std::string &  filename)
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().


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