GPLIB++
MTRecObjective.h
Go to the documentation of this file.
1 #ifndef MTRECOBJECTIVE_H_
2 #define MTRECOBJECTIVE_H_
3 #include "Iso1DMTObjective.h"
4 #include "C1DRecObjective.h"
5 namespace gplib
6  {
8  {
9  private:
10  double recweight;
11  C1DRecObjective RecObjective;
12  Iso1DMTObjective MTObjective;
13  public:
14  void SetRecWeight(const double w)
15  {
16  recweight = w;
17  }
19  {
20  return RecObjective;
21  }
23  {
24  return MTObjective;
25  }
26  virtual MTRecObjective *clone() const
27  {
28  return new MTRecObjective(*this);
29  }
30  virtual double PostParallel(const ttranscribed &member);
31  MTRecObjective(const CMTStation &LocalMTData,
32  SeismicDataComp &TheRecData, const int myshift, const double myomega,
33  const double mysigma, const double myc, const double myslowness);
34  virtual ~MTRecObjective();
35  };
36  }
37 #endif /*MTRECOBJECTIVE_H_*/
38 
Iso1DMTObjective & GetMTObjective()
ublas::vector< double > ttranscribed
Definition: gentypes.h:21
C1DRecObjective & GetRecObjective()
virtual MTRecObjective * 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.
The basic object for any objective function, mainly an interface class and some storage.
MTRecObjective(const CMTStation &LocalMTData, SeismicDataComp &TheRecData, const int myshift, const double myomega, const double mysigma, const double myc, const double myslowness)
This class implements the forward calculation for a 1D isotropic MT model.
Calculate the misfit between observed receiver function for a given 1D model by calculating a synthet...
virtual double PostParallel(const ttranscribed &member)
Some operations cannot be done in parallel, these are done after, returns the misfit value...
void SetRecWeight(const double w)