12 #ifndef HAMMER_HAMMERModules_HH
13 #define HAMMER_HAMMERModules_HH
72 #define ADD(ELEM, CONT, TYP) do { \
73 unique_ptr<TYP> pEntry(new ELEM{}); \
74 size_t counts = pEntry->numSignatures(); \
75 CONT.emplace(pEntry->id(), std::move(pEntry)); \
76 for(size_t i = 1; i < counts; ++i) { \
77 unique_ptr<TYP> pEntryNext(new ELEM{}); \
78 pEntryNext->setSignatureIndex(i); \
79 CONT.emplace(pEntryNext->id(), std::move(pEntryNext)); \
83 #define ADDV(ELEM, CONT, TYP) do { \
84 unique_ptr<TYP> pEntry(new ELEM{}); \
85 size_t counts = pEntry->numSignatures(); \
86 CONT[pEntry->id()].emplace_back(std::move(pEntry)); \
87 for(size_t i = 1; i < counts; ++i) { \
88 unique_ptr<TYP> pEntryNext(new ELEM{}); \
89 pEntryNext->setSignatureIndex(i); \
90 CONT[pEntryNext->id()].emplace_back(std::move(pEntryNext)); \
94 #define ADD_AMPLITUDES(CONT) do { \
95 ADD(AmplBD0starLepNu, CONT, AmplitudeBase); \
96 ADD(AmplBD1LepNu, CONT, AmplitudeBase); \
97 ADD(AmplBD1starLepNu, CONT, AmplitudeBase); \
98 ADD(AmplBD2starLepNu, CONT, AmplitudeBase); \
99 ADD(AmplBDLepNu, CONT, AmplitudeBase); \
100 ADD(AmplBDstarDGamLepNu, CONT, AmplitudeBase); \
101 ADD(AmplBDstarDPiLepNu, CONT, AmplitudeBase); \
102 ADD(AmplBDstarLepNu, CONT, AmplitudeBase); \
103 ADD(AmplLbLcLepNu, CONT, AmplitudeBase); \
104 ADD(AmplTau3PiNu, CONT, AmplitudeBase); \
105 ADD(AmplTauEllNuNu, CONT, AmplitudeBase); \
106 ADD(AmplTauPiNu, CONT, AmplitudeBase); \
109 #define ADD_FORMFACTORS(CONT) do { \
110 ADDV(FFBtoD0starBLR, CONT, FormFactorBase); \
111 ADDV(FFBtoD0starBLRVar, CONT, FormFactorBase); \
112 ADDV(FFBtoD0starISGW2, CONT, FormFactorBase); \
113 ADDV(FFBtoD0starLLSW, CONT, FormFactorBase); \
114 ADDV(FFBtoD1BLR, CONT, FormFactorBase); \
115 ADDV(FFBtoD1BLRVar, CONT, FormFactorBase); \
116 ADDV(FFBtoD1ISGW2, CONT, FormFactorBase); \
117 ADDV(FFBtoD1LLSW, CONT, FormFactorBase); \
118 ADDV(FFBtoD1starBLR, CONT, FormFactorBase); \
119 ADDV(FFBtoD1starBLRVar, CONT, FormFactorBase); \
120 ADDV(FFBtoD1starISGW2, CONT, FormFactorBase); \
121 ADDV(FFBtoD1starLLSW, CONT, FormFactorBase); \
122 ADDV(FFBtoD2starBLR, CONT, FormFactorBase); \
123 ADDV(FFBtoD2starBLRVar, CONT, FormFactorBase); \
124 ADDV(FFBtoD2starISGW2, CONT, FormFactorBase); \
125 ADDV(FFBtoD2starLLSW, CONT, FormFactorBase); \
126 ADDV(FFBtoDBGL, CONT, FormFactorBase); \
127 ADDV(FFBtoDBGLVar, CONT, FormFactorBase); \
128 ADDV(FFBtoDBLPR, CONT, FormFactorBase); \
129 ADDV(FFBtoDBLPRVar, CONT, FormFactorBase); \
130 ADDV(FFBtoDCLN, CONT, FormFactorBase); \
131 ADDV(FFBtoDISGW2, CONT, FormFactorBase); \
132 ADDV(FFBtoDstarBGL, CONT, FormFactorBase); \
133 ADDV(FFBtoDstarBGLVar, CONT, FormFactorBase); \
134 ADDV(FFBtoDstarBLPR, CONT, FormFactorBase); \
135 ADDV(FFBtoDstarBLPRVar, CONT, FormFactorBase); \
136 ADDV(FFBtoDstarCLN, CONT, FormFactorBase); \
137 ADDV(FFBtoDstarCLNVar, CONT, FormFactorBase); \
138 ADDV(FFBtoDstarISGW2, CONT, FormFactorBase); \
139 ADDV(FFLbtoLcBLRS, CONT, FormFactorBase); \
140 ADDV(FFLbtoLcBLRSVar, CONT, FormFactorBase); \
141 ADDV(FFLbtoLcPCR, CONT, FormFactorBase); \
142 ADDV(FFTauto3PiRCT, CONT, FormFactorBase); \
145 #define ADD_RATES(CONT) do { \
146 ADD(RateBD0starLepNu, CONT, RateBase); \
147 ADD(RateBD1LepNu, CONT, RateBase); \
148 ADD(RateBD1starLepNu, CONT, RateBase); \
149 ADD(RateBD2starLepNu, CONT, RateBase); \
150 ADD(RateBDLepNu, CONT, RateBase); \
151 ADD(RateBDstarLepNu, CONT, RateBase); \
152 ADD(RateLbLcLepNu, CONT, RateBase); \
153 ADD(RateTau3PiNu, CONT, RateBase); \
BLPRVar form factors with variations
BLR form factors with variations
BLR form factors with variations
BLR form factors with variations
CLN form factors with variations
BGL form factors with variations
form factors see 1203.3955 and 1310.1053
BLPRVar form factors with variations
BLR form factors with variations
BGL form factors with variations