Newer
Older
//************************************************************************//
// //
// 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/>. //
// //
//************************************************************************//
// pbarpParser class definition file. -*- C++ -*-
// Copyright 2012 Bertram Kopf
#include "pbarpUtils/pbarpParser.hh"
#include "ErrLogger/ErrLogger.hh"
#include <iterator>
#include <iostream>
#include <fstream>
using namespace std;
pbarpParser::pbarpParser(int argc,char **argv):
ParserBase(argc,argv)
,_lMax(3)
,_pbarMomentum(2.)
{
po::options_description common("Common Options");
common.add_options()
("lmax", po::value<unsigned>(&_lMax)->default_value(_lMax),"choose lmax.")
("pbarmom", po::value<float>(&_pbarMomentum)->default_value(_pbarMomentum),"antiproton momentum")
_common->add(common);
po::options_description config("Configuration file options");
config.add_options()
("spinDensity", po::value< vector<string> >(&_spinDensity), "particles for spin density matrix calculation")
("dropPbarpLForParticle", po::value< vector<string> >(&_dropPbarpLForParticle), "drop l (pbarp system) for certain particle")
;
_config->add(config);
parseCommandLine(argc, argv);
}
bool pbarpParser::parseCommandLine(int argc, char **argv)
{
ParserBase::parseCommandLine(argc, argv);
std::cout << "Antiproton momentum in lab frame\t pbarmom = " << _pbarMomentum << std::endl;
std::cout << "Maximum orbital momentum for pbarp system\t Lmax = " << _lMax <<std::endl;
std::cout << "\nspin density matrix calculation for particles" << std::endl;
for (it=_spinDensity.begin(); it!=_spinDensity.end(); ++it){
std::cout << (*it) << "\n";
}
std::cout << "\ndrop pbarp L " << std::endl;
for (it=_dropPbarpLForParticle.begin(); it!=_dropPbarpLForParticle.end(); ++it){
std::cout << (*it) << "\n";
}
std::cout << std::endl;