Seismic Tools/testrecobjective.cpp File Reference

#include <iostream>
#include "AbsVelRecObjective.h"
#include "SurfaceWaveData.h"
#include "ResPkModel.h"
#include "SeismicDataComp.h"
#include "CCalcRecConf.h"
#include <string>

Include dependency graph for Seismic Tools/testrecobjective.cpp:

Go to the source code of this file.

Functions

int main ()


Function Documentation

int main ( void   ) 

Definition at line 10 of file Seismic Tools/testrecobjective.cpp.

References GeneralObjective::CalcPerformance(), CCalcRecConf::cc, ResPkModel::GetData(), SeismicDataComp::GetData(), CCalcRecConf::GetData(), RecCalc::iterdecon, CCalcRecConf::omega, SurfaceWaveData::ReadAscii(), RecData, AbsVelRecObjective::SetAbsVelWeight(), C1DRecObjective::SetErrorLevel(), GeneralObjective::SetFitExponent(), C1DRecObjective::SetPoisson(), AbsVelRecObjective::SetRecWeight(), CCalcRecConf::shift, CCalcRecConf::sigma, SeismicModel::SVelocity, and SeismicModel::Thickness.

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 }

Here is the call graph for this function:


Generated on Thu Nov 22 14:05:49 2007 for GPLIB++ by  doxygen 1.5.1