00001 #include <iostream>
00002 #include <iomanip>
00003 #include <string>
00004 #include "message.h"
00005 #include "parametermap.h"
00006 #include "cheezyparser.h"
00007 #include "kernel_chooser.h"
00008 #include "kernel.h"
00009
00010 using namespace std;
00011
00012
00013
00014
00015
00016
00018 void getHelp(void){
00019 cout<<"Simple code to pregenerate the kernel, expanded in Legendre polynomials, \n";
00020 cout<<"For use in Harmonic expansions of the sources and correlations.\n";
00021 cout<<"\nUsage: shark <option> [inputFile.dat]"<<endl;
00022 cout<<" options -h, -help, --help all print this message, then quit"<<endl;
00023 exit(0);
00024 }
00025
00026
00027 int main(int argc, char* argv[]){
00028
00029 cout << "*** Simple HARmonic Kernels (SHARK) using CorAL ***"<<endl;
00030 cout << endl;
00031
00032 bool got_file = false;
00033
00034 MESSAGE << CMessage::warning;
00035
00036
00037 if (argc==1) getHelp();
00038 string paramFile("");
00039 vector<string> modeList;
00040 for (int iarg = 1; iarg<argc; ++iarg){
00041 string sarg(argv[iarg]);
00042 if (sarg=="-help") getHelp();
00043 if (sarg=="--help") getHelp();
00044 if (sarg=="-h") getHelp();
00045 if (sarg.substr(0,1)=="-") modeList.push_back(sarg);
00046 else {
00047 paramFile = sarg;
00048 got_file = true;
00049 }
00050 }
00051
00052
00053 if (!got_file) {
00054 MESSAGE<<"No inputFile parameter file given!!"<<ENDM_WARN;
00055 getHelp();
00056 }
00057 parameterMap inMap;
00058 parameter::ReadParsFromFile(inMap, paramFile);
00059
00060 string kernel_particle1 = parameter::getS(inMap,"kernel_particle1","");
00061 string kernel_particle2 = parameter::getS(inMap,"kernel_particle2","");
00062 if ( inMap.hasKey("read_cache") ) MESSAGE << paramFile << " has read_cache key, I'm setting it to false"<<ENDM_WARN;
00063 parameter::set( inMap, "read_cache", false );
00064 if ( inMap.hasKey("use_cache") ) MESSAGE << paramFile << " has use_cache key, I'm setting it to true"<<ENDM_WARN;
00065 parameter::set( inMap, "use_cache", true );
00066 parameter::set( inMap, "param_filename", paramFile );
00067
00068
00069 cout << "Kernel generation settings:"<<inMap <<endl<<endl;
00070
00071 chooseKernel( kernel_particle1, kernel_particle2, inMap );
00072
00073 return true;
00074 }
00075