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

This objective function calculates the weighted misfit for a receiver function and the corresponding absolute velocity transformation. More...

#include <AbsVelRecObjective.h>

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

Public Member Functions

virtual AbsVelRecObjectiveclone () const
 return a pointer to a copy of the current object More...
 
void SetAbsVelWeight (const double w)
 Set the relative weight for the absolute velocity information. More...
 
void SetRecWeight (const double w)
 Set the relative weight for the pure receiver function. More...
 
virtual void WriteData (const std::string &filename)
 Write out the receiver function and absolute velocity data, the absolute velocity data gets .vel appended. More...
 
virtual double PostParallel (const ttranscribed &member)
 We also clean up files serially. More...
 
AbsVelRecObjectiveoperator= (const AbsVelRecObjective &source)
 
 AbsVelRecObjective (const AbsVelRecObjective &Old)
 
virtual ~AbsVelRecObjective ()
 
 AbsVelRecObjective (boost::shared_ptr< const SeismicDataComp > TheRecData, SurfaceWaveData &AbsVel, const int myshift, const double mysigma, const double myc, const double myslowness, const RecCalc::trfmethod method=RecCalc::specdiv, const bool normalized=true)
 This constructor is used for calculating absolute velocity information. More...
 
- Public Member Functions inherited from gplib::C1DRecObjective
void SetTimeWindow (const double start, const double end)
 Set the time window used for misfit calculations, start and end are in seconds. More...
 
void SetErrorLevel (const double level)
 Set the errorlevel for fit, this is relative to the maximum amplitude, not for each individual data point. More...
 
void SetPoisson (const double ratio)
 Set poisson's ratio, at the moment the same for all layers, used for calculating P-velocity. More...
 
void WriteModel (const std::string &filename)
 Write the current model to ascii file for calculations. More...
 
void WritePlot (const std::string &filename)
 Write the current model to ascii file for plotting. More...
 
virtual void PreParallel (const ttranscribed &member)
 We have to write runfiles before parallel execution. More...
 
virtual void SafeParallel (const ttranscribed &member)
 Calculate the misfit between the data calculated from model vector member and measured data given in the constructor. More...
 
 C1DRecObjective (const C1DRecObjective &Old)
 
C1DRecObjectiveoperator= (const C1DRecObjective &source)
 
 C1DRecObjective (boost::shared_ptr< const SeismicDataComp > TheRecData, int myshift, double mysigma, double myc, double myslowness, RecCalc::trfmethod method=RecCalc::specdiv, bool normalized=true, ResPkModel::WaveType InWave=ResPkModel::PWave)
 The constructor needs a few essential parameters. More...
 
virtual ~C1DRecObjective ()
 
- 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::C1DRecObjective
const SeismicDataCompGetObservedData ()
 
- 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 objective function calculates the weighted misfit for a receiver function and the corresponding absolute velocity transformation.

Definition at line 11 of file AbsVelRecObjective.h.

Constructor & Destructor Documentation

gplib::AbsVelRecObjective::AbsVelRecObjective ( const AbsVelRecObjective Old)

Definition at line 22 of file AbsVelRecObjective.cpp.

Referenced by clone().

gplib::AbsVelRecObjective::~AbsVelRecObjective ( )
virtual

Definition at line 5 of file AbsVelRecObjective.cpp.

gplib::AbsVelRecObjective::AbsVelRecObjective ( boost::shared_ptr< const SeismicDataComp TheRecData,
SurfaceWaveData AbsVel,
const int  myshift,
const double  mysigma,
const double  myc,
const double  myslowness,
const RecCalc::trfmethod  method = RecCalc::specdiv,
const bool  normalized = true 
)

This constructor is used for calculating absolute velocity information.

Parameters
TheRecDataObject containing the measured receiver function as from call RFVelCalc
AbsVelObject containing the measured absolute velocity information
myshiftthe shift used for calculating the measured receiver function
mysigmasigma used for calculating the measured receiver function
mycwater level used for calculating the measured receiver function
myslownessslowness used for calculating the measured receiver function
normalizedIs the measured data normalized to an initial correlation peak of 1

Definition at line 10 of file AbsVelRecObjective.cpp.

Member Function Documentation

virtual AbsVelRecObjective* gplib::AbsVelRecObjective::clone ( ) const
inlinevirtual

return a pointer to a copy of the current object

Reimplemented from gplib::C1DRecObjective.

Definition at line 22 of file AbsVelRecObjective.h.

References AbsVelRecObjective().

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

Definition at line 30 of file AbsVelRecObjective.cpp.

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

double gplib::AbsVelRecObjective::PostParallel ( const ttranscribed member)
virtual
void gplib::AbsVelRecObjective::SetAbsVelWeight ( const double  w)
inline

Set the relative weight for the absolute velocity information.

Definition at line 27 of file AbsVelRecObjective.h.

Referenced by main().

void gplib::AbsVelRecObjective::SetRecWeight ( const double  w)
inline

Set the relative weight for the pure receiver function.

Definition at line 32 of file AbsVelRecObjective.h.

Referenced by main().

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

Write out the receiver function and absolute velocity data, the absolute velocity data gets .vel appended.

Reimplemented from gplib::C1DRecObjective.

Definition at line 37 of file AbsVelRecObjective.h.

References gplib::SurfaceWaveData::WriteAscii(), and gplib::C1DRecObjective::WriteData().

Referenced by main().


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