18 void BookVariation(
const TString &name,
const TString &systname, T *var);
20 T
Get(
const TString &name);
65 if (findresult->second.VarMap.find(systname) == findresult->second.VarMap.end())
67 SystListMap.find(name)->second.emplace_back(systname);
68 findresult->second.VarMap.emplace(std::pair<TString, std::any>(systname, std::any(var)));
73 MSGUser()->StartTitle(
"SystTool::BookVariation");
74 MSGUser()->MSG(
MSGLevel::WARNING,
"Variable ", name,
" already has variation ", systname,
", this call will be ignored");
82 tempVarWithSyst.
VarMap.emplace(std::pair<TString, std::any>(systname, std::any(var)));
84 VarMapFull.emplace(std::pair<TString, VarWithSyst>(name, tempVarWithSyst));
85 SystListMap.emplace(std::pair<TString, std::vector<TString>>(name, std::vector<TString>{systname}));
89 if (systname ==
"Nominal")
91 VarMapFull.find(name)->second.NominalVar = std::any(var);
93 std::swap(listfindresult->second[0], listfindresult->second.back());
99 CorrMap.insert(std::pair<TString, double>(systname, 0));
107 template <
typename T>
115 auto par = *(std::any_cast<T *>(findresult->second.CurrentVar));
118 catch (
const std::bad_any_cast &e)
120 MSGUser()->StartTitle(
"SystTool::Get");
128 MSGUser()->StartTitle(
"SystTool::Get");