Something went wrong on our end
-
Bertram Kopf authored07260d2e
gammapStatesApp.cc 3.41 KiB
//************************************************************************//
// //
// Copyright 2013 Bertram Kopf (bertram@ep1.rub.de) //
// Julian Pychy (julian@ep1.rub.de) //
// - Ruhr-Universität Bochum //
// //
// This file is part of Pawian. //
// //
// Pawian is free software: you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation, either version 3 of the License, or //
// (at your option) any later version. //
// //
// Pawian is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with Pawian. If not, see <http://www.gnu.org/licenses/>. //
// //
//************************************************************************//
#include <iostream>
#include <cstring>
#include <string>
#include <sstream>
#include <vector>
#include "ErrLogger/ErrLogger.hh"
#include "PwaUtils/AbsStates.hh"
#include "gammapUtils/gammapStates.hh"
#include "PwaUtils/DataUtils.hh"
int main(int __argc,char *__argv[]){
if( __argc>1 && ( strcmp( __argv[1], "-help" ) == 0
|| strcmp( __argv[1], "--help" ) == 0 ) ){
std::cout << "test application which calculates all initial gamma p states\n"
<< "output: JPC states with contributed LS combinations + helicicty + corresponding Clebsch-Gordan coefficient\n"
<< "The application can be started with two flags: \n"
<< "with -msg <errorLogMode>: choose the mode for the error logger \n"
<< "with -lmax <value>: choose the maximum Spin J \n"
<< "e.g. type: ./gammapStatesApp -lmax 6 -msg debugging \n"
<< std::endl;
return 0;
}
int optind=1;
std::string msgModeStr="default";
std::string lmaxStr="0";
// decode arguments
while ((optind < (__argc-1) ) && (__argv[optind][0]=='-')) {
bool found=false;
std::string sw = __argv[optind];
if (sw=="-msg"){
optind++;
msgModeStr = __argv[optind];
found=true;
}
if(sw=="-lmax"){
optind++;
lmaxStr = __argv[optind];
found=true;
}
if (!found){
Warning << "Unknown switch: "
<< __argv[optind] << endmsg;
optind++;
}
while ( (optind < __argc ) && __argv[optind][0]!='-' ) optind++;
}
if(msgModeStr == "debugging") ErrLogger::instance()->setLevel(log4cpp::Priority::DEBUG);
else if(msgModeStr == "trace") ErrLogger::instance()->setLevel(log4cpp::Priority::INFO);
else if(msgModeStr == "routine") ErrLogger::instance()->setLevel(log4cpp::Priority::INFO);
else if(msgModeStr == "warning") ErrLogger::instance()->setLevel(log4cpp::Priority::WARN);
else if(msgModeStr == "error") ErrLogger::instance()->setLevel(log4cpp::Priority::ERROR);
else {
ErrLogger::instance()->setLevel(log4cpp::Priority::INFO);
Warning << "ErrorLogger not (properly) set -> Use mode 'WARN' " << endmsg;
}
std::stringstream lmaxStrStr(lmaxStr);
int lmax=0;
lmaxStrStr >> lmax;
Info << "lmax: " << lmax << endmsg;
gammapStates thegammapState(lmax);
thegammapState.print(std::cout);
return 0;
}