Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef Psi2SToKpKmPiGamParser_HH
#define Psi2SToKpKmPiGamParser_HH
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
// Boost headers go here
#include <boost/version.hpp>
#if BOOST_VERSION < 103600
#error "Error: Boost should at least have version 1.36 !"
#endif /* BOOST_VERSION */
#include <boost/program_options.hpp>
#include <boost/filesystem.hpp>
// For Microsoft-compatible compilers
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
// GenEvA headers go here
//#include <common/GCommonEnums.hpp>
//#include <common/GSerializationHelperFunctionsT.hpp>
//#include <geneva/GOptimizationEnums.hpp>
namespace po = boost::program_options;
//using namespace Gem::Geneva;
class Psi2SToKpKmPiGamParser
{
public:
typedef enum tagerrLogMode {debug,trace,routine,warning,error,alert} enErrLogMode;
public:
Psi2SToKpKmPiGamParser(int argc,char **argv)
: _configFile("./Psi2SToKpKmPiGamConfig.cfg")
, _errLogMode(debug)
, _dataFile("/data/sleipnir1/bertram/Psi2SToKpKmPiGamData/fitvectorDATA_kkpi0.dat")
, _mcFile("/data/sleipnir1/bertram/Psi2SToKpKmPiGamData/fitvectorMC_chic1_kkpi0.dat")
, _paramFile("/data/sleipnir1/bertram/Psi2SToKpKmPiGamData/startParamSpin02.dat")
, _startHypo("base")
{
if (!parseCommandLine(argc, argv)) throw false;
}
const std::string& getConfigFile() const { return _configFile;}
const enErrLogMode& getErrLogMode() const { return _errLogMode; }
const std::string dataFile() const {return _dataFile;}
const std::string mcFile() const {return _mcFile;}
const std::string fitParamFile() const {return _paramFile;}
const std::vector<std::string>& disabledHyps() const { return _disabledHyps; }
const std::string startHypo() const {return _startHypo;}
const std::string mode() const {return _mode;}
const std::vector<std::string>& fixedParams() const { return _mnParFixs; }
protected:
bool parseCommandLine(int argc,char **argv);
protected:
std::string _configFile;
enErrLogMode _errLogMode;
std::string _dataFile;
std::string _mcFile;
std::string _paramFile;
std::string _startHypo;
std::vector<std::string> _disabledHyps;
std::vector<std::string> _mnParFixs;
};
#endif /* Psi2SToKpKmPiGamParser_HH */