Seismic Tools/testrecobjective.cpp

Go to the documentation of this file.
00001 #include <iostream>
00002 #include "AbsVelRecObjective.h"
00003 #include "SurfaceWaveData.h"
00004 #include "ResPkModel.h"
00005 #include "SeismicDataComp.h"
00006 #include "CCalcRecConf.h"
00007 #include <string>
00008 
00009 using namespace std;
00010 int main()
00011 {
00012         string datafilename, modelfilename;
00013         cout << "Name of Datafile: ";
00014         cin >> datafilename;
00015         cout << "Name of Modelfile:";
00016         cin >> modelfilename;
00017         
00018         CCalcRecConf Config;
00019         Config.GetData("calcrec.conf");
00020         SeismicDataComp RecData;
00021         SurfaceWaveData SurfData;
00022         RecData.GetData(datafilename+".rec");
00023         SurfData.ReadAscii(datafilename+".vel");
00024         ResPkModel Model;
00025         Model.GetData(modelfilename);
00026         
00027         AbsVelRecObjective SeisObjective(RecData,SurfData,Config.shift,Config.omega,Config.sigma,Config.cc,0.07,RecCalc::iterdecon);
00028         
00029         SeisObjective.SetFitExponent(2);
00030         SeisObjective.SetPoisson(sqrt(3));
00031         SeisObjective.SetErrorLevel(0.02);
00032         SeisObjective.SetAbsVelWeight(1);
00033         SeisObjective.SetRecWeight(1);
00034         const unsigned int nlayers = Model.Thickness.size();
00035         const unsigned int nparams = nlayers * 2;
00036         ttranscribed member(nparams);
00037         for (unsigned i = 0; i < nlayers; ++i)
00038         {
00039                 member(i) = Model.Thickness.at(i);
00040                 member(i+nlayers) = Model.SVelocity.at(i);
00041         }
00042         cout << "Misfit: " << SeisObjective.CalcPerformance(member) << endl;
00043 }

Generated on Thu Nov 22 13:58:27 2007 for GPLIB++ by  doxygen 1.5.1