1 #ifndef MULTIANISOSURFACEWAVEOBJECTIVE_H_
2 #define MULTIANISOSURFACEWAVEOBJECTIVE_H_
7 #include <boost/shared_ptr.hpp>
16 std::vector<boost::shared_ptr<AnisoSurfaceWaveObjective> >
18 std::vector<double> backazimuths;
25 const double back,
const double avel);
32 void WriteData(
const std::string &filename);
34 void WritePlot(
const std::string &filename);
ublas::vector< double > ttranscribed
MultiAnisoSurfaceWaveObjective()
virtual void SafeParallel(const ttranscribed &member)
The core performance calculation, has to be safe to be done in parallel.
void WriteData(const std::string &filename)
virtual void PreParallel(const ttranscribed &member)
Some operations cannot be done in parallel, these are done before.
Minimize the misfit for several surface wave dispersion curves simultaneously.
MultiAnisoSurfaceWaveObjective & operator=(const MultiAnisoSurfaceWaveObjective &source)
virtual double PostParallel(const ttranscribed &member)
Some operations cannot be done in parallel, these are done after, returns the misfit value...
void WritePlot(const std::string &filename)
void AddMeasurement(const ParkSurfaceWaveData &Measured, const double back, const double avel)
The basic object for any objective function, mainly an interface class and some storage.
virtual ~MultiAnisoSurfaceWaveObjective()
void WriteModel(const std::string &filename)
virtual MultiAnisoSurfaceWaveObjective * 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.