Line data Source code
1 : //--------------------------------------------------------------------------
2 : //
3 : // Environment:
4 : // This software is part of the EvtGen package developed jointly
5 : // for the BaBar and CLEO collaborations. If you use all or part
6 : // of it, please give an appropriate acknowledgement.
7 : //
8 : // Copyright Information: See EvtGen/COPYRIGHT
9 : // Copyright (C) 1998 Caltech, UCSB
10 : //
11 : // Module: EvtModel.cc
12 : //
13 : // Description:
14 : //
15 : // Modification history:
16 : //
17 : // RYD September 25, 1996 Module created
18 : //
19 : //------------------------------------------------------------------------
20 : //
21 : #include "EvtGenBase/EvtPatches.hh"
22 : #include <iostream>
23 : #include <iomanip>
24 : #include <fstream>
25 : #include <ctype.h>
26 : #include <stdlib.h>
27 : #include <assert.h>
28 : #include "EvtGenBase/EvtModel.hh"
29 :
30 : #include "EvtGenModels/EvtTauVectornu.hh"
31 : #include "EvtGenModels/EvtVVP.hh"
32 : #include "EvtGenModels/EvtSLN.hh"
33 : #include "EvtGenModels/EvtISGW2.hh"
34 : #include "EvtGenModels/EvtMelikhov.hh"
35 : #include "EvtGenModels/EvtSLPole.hh"
36 : #include "EvtGenModels/EvtPropSLPole.hh"
37 : #include "EvtGenModels/EvtSLBKPole.hh"
38 : #include "EvtGenModels/EvtISGW.hh"
39 : #include "EvtGenModels/EvtBHadronic.hh"
40 : #include "EvtGenModels/EvtVSS.hh"
41 : #include "EvtGenModels/EvtVSSMix.hh"
42 : #include "EvtGenModels/EvtVSSBMixCPT.hh"
43 : #include "EvtGenModels/EvtVSPPwave.hh"
44 : #include "EvtGenModels/EvtGoityRoberts.hh"
45 : #include "EvtGenModels/EvtSVS.hh"
46 : #include "EvtGenModels/EvtTSS.hh"
47 : #include "EvtGenModels/EvtTVSPwave.hh"
48 : #include "EvtGenModels/EvtSVVHelAmp.hh"
49 : #include "EvtGenModels/EvtSVPHelAmp.hh"
50 : #include "EvtGenModels/EvtSVPCP.hh"
51 : #include "EvtGenModels/EvtVVSPwave.hh"
52 : #include "EvtGenModels/EvtDDalitz.hh"
53 : #include "EvtGenModels/EvtOmegaDalitz.hh"
54 : #include "EvtGenModels/EvtPi0Dalitz.hh"
55 : #include "EvtGenModels/EvtEtaDalitz.hh"
56 : #include "EvtGenModels/EvtPhsp.hh"
57 : #include "EvtGenModels/EvtBtoXsgamma.hh"
58 : #include "EvtGenModels/EvtBtoXsll.hh"
59 : #include "EvtGenModels/EvtBtoXsEtap.hh"
60 : #include "EvtGenModels/EvtSSSCP.hh"
61 : #include "EvtGenModels/EvtSSSCPpng.hh"
62 : #include "EvtGenModels/EvtSTSCP.hh"
63 : #include "EvtGenModels/EvtSTS.hh"
64 : #include "EvtGenModels/EvtSSSCPT.hh"
65 : #include "EvtGenModels/EvtSVSCP.hh"
66 : #include "EvtGenModels/EvtSSDCP.hh"
67 : #include "EvtGenModels/EvtSVSNONCPEIGEN.hh"
68 : #include "EvtGenModels/EvtSVVNONCPEIGEN.hh"
69 : #include "EvtGenModels/EvtSVVCP.hh"
70 : #include "EvtGenModels/EvtSVVCPLH.hh"
71 : #include "EvtGenModels/EvtSVSCPLH.hh"
72 : #include "EvtGenModels/EvtSll.hh"
73 : #include "EvtGenModels/EvtVll.hh"
74 : #include "EvtGenModels/EvtTaulnunu.hh"
75 : #include "EvtGenModels/EvtTauHadnu.hh"
76 : #include "EvtGenModels/EvtTauScalarnu.hh"
77 : #include "EvtGenModels/EvtKstarnunu.hh"
78 : #include "EvtGenModels/EvtbTosllBall.hh"
79 : #include "EvtGenModels/EvtSingleParticle.hh"
80 : #include "EvtGenModels/EvtVectorIsr.hh"
81 : #include "EvtGenModels/EvtBToPlnuBK.hh"
82 : #include "EvtGenModels/EvtBToVlnuBall.hh"
83 :
84 : #include "EvtGenModels/EvtSVVHelCPMix.hh"
85 : #include "EvtGenModels/EvtLb2Lll.hh"
86 : #include "EvtGenModels/EvtHypNonLepton.hh"
87 :
88 : #include "EvtGenModels/EvtbTosllAli.hh"
89 : #include "EvtGenModels/EvtBToDDalitzCPK.hh"
90 : #include "EvtGenModels/EvtPVVCPLH.hh"
91 : #include "EvtGenModels/EvtLambdaB2LambdaV.hh"
92 : #include "EvtGenModels/EvtSSD_DirectCP.hh"
93 :
94 : #include "EvtGenModels/EvtHQET.hh"
95 : #include "EvtGenModels/EvtHQET2.hh"
96 : #include "EvtGenBase/EvtParticle.hh"
97 : #include "EvtGenBase/EvtPDL.hh"
98 : #include "EvtGenModels/EvtHelAmp.hh"
99 : #include "EvtGenModels/EvtPartWave.hh"
100 :
101 : #include "EvtGenModels/EvtBto2piCPiso.hh"
102 : #include "EvtGenModels/EvtBtoKpiCPiso.hh"
103 : #include "EvtGenModels/EvtSVSCPiso.hh"
104 : #include "EvtGenModels/EvtVVpipi.hh"
105 : #include "EvtGenModels/EvtY3SToY1SpipiMoxhay.hh"
106 : #include "EvtGenModels/EvtYmSToYnSpipiCLEO.hh"
107 : #include "EvtGenModels/EvtVVPIPI_WEIGHTED.hh"
108 : #include "EvtGenModels/EvtVPHOtoVISRHi.hh"
109 :
110 : #include "EvtGenModels/EvtBTo4piCP.hh"
111 : #include "EvtGenModels/EvtBTo3piCP.hh"
112 : #include "EvtGenModels/EvtCBTo3piP00.hh"
113 : #include "EvtGenModels/EvtCBTo3piMPP.hh"
114 : #include "EvtGenModels/EvtBToKpipiCP.hh"
115 : #include "EvtGenModels/EvtBsquark.hh"
116 : #include "EvtGenModels/EvtPhiDalitz.hh"
117 :
118 : #include "EvtGenModels/EvtLNuGamma.hh"
119 :
120 : #include "EvtGenModels/EvtVub.hh"
121 : #include "EvtGenModels/EvtVubHybrid.hh"
122 : #include "EvtGenModels/EvtVubNLO.hh"
123 : #include "EvtGenModels/EvtVubBLNP.hh"
124 : #include "EvtGenModels/EvtVubBLNPHybrid.hh"
125 :
126 : #include "EvtGenModels/EvtPto3P.hh"
127 : #include "EvtGenModels/EvtBtoKD3P.hh"
128 : #include "EvtGenModels/EvtKstarstargamma.hh"
129 : #include "EvtGenModels/EvtFlatQ2.hh"
130 : #include "EvtGenModels/EvtLambdaP_BarGamma.hh"
131 : #include "EvtGenModels/EvtBBScalar.hh"
132 : #include "EvtGenModels/EvtKKLambdaC.hh"
133 : #include "EvtGenModels/EvtMultibody.hh"
134 :
135 : #include "EvtGenModels/EvtBaryonPCR.hh"
136 :
137 : #include "EvtGenModels/EvtDMix.hh"
138 : #include "EvtGenModels/EvtD0mixDalitz.hh"
139 : #include "EvtGenModels/EvtD0gammaDalitz.hh"
140 : #include "EvtGenModels/EvtEta2MuMuGamma.hh"
141 :
142 : #include "EvtGenModels/EvtBcToNPi.hh"
143 : #include "EvtGenModels/EvtBcPsiNPi.hh"
144 : #include "EvtGenModels/EvtBcBsNPi.hh"
145 : #include "EvtGenModels/EvtBcBsStarNPi.hh"
146 :
147 : #include "EvtGenModels/EvtBcVMuNu.hh"
148 : #include "EvtGenModels/EvtBcVNpi.hh"
149 : #include "EvtGenModels/EvtSVP.hh"
150 : #include "EvtGenModels/EvtTVP.hh"
151 : #include "EvtGenModels/EvtXPsiGamma.hh"
152 :
153 : #include "EvtGenModels/EvtGenericDalitz.hh"
154 :
155 : #include "EvtGenModels/EvtModelReg.hh"
156 : using std::fstream;
157 : using std::cout;
158 : using std::endl;
159 :
160 : EvtModelReg::EvtModelReg(const std::list<EvtDecayBase*>* extraModels)
161 0 : {
162 :
163 0 : EvtModel &modelist=EvtModel::instance();
164 :
165 0 : if(extraModels){
166 0 : for(std::list<EvtDecayBase*>::const_iterator it = extraModels->begin();
167 0 : it != extraModels->end(); ++it){
168 0 : modelist.registerModel(*it);
169 : }
170 0 : }
171 :
172 0 : modelist.registerModel(new EvtBBScalar);
173 0 : modelist.registerModel(new EvtLambdaP_BarGamma);
174 0 : modelist.registerModel(new EvtFlatQ2);
175 0 : modelist.registerModel(new EvtTauHadnu);
176 0 : modelist.registerModel(new EvtTauVectornu);
177 0 : modelist.registerModel(new EvtVVP);
178 0 : modelist.registerModel(new EvtSLN);
179 0 : modelist.registerModel(new EvtISGW2);
180 0 : modelist.registerModel(new EvtMelikhov);
181 0 : modelist.registerModel(new EvtSLPole);
182 0 : modelist.registerModel(new EvtPropSLPole);
183 0 : modelist.registerModel(new EvtSLBKPole);
184 0 : modelist.registerModel(new EvtHQET);
185 0 : modelist.registerModel(new EvtHQET2);
186 0 : modelist.registerModel(new EvtISGW);
187 0 : modelist.registerModel(new EvtBHadronic);
188 0 : modelist.registerModel(new EvtVSS);
189 0 : modelist.registerModel(new EvtVSSMix);
190 0 : modelist.registerModel(new EvtVSSBMixCPT);
191 0 : modelist.registerModel(new EvtVSPPwave);
192 0 : modelist.registerModel(new EvtGoityRoberts);
193 0 : modelist.registerModel(new EvtSVS);
194 0 : modelist.registerModel(new EvtTSS);
195 0 : modelist.registerModel(new EvtTVSPwave);
196 0 : modelist.registerModel(new EvtSVVHelAmp);
197 0 : modelist.registerModel(new EvtSVPHelAmp);
198 0 : modelist.registerModel(new EvtSVPCP);
199 0 : modelist.registerModel(new EvtVVSPwave);
200 0 : modelist.registerModel(new EvtDDalitz);
201 0 : modelist.registerModel(new EvtOmegaDalitz);
202 0 : modelist.registerModel(new EvtEtaDalitz);
203 0 : modelist.registerModel(new EvtPhsp);
204 0 : modelist.registerModel(new EvtBtoXsgamma);
205 0 : modelist.registerModel(new EvtBtoXsll);
206 0 : modelist.registerModel(new EvtBtoXsEtap);
207 0 : modelist.registerModel(new EvtSSSCP);
208 0 : modelist.registerModel(new EvtSSSCPpng);
209 0 : modelist.registerModel(new EvtSTSCP);
210 0 : modelist.registerModel(new EvtSTS);
211 0 : modelist.registerModel(new EvtSSSCPT);
212 0 : modelist.registerModel(new EvtSVSCP);
213 0 : modelist.registerModel(new EvtSSDCP);
214 0 : modelist.registerModel(new EvtSVSNONCPEIGEN);
215 0 : modelist.registerModel(new EvtSVVNONCPEIGEN);
216 0 : modelist.registerModel(new EvtSVVCP);
217 0 : modelist.registerModel(new EvtSVVCPLH);
218 0 : modelist.registerModel(new EvtSVSCPLH);
219 0 : modelist.registerModel(new EvtSll);
220 0 : modelist.registerModel(new EvtVll);
221 0 : modelist.registerModel(new EvtTaulnunu);
222 0 : modelist.registerModel(new EvtTauScalarnu);
223 0 : modelist.registerModel(new EvtKstarnunu);
224 0 : modelist.registerModel(new EvtbTosllBall);
225 0 : modelist.registerModel(new EvtBto2piCPiso);
226 0 : modelist.registerModel(new EvtBtoKpiCPiso);
227 0 : modelist.registerModel(new EvtSVSCPiso);
228 0 : modelist.registerModel(new EvtSingleParticle);
229 0 : modelist.registerModel(new EvtVectorIsr);
230 0 : modelist.registerModel(new EvtPi0Dalitz);
231 0 : modelist.registerModel(new EvtHelAmp);
232 0 : modelist.registerModel(new EvtPartWave);
233 0 : modelist.registerModel(new EvtVVpipi);
234 0 : modelist.registerModel(new EvtY3SToY1SpipiMoxhay);
235 0 : modelist.registerModel(new EvtYmSToYnSpipiCLEO);
236 0 : modelist.registerModel(new EvtBsquark);
237 0 : modelist.registerModel(new EvtPhiDalitz);
238 0 : modelist.registerModel(new EvtBToPlnuBK);
239 0 : modelist.registerModel(new EvtBToVlnuBall);
240 0 : modelist.registerModel(new EvtVVPIPI_WEIGHTED);
241 0 : modelist.registerModel(new EvtVPHOtoVISRHi);
242 :
243 0 : modelist.registerModel(new EvtBTo4piCP);
244 0 : modelist.registerModel(new EvtBTo3piCP);
245 0 : modelist.registerModel(new EvtCBTo3piP00);
246 0 : modelist.registerModel(new EvtCBTo3piMPP);
247 0 : modelist.registerModel(new EvtBToKpipiCP);
248 :
249 0 : modelist.registerModel(new EvtLb2Lll);
250 0 : modelist.registerModel(new EvtHypNonLepton);
251 0 : modelist.registerModel(new EvtSVVHelCPMix);
252 :
253 0 : modelist.registerModel(new EvtLNuGamma);
254 0 : modelist.registerModel(new EvtKstarstargamma);
255 :
256 0 : modelist.registerModel(new EvtVub);
257 :
258 0 : modelist.registerModel(new EvtVubHybrid);
259 0 : modelist.registerModel(new EvtVubNLO);
260 0 : modelist.registerModel(new EvtVubBLNP);
261 0 : modelist.registerModel(new EvtVubBLNPHybrid);
262 :
263 0 : modelist.registerModel(new EvtPto3P);
264 0 : modelist.registerModel(new EvtBtoKD3P);
265 0 : modelist.registerModel(new EvtKKLambdaC);
266 0 : modelist.registerModel(new EvtMultibody);
267 0 : modelist.registerModel(new EvtDMix);
268 0 : modelist.registerModel(new EvtD0mixDalitz);
269 0 : modelist.registerModel(new EvtD0gammaDalitz);
270 0 : modelist.registerModel(new EvtEta2MuMuGamma);
271 :
272 0 : modelist.registerModel(new EvtbTosllAli);
273 0 : modelist.registerModel(new EvtBaryonPCR);
274 :
275 0 : modelist.registerModel(new EvtBToDDalitzCPK);
276 0 : modelist.registerModel(new EvtLambdaB2LambdaV);
277 0 : modelist.registerModel(new EvtLambda2PPiForLambdaB2LambdaV);
278 0 : modelist.registerModel(new EvtV2VpVmForLambdaB2LambdaV);
279 0 : modelist.registerModel(new EvtPVVCPLH);
280 0 : modelist.registerModel(new EvtSSD_DirectCP);
281 :
282 0 : modelist.registerModel(new EvtBcToNPi(true)); // true = print author info
283 0 : modelist.registerModel(new EvtBcPsiNPi);
284 0 : modelist.registerModel(new EvtBcBsNPi);
285 0 : modelist.registerModel(new EvtBcBsStarNPi);
286 :
287 0 : modelist.registerModel(new EvtBcVMuNu);
288 0 : modelist.registerModel(new EvtBcVNpi);
289 0 : modelist.registerModel(new EvtSVP);
290 0 : modelist.registerModel(new EvtTVP);
291 0 : modelist.registerModel(new EvtXPsiGamma);
292 :
293 0 : modelist.registerModel(new EvtGenericDalitz());
294 :
295 0 : }
|