evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtModelReg.cpp
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
22 
23 #include "EvtGenBase/EvtModel.hh"
24 #include "EvtGenBase/EvtPDL.hh"
26 #include "EvtGenBase/EvtPatches.hh"
27 
61 #include "EvtGenModels/EvtDMix.hh"
69 #include "EvtGenModels/EvtHQET.hh"
70 #include "EvtGenModels/EvtHQET2.hh"
73 #include "EvtGenModels/EvtISGW.hh"
74 #include "EvtGenModels/EvtISGW2.hh"
93 #include "EvtGenModels/EvtPhsp.hh"
99 #include "EvtGenModels/EvtPto3P.hh"
102 #include "EvtGenModels/EvtSLN.hh"
103 #include "EvtGenModels/EvtSLPole.hh"
104 #include "EvtGenModels/EvtSSDCP.hh"
106 #include "EvtGenModels/EvtSSSCP.hh"
107 #include "EvtGenModels/EvtSSSCPT.hh"
109 #include "EvtGenModels/EvtSTS.hh"
110 #include "EvtGenModels/EvtSTSCP.hh"
111 #include "EvtGenModels/EvtSVP.hh"
112 #include "EvtGenModels/EvtSVPCP.hh"
115 #include "EvtGenModels/EvtSVS.hh"
116 #include "EvtGenModels/EvtSVSCP.hh"
120 #include "EvtGenModels/EvtSVVCP.hh"
126 #include "EvtGenModels/EvtSll.hh"
127 #include "EvtGenModels/EvtTSS.hh"
128 #include "EvtGenModels/EvtTVP.hh"
136 #include "EvtGenModels/EvtVSS.hh"
138 #include "EvtGenModels/EvtVSSMix.hh"
139 #include "EvtGenModels/EvtVVP.hh"
142 #include "EvtGenModels/EvtVVpipi.hh"
144 #include "EvtGenModels/EvtVll.hh"
145 #include "EvtGenModels/EvtVtoSll.hh"
146 #include "EvtGenModels/EvtVub.hh"
150 #include "EvtGenModels/EvtVubNLO.hh"
165 
166 #include <assert.h>
167 #include <ctype.h>
168 #include <fstream>
169 #include <iomanip>
170 #include <iostream>
171 #include <stdlib.h>
172 
173 using std::cout;
174 using std::endl;
175 using std::fstream;
176 
177 EvtModelReg::EvtModelReg( const std::list<EvtDecayBase*>* extraModels )
178 {
179  EvtModel& modelist = EvtModel::instance();
180 
181  if ( extraModels ) {
182  for ( std::list<EvtDecayBase*>::const_iterator it = extraModels->begin();
183  it != extraModels->end(); ++it ) {
184  modelist.registerModel( *it );
185  }
186  }
187 
188  modelist.registerModel( new EvtBBScalar );
189  modelist.registerModel( new EvtLambdaP_BarGamma );
190  modelist.registerModel( new EvtFlatQ2 );
191  modelist.registerModel( new EvtTauHadnu );
192  modelist.registerModel( new EvtTauVectornu );
193  modelist.registerModel( new EvtVVP );
194  modelist.registerModel( new EvtSLN );
195  modelist.registerModel( new EvtISGW2 );
196  modelist.registerModel( new EvtMelikhov );
197  modelist.registerModel( new EvtSLPole );
198  modelist.registerModel( new EvtPropSLPole );
199  modelist.registerModel( new EvtSLBKPole );
200  modelist.registerModel( new EvtHQET );
201  modelist.registerModel( new EvtHQET2 );
202  modelist.registerModel( new EvtISGW );
203  modelist.registerModel( new EvtBHadronic );
204  modelist.registerModel( new EvtVSS );
205  modelist.registerModel( new EvtVSSMix );
206  modelist.registerModel( new EvtVSSBMixCPT );
207  modelist.registerModel( new EvtVSPPwave );
208  modelist.registerModel( new EvtGoityRoberts );
209  modelist.registerModel( new EvtSVS );
210  modelist.registerModel( new EvtTSS );
211  modelist.registerModel( new EvtTVSPwave );
212  modelist.registerModel( new EvtSVVHelAmp );
213  modelist.registerModel( new EvtSVPHelAmp );
214  modelist.registerModel( new EvtSVPCP );
215  modelist.registerModel( new EvtVVSPwave );
216  modelist.registerModel( new EvtDDalitz );
217  modelist.registerModel( new EvtOmegaDalitz );
218  modelist.registerModel( new EvtEtaDalitz );
219  modelist.registerModel( new EvtPhsp );
220  modelist.registerModel( new EvtPhspDecaytimeCut );
221  modelist.registerModel( new EvtBtoXsgamma );
222  modelist.registerModel( new EvtBtoXsll );
223  modelist.registerModel( new EvtBtoXsEtap );
224  modelist.registerModel( new EvtSSSCP );
225  modelist.registerModel( new EvtSSSCPpng );
226  modelist.registerModel( new EvtSTSCP );
227  modelist.registerModel( new EvtSTS );
228  modelist.registerModel( new EvtSSSCPT );
229  modelist.registerModel( new EvtSVSCP );
230  modelist.registerModel( new EvtSSDCP );
231  modelist.registerModel( new EvtSVSNONCPEIGEN );
232  modelist.registerModel( new EvtSVVNONCPEIGEN );
233  modelist.registerModel( new EvtSVVCP );
234  modelist.registerModel( new EvtSVVCPLH );
235  modelist.registerModel( new EvtSVSCPLH );
236  modelist.registerModel( new EvtSll );
237  modelist.registerModel( new EvtVll );
238  modelist.registerModel( new EvtTaulnunu );
239  modelist.registerModel( new EvtTauScalarnu );
240  modelist.registerModel( new EvtKstarnunu );
241  modelist.registerModel( new EvtbTosllBall );
242  modelist.registerModel( new EvtBto2piCPiso );
243  modelist.registerModel( new EvtBtoKpiCPiso );
244  modelist.registerModel( new EvtSVSCPiso );
245  modelist.registerModel( new EvtSingleParticle );
246  modelist.registerModel( new EvtVectorIsr );
247  modelist.registerModel( new EvtPi0Dalitz );
248  modelist.registerModel( new EvtHelAmp );
249  modelist.registerModel( new EvtPartWave );
250  modelist.registerModel( new EvtVVpipi );
251  modelist.registerModel( new EvtY3SToY1SpipiMoxhay );
252  modelist.registerModel( new EvtYmSToYnSpipiCLEO );
253  modelist.registerModel( new EvtBsquark );
254  modelist.registerModel( new EvtPhiDalitz );
255  modelist.registerModel( new EvtBToPlnuBK );
256  modelist.registerModel( new EvtBToVlnuBall );
257  modelist.registerModel( new EvtVVPIPI_WEIGHTED );
258  modelist.registerModel( new EvtVPHOtoVISRHi );
259 
260  modelist.registerModel( new EvtBTo4piCP );
261  modelist.registerModel( new EvtBTo3piCP );
262  modelist.registerModel( new EvtCBTo3piP00 );
263  modelist.registerModel( new EvtCBTo3piMPP );
264  modelist.registerModel( new EvtBToKpipiCP );
265 
266  modelist.registerModel( new EvtLb2Lll );
267  modelist.registerModel( new EvtRareLbToLll );
268  modelist.registerModel( new EvtHypNonLepton );
269  modelist.registerModel( new EvtSVVHelCPMix );
270  modelist.registerModel( new EvtSVPHelCPMix );
271 
272  modelist.registerModel( new EvtLNuGamma );
273  modelist.registerModel( new EvtKstarstargamma );
274 
275  modelist.registerModel( new EvtVub );
276 
277  modelist.registerModel( new EvtVubHybrid );
278  modelist.registerModel( new EvtVubNLO );
279  modelist.registerModel( new EvtVubBLNP );
280  modelist.registerModel( new EvtVubBLNPHybrid );
281 
282  modelist.registerModel( new EvtPto3P );
283  modelist.registerModel( new EvtBtoKD3P );
284  modelist.registerModel( new EvtKKLambdaC );
285  modelist.registerModel( new EvtMultibody );
286  modelist.registerModel( new EvtDMix );
287  modelist.registerModel( new EvtD0mixDalitz );
288  modelist.registerModel( new EvtD0gammaDalitz );
289  modelist.registerModel( new EvtEta2MuMuGamma );
290 
291  modelist.registerModel( new EvtbTosllAli );
292  modelist.registerModel( new EvtBaryonPCR );
293 
294  modelist.registerModel( new EvtBToDDalitzCPK );
295  modelist.registerModel( new EvtLambdaB2LambdaV );
298  modelist.registerModel( new EvtPVVCPLH );
299  modelist.registerModel( new EvtSSD_DirectCP );
300 
301  modelist.registerModel( new EvtBcToNPi( true ) ); // true = print author info
302  modelist.registerModel( new EvtBcPsiNPi );
303  modelist.registerModel( new EvtBcBsNPi );
304  modelist.registerModel( new EvtBcBsStarNPi );
305 
306  modelist.registerModel( new EvtBcSMuNu );
307  modelist.registerModel( new EvtBcVMuNu );
308  modelist.registerModel( new EvtBcTMuNu );
309  modelist.registerModel( new EvtBcVNpi );
310  modelist.registerModel( new EvtSVP );
311  modelist.registerModel( new EvtTVP );
312  modelist.registerModel( new EvtXPsiGamma );
313 
314  modelist.registerModel( new EvtbsToLLLL );
315  modelist.registerModel( new EvtbsToLLLLHyperCP );
316  modelist.registerModel( new EvtBLLNuL );
317 
318  modelist.registerModel( new EvtKStopizmumu );
319  modelist.registerModel( new EvtVtoSll );
320 
321  modelist.registerModel( new EvtBsMuMuKK );
322  modelist.registerModel( new EvtGenericDalitz() );
323 
324  modelist.registerModel( new EvtBcVHad );
325 
326  modelist.registerModel( new Evtbs2llGammaMNT );
327  modelist.registerModel( new Evtbs2llGammaISRFSR );
328  modelist.registerModel( new EvtbTosllMS );
329  modelist.registerModel( new EvtbTosllMSExt );
330 
331  modelist.registerModel( new EvtLb2plnuLQCD );
332  modelist.registerModel( new EvtLb2plnuLCSR );
333  modelist.registerModel( new EvtLb2Baryonlnu );
334 
335  modelist.registerModel( new EvtBToDiBaryonlnupQCD );
336 
337  modelist.registerModel( new EvtFlatSqDalitz );
338  modelist.registerModel( new EvtPhspFlatLifetime );
339 
340  modelist.registerModel( new EvtLambdacPHH );
341 
342  modelist.registerModel( new EvtDToKpienu );
343  modelist.registerModel( new EvtPsi2JpsiPiPi );
344 
345  modelist.registerModel( new EvtThreeBodyPhsp );
346  modelist.registerModel( new EvtFourBodyPhsp );
347  modelist.registerModel( new EvtEtaLLPiPi );
348 }
Definition: EvtVSS.hh:28
Definition: EvtTSS.hh:31
void registerModel(EvtDecayBase *prototype)
Definition: EvtModel.cpp:63
Definition: EvtVVP.hh:35
Definition: EvtTVP.hh:36
Definition: EvtSVP.hh:35
Definition: EvtSLN.hh:30
EvtModelReg(const std::list< EvtDecayBase * > *extraModels=0)
static EvtModel & instance()
Definition: EvtModel.hh:56
Definition: EvtSVS.hh:30
Definition: EvtSTS.hh:30
Definition: EvtVub.hh:37
Definition: EvtSll.hh:30
Definition: EvtVll.hh:28