GPLIB++
Iso1DMTObjective.h
Go to the documentation of this file.
1 #ifndef ISO1DMTOBJECTIVE_H_
2 #define ISO1DMTOBJECTIVE_H_
3 #include "C1DMTObjective.h"
4 #include "C1DMTSynthData.h"
5 
6 namespace gplib
7  {
8  //! This class implements the forward calculation for a 1D isotropic MT model
9  /*! Here we implement the specific calls to generate data for a 1D isotropic
10  * model, the misfit and the type of data to fit are all set and calculated
11  * in the base class C1DMTObjective
12  */
14  {
15  private:
16  //! This is the only function that implements some real functionality
17  /*! This function implements the forward calculation of the data,
18  * the base class uses the access function GetMTSynth to access this data
19  * for misfit calculations etc.
20  */
21  virtual void CalcSynthData(const ttranscribed &member);
22  C1DMTSynthData IsoMTSynth;
23  virtual MTStation &GetMTSynth()
24  {
25  return IsoMTSynth;
26  }
27  public:
28  explicit Iso1DMTObjective(const MTStation &LocalMTData);
31  virtual ~Iso1DMTObjective();
32  //! clone clones the current object, derived from GeneralObjective
33  virtual Iso1DMTObjective *clone() const
34  {
35  return new Iso1DMTObjective(*this);
36  }
37  //! write the current model to a file
38  virtual void WriteModel(const std::string &filename)
39  {
40  IsoMTSynth.WriteModel(filename);
41  }
42  //! write the current model for plotting to a file
43  virtual void WritePlot(const std::string &filename)
44  {
45  IsoMTSynth.WritePlot(filename);
46  }
47  //! Write current data to a file
48  virtual void WriteData(const std::string &filename)
49  {
50  IsoMTSynth.WriteAsMtt(filename);
51  }
52  };
53  }
54 #endif /*ISO1DMTOBJECTIVE_H_*/
ublas::vector< double > ttranscribed
Definition: gentypes.h:21
void WriteModel(std::string filename)
Write model into file for cagniard algorithm.
virtual void WriteData(const std::string &filename)
Write current data to a file.
virtual void WritePlot(const std::string &filename)
write the current model for plotting to a file
virtual Iso1DMTObjective * clone() const
clone clones the current object, derived from GeneralObjective
Iso1DMTObjective & operator=(const Iso1DMTObjective &source)
The class MTStation is used to store the transfer functions and related information for a MT-site...
Definition: MTStation.h:17
Iso1DMTObjective(const MTStation &LocalMTData)
void WriteAsMtt(const std::string filename)
Write data in goettingen .mtt format.
Definition: MTStation.cpp:681
void WritePlot(std::string filename)
Write out a file that can be used for plotting with xmgrace first column depth, second column resisti...
Calculate synthetic MT data for a 1D model using Cagniard's algorithm.
This class implements the forward calculation for a 1D isotropic MT model.
C1DMTObjective is the base class for MT misfit calculations from 1D models, it provides common functi...
virtual void WriteModel(const std::string &filename)
write the current model to a file