testwal.cpp

Go to the documentation of this file.
00001 #include <iostream>
00002 #include <fstream>
00003 #include "MTStation.h"
00004 #include <boost/bind.hpp>
00005 #include <gsl/gsl_math.h>
00006 using namespace std;
00007 
00008 int main(int argc, char *argv[])
00009 {
00010         string infilename;
00011         MTStation Data;
00012         if (argc == 2)
00013         {
00014                 infilename = argv[1];
00015         }
00016         else
00017         {
00018                 cout << "Infilename: ";
00019                 cin >> infilename;
00020         }
00021         
00022         Data.GetData(infilename);
00023         
00024         
00025         for (size_t i = 0; i < Data.GetMTData().size(); ++i)
00026         {
00027                 double r = Data.GetMTData().at(i).GetI2()/Data.GetMTData().at(i).GetI1();
00028                 double a = gsl_pow_2(Data.GetMTData().at(i).GetI5() - Data.GetMTData().at(i).GetI6());
00029                 double b = 1.0 - Data.GetMTData().at(i).GetI5() * Data.GetMTData().at(i).GetI6() 
00030                                 + sqrt(1.0 + gsl_pow_2(Data.GetMTData().at(i).GetI5())*gsl_pow_2(Data.GetMTData().at(i).GetI6())
00031                                                 - gsl_pow_2(Data.GetMTData().at(i).GetI5())- gsl_pow_2(Data.GetMTData().at(i).GetI6()));
00032                 //double walkappa = sqrt((1.0+r*r)/(1- a/(2*b) + r*r*b/2)-1.0);
00033                 double walkappa = sqrt((1.0+gsl_pow_2(Data.GetMTData().at(i).Getr()))/
00034                                         (1.0- Data.GetMTData().at(i).Geta()/(2*Data.GetMTData().at(i).Getb()) 
00035                                                         + Data.GetMTData().at(i).Getr()*Data.GetMTData().at(i).Getr()*Data.GetMTData().at(i).Getb()/2)-1.0);
00036                 double walsigma = (gsl_pow_2(Data.GetMTData().at(i).GetI3()) + gsl_pow_2(Data.GetMTData().at(i).GetI4()) * r*r)
00037                                                 /(1- a/(2*b) + r*r*b/2);
00038                 cout << 1./Data.GetMTData().at(i).GetFrequency() << " ";
00039                 cout << Data.GetMTData().at(i).GetKappa() << " ";
00040                 cout << walkappa << " ";
00041                 cout << Data.GetMTData().at(i).GetSigma() << " ";
00042                 cout <<walsigma<< " ";
00043                 cout << endl;
00044         }
00045         
00046 }

Generated on Mon Sep 15 12:54:34 2008 for GPLIB++ by  doxygen 1.5.5