// AK20100820 Various functions from G4beamline v2.03 #ifndef MYBLFUNCS_HH #define MYBLFUNCS_HH #include #include #include #include #include "Rtypes.h" #include #include namespace COMET { typedef std::vector MyBLArgumentVector; typedef std::map MyBLArgumentMap; class IBLFuncs { static std::map *paramMap; static void init(); public: IBLFuncs(){ init();} int parseArgs(const std::string &line, MyBLArgumentVector &argv, MyBLArgumentMap &namedArgs); std::string getString(std::string name); void setParam(std::string name, std::string value); void setParam(std::string name, Double_t value); void setParam(std::string name, Int_t value); std::string expand(std::string str); private: enum TokenType { NONE, ARGNAME, ARGVALUE }; static std::string nextToken(const std::string& line, std::string::size_type& place, TokenType& type); }; extern IBLFuncs BLFuncs; /// the global BLFuncs object } #endif // MYBLFUNCS_HH