CLevmarConf.cpp

Go to the documentation of this file.
00001 #include <fstream>
00002 #include <algorithm>
00003  #include <CFatalException.h>
00004 #include "CLevmarConf.h"
00005 using namespace std;
00006 void CLevmarConf::GetData(string filename)
00007 {
00008 ifstream infile;
00009 infile.open(filename.c_str());
00010 infile.peek();
00011 if (!infile)
00012   throw CFatalException("No Configurationfile found !");
00013  GetData(infile);infile.close();
00014 }
00015 
00016 void CLevmarConf::GetData(std::ifstream &instream)
00017 {
00018 CLevmarConfLexer lexer(instream);
00019 CLevmarConfParser parser(lexer);
00020 parser.configfile();
00021 maxiter= parser.maxiter;
00022 mode= parser.mode;
00023 mtfit= parser.mtfit;
00024 mtinputdata= parser.mtinputdata;
00025 recinputdata= parser.recinputdata;
00026 recmethod= parser.recmethod;
00027 rfabsveldata= parser.rfabsveldata;
00028 slowness= parser.slowness;
00029 omega= parser.omega;
00030 sigma= parser.sigma;
00031 shift= parser.shift;
00032 wlevel= parser.wlevel;
00033 poisson= parser.poisson;
00034 starttime= parser.starttime;
00035 endtime= parser.endtime;
00036 tensorerror= parser.tensorerror;
00037 phaseerror= parser.phaseerror;
00038 reserror= parser.reserror;
00039 recerror= parser.recerror;
00040 minres.assign(parser.minres.size(),0);
00041 copy(parser.minres.begin(),parser.minres.end(),minres.begin());
00042 maxres.assign(parser.maxres.size(),0);
00043 copy(parser.maxres.begin(),parser.maxres.end(),maxres.begin());
00044 startres.assign(parser.startres.size(),0);
00045 copy(parser.startres.begin(),parser.startres.end(),startres.begin());
00046 minthick.assign(parser.minthick.size(),0);
00047 copy(parser.minthick.begin(),parser.minthick.end(),minthick.begin());
00048 maxthick.assign(parser.maxthick.size(),0);
00049 copy(parser.maxthick.begin(),parser.maxthick.end(),maxthick.begin());
00050 startthick.assign(parser.startthick.size(),0);
00051 copy(parser.startthick.begin(),parser.startthick.end(),startthick.begin());
00052 minsvel.assign(parser.minsvel.size(),0);
00053 copy(parser.minsvel.begin(),parser.minsvel.end(),minsvel.begin());
00054 maxsvel.assign(parser.maxsvel.size(),0);
00055 copy(parser.maxsvel.begin(),parser.maxsvel.end(),maxsvel.begin());
00056 startsvel.assign(parser.startsvel.size(),0);
00057 copy(parser.startsvel.begin(),parser.startsvel.end(),startsvel.begin());
00058 weights.assign(parser.weights.size(),0);
00059 copy(parser.weights.begin(),parser.weights.end(),weights.begin());
00060 recweight= parser.recweight;
00061 absvelweight= parser.absvelweight;
00062 }
00063 
00064 void CLevmarConf::WriteData(string filename)
00065 {
00066 ofstream confout(filename.c_str());
00067 WriteData(confout);}
00068 
00069 void CLevmarConf::WriteData(std::ofstream &outstream)
00070 {
00071 outstream << "maxiter"  << "=" ;
00072 outstream << maxiter << endl;
00073 outstream << "mode"  << "=" ;
00074 outstream << mode << endl;
00075 outstream << "mtfit"  << "=" ;
00076 outstream << mtfit << endl;
00077 outstream << "mtinputdata"  << "=" ;
00078 outstream << mtinputdata << endl;
00079 outstream << "recinputdata"  << "=" ;
00080 outstream << recinputdata << endl;
00081 outstream << "recmethod"  << "=" ;
00082 outstream << recmethod << endl;
00083 outstream << "rfabsveldata"  << "=" ;
00084 outstream << rfabsveldata << endl;
00085 outstream << "slowness"  << "=" ;
00086 outstream << slowness << endl;
00087 outstream << "omega"  << "=" ;
00088 outstream << omega << endl;
00089 outstream << "sigma"  << "=" ;
00090 outstream << sigma << endl;
00091 outstream << "shift"  << "=" ;
00092 outstream << shift << endl;
00093 outstream << "wlevel"  << "=" ;
00094 outstream << wlevel << endl;
00095 outstream << "poisson"  << "=" ;
00096 outstream << poisson << endl;
00097 outstream << "starttime"  << "=" ;
00098 outstream << starttime << endl;
00099 outstream << "endtime"  << "=" ;
00100 outstream << endtime << endl;
00101 outstream << "tensorerror"  << "=" ;
00102 outstream << tensorerror << endl;
00103 outstream << "phaseerror"  << "=" ;
00104 outstream << phaseerror << endl;
00105 outstream << "reserror"  << "=" ;
00106 outstream << reserror << endl;
00107 outstream << "recerror"  << "=" ;
00108 outstream << recerror << endl;
00109 outstream << "minres"  << "=" ;
00110 for (size_t i = 0; i < minres.size(); ++i)
00111   outstream << minres.at(i) << " "; 
00112 outstream << endl;
00113 
00114 outstream << "maxres"  << "=" ;
00115 for (size_t i = 0; i < maxres.size(); ++i)
00116   outstream << maxres.at(i) << " "; 
00117 outstream << endl;
00118 
00119 outstream << "startres"  << "=" ;
00120 for (size_t i = 0; i < startres.size(); ++i)
00121   outstream << startres.at(i) << " "; 
00122 outstream << endl;
00123 
00124 outstream << "minthick"  << "=" ;
00125 for (size_t i = 0; i < minthick.size(); ++i)
00126   outstream << minthick.at(i) << " "; 
00127 outstream << endl;
00128 
00129 outstream << "maxthick"  << "=" ;
00130 for (size_t i = 0; i < maxthick.size(); ++i)
00131   outstream << maxthick.at(i) << " "; 
00132 outstream << endl;
00133 
00134 outstream << "startthick"  << "=" ;
00135 for (size_t i = 0; i < startthick.size(); ++i)
00136   outstream << startthick.at(i) << " "; 
00137 outstream << endl;
00138 
00139 outstream << "minsvel"  << "=" ;
00140 for (size_t i = 0; i < minsvel.size(); ++i)
00141   outstream << minsvel.at(i) << " "; 
00142 outstream << endl;
00143 
00144 outstream << "maxsvel"  << "=" ;
00145 for (size_t i = 0; i < maxsvel.size(); ++i)
00146   outstream << maxsvel.at(i) << " "; 
00147 outstream << endl;
00148 
00149 outstream << "startsvel"  << "=" ;
00150 for (size_t i = 0; i < startsvel.size(); ++i)
00151   outstream << startsvel.at(i) << " "; 
00152 outstream << endl;
00153 
00154 outstream << "weights"  << "=" ;
00155 for (size_t i = 0; i < weights.size(); ++i)
00156   outstream << weights.at(i) << " "; 
00157 outstream << endl;
00158 
00159 outstream << "recweight"  << "=" ;
00160 outstream << recweight << endl;
00161 outstream << "absvelweight"  << "=" ;
00162 outstream << absvelweight << endl;
00163 }
00164 

Generated on Fri Jul 4 15:30:20 2008 for GPLIB++ by  doxygen 1.5.5