34 #include <boost/bind.hpp>
38 modelFactory[
"StandardModel"] = boost::factory<StandardModel*>();
40 modelFactory[
"NPSTUZbbbarLR"] = boost::factory<NPSTUZbbbarLR*>();
41 modelFactory[
"NPEpsilons"] = boost::factory<NPEpsilons*>();
42 modelFactory[
"NPEpsilons_pureNP"] = boost::factory<NPEpsilons_pureNP*>();
43 modelFactory[
"NPZbbbar"] = boost::bind(boost::factory<NPZbbbar*>(),
false);
44 modelFactory[
"NPZbbbarLR"] = boost::bind(boost::factory<NPZbbbar*>(),
true);
45 modelFactory[
"NPZbbbarLinearized"] = boost::bind(boost::factory<NPZbbbarLinearized*>(),
false);
46 modelFactory[
"NPZbbbarLinearizedLR"] = boost::bind(boost::factory<NPZbbbarLinearized*>(),
true);
47 modelFactory[
"NPSMEFTd6"] = boost::bind(boost::factory<NPSMEFTd6*>(),
false,
false);
48 modelFactory[
"NPSMEFT6dtopquark"] = boost::factory<NPSMEFT6dtopquark*>();
49 modelFactory[
"NPSMEFTd6_LFU_QFU"] = boost::bind(boost::factory<NPSMEFTd6*>(),
true,
true);
50 modelFactory[
"HiggsKvKf"] = boost::factory<HiggsKvKf*>();
51 modelFactory[
"HiggsKvKfgen"] = boost::factory<HiggsKvKfgen*>();
52 modelFactory[
"HiggsKvgenKfgen"] = boost::factory<HiggsKvgenKfgen*>();
53 modelFactory[
"HiggsKigen"] = boost::factory<HiggsKigen*>();
54 modelFactory[
"HiggsChiral"] = boost::factory<HiggsChiral*>();
57 modelFactory[
"FlavourWilsonCoefficient"] = boost::factory<FlavourWilsonCoefficient*>();
58 modelFactory[
"FlavourWilsonCoefficient_DF2"] = boost::factory<FlavourWilsonCoefficient_DF2*>();
59 modelFactory[
"RealWeakEFTLFV"] = boost::factory<RealWeakEFTLFV*>();
60 modelFactory[
"RealWeakEFTCC"] = boost::bind(boost::factory<RealWeakEFTCC*>(), 0);
61 modelFactory[
"RealWeakEFTCCPM"] = boost::bind(boost::factory<RealWeakEFTCC*>(), 1);
63 modelFactory[
"GeorgiMachacek"] = boost::factory<GeorgiMachacek*>();
64 modelFactory[
"GeneralSUSY"] = boost::factory<GeneralSUSY*>();
65 modelFactory[
"GeneralTHDM"] = boost::factory<GeneralTHDM*>();
77 throw std::runtime_error(
"ERROR: Wrong model " + name +
" passed to ModelFactory.\n");