5 #ifndef PYTHIA8_USERHOOKS_USERSETTING_H
6 #define PYTHIA8_USERHOOKS_USERSETTING_H
8 #include "Pythia8/Settings.h"
28 typename std::map<std::string, T>::const_iterator
test = UserHooksFactory::userSettings<T>().find(
m_paramName);
29 if(
test != UserHooksFactory::userSettings<T>().
end())
throw std::runtime_error(
"Duplicate user-defined setting already exists: " +
m_paramName);
30 UserHooksFactory::userSettings<T>()[
m_paramName] = defaultValue;
36 if(
m_settingsPtr == 0 && settingsPtr == 0)
throw std::runtime_error(
"settingsPtr is not yet initialised!");
61 if(m_settingsPtr->isParm(m_paramName)){
62 return m_settingsPtr->parm(m_paramName);
65 throw std::runtime_error(
"UserSetting " + m_paramName +
" does not exist!");
71 if(m_settingsPtr->isMode(m_paramName)){
72 return m_settingsPtr->mode(m_paramName);
75 throw std::runtime_error(
"UserSetting " + m_paramName +
" does not exist!");
81 if(m_settingsPtr->isFlag(m_paramName)){
82 return m_settingsPtr->flag(m_paramName);
85 throw std::runtime_error(
"UserSetting " + m_paramName +
" does not exist!");
92 if(m_settingsPtr->isWord(m_paramName)){
93 return m_settingsPtr->word(m_paramName);
96 throw std::runtime_error(
"UserSetting " + m_paramName +
" does not exist!");