00001 #ifndef C1DMTSYNTHDATA_H 00002 #define C1DMTSYNTHDATA_H 00003 00004 #include "MTStation.h" 00005 #include "types.h" 00006 #include <vector> 00007 #include <string> 00008 #include "VecMat.h" 00009 00010 namespace gplib 00011 { 00012 class C1DMTSynthData: public MTStation 00013 { 00014 private: 00015 tcompdata Z; 00016 void Calc(); 00017 trealdata calc_frequencies; 00018 trealdata resistivity; // 00019 trealdata thickness; // Thickness for each layer 00020 trealdata reserrors; // the errors of the model parameters, only used for plotting 00021 trealdata thickerrors; 00022 public: 00023 const trealdata &GetResistivities() 00024 { 00025 return resistivity; 00026 } 00027 const trealdata &GetThicknesses() 00028 { 00029 return thickness; 00030 } 00031 void SetResistivities(const trealdata &res) 00032 { 00033 resistivity = res; 00034 } 00035 void SetResistivityErrors(const trealdata &re) 00036 { 00037 reserrors = re; 00038 } 00039 void SetThicknesses(const trealdata &thick) 00040 { 00041 thickness = thick; 00042 } 00043 void SetThicknessErrors(const trealdata &te) 00044 { 00045 thickerrors = te; 00046 } 00047 gplib::rvec GetModelVector(); 00048 void WriteModel(std::string filename); //write model into file for cagniard algorithm 00049 void ReadModel(std::string filename); 00050 void WritePlot(std::string filename); 00051 using MTStation::GetData; 00052 //! Calculate the synthetic data given the previously set parameters 00053 virtual void GetData(); 00054 virtual C1DMTSynthData *clone() const 00055 { 00056 return new C1DMTSynthData(*this); 00057 } 00058 C1DMTSynthData(const C1DMTSynthData &old); 00059 C1DMTSynthData(); 00060 virtual ~C1DMTSynthData(); 00061 00062 }; 00063 } 00064 #endif
1.5.8