EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGen
EvtGen.hh
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
21
#ifndef EVTGEN_HH
22
#define EVTGEN_HH
23
24
#include <iostream>
25
#include <list>
26
27
class
EvtParticle
;
28
class
EvtRandomEngine
;
29
class
EvtVector4R
;
30
class
EvtStdHep
;
31
class
EvtSpinDensity
;
32
class
EvtAbsRadCorr
;
33
class
EvtDecayBase
;
34
class
EvtHepMCEvent
;
35
36
class
EvtGen
{
37
public
:
38
EvtGen
(
const
std::string& decayName,
const
std::string& pdtTableName,
39
EvtRandomEngine
* randomEngine =
nullptr
,
40
EvtAbsRadCorr
* isrEngine =
nullptr
,
41
const
std::list<EvtDecayBase*>* extraModels =
nullptr
,
42
int
mixingType = 1,
bool
useXml =
false
);
43
44
EvtGen
(
const
std::string& decayName, std::istream& pdtTableData,
45
EvtRandomEngine
* randomEngine =
nullptr
,
46
EvtAbsRadCorr
* isrEngine =
nullptr
,
47
const
std::list<EvtDecayBase*>* extraModels =
nullptr
,
48
int
mixingType = 1,
bool
useXml =
false
);
49
50
~EvtGen
();
51
52
void
readUDecay
(
const
std::string& udecay_name,
bool
useXml =
false
);
53
54
EvtHepMCEvent
*
generateDecay
(
int
PDGid,
EvtVector4R
refFrameP4,
55
EvtVector4R
translation,
56
EvtSpinDensity
* spinDensity =
nullptr
);
57
58
void
generateDecay
(
EvtParticle
* p );
59
60
private
:
61
void
initialize
(
const
std::string& decayName, std::istream& pdtTable,
62
EvtRandomEngine
* randomEngine =
nullptr
,
63
EvtAbsRadCorr
* isrEngine =
nullptr
,
64
const
std::list<EvtDecayBase*>* extraModels =
nullptr
,
65
int
mixingType = 1,
bool
useXml =
false
);
66
67
int
m_mixingType
;
68
};
69
70
#endif
EvtAbsRadCorr
Definition
EvtAbsRadCorr.hh:28
EvtDecayBase
Definition
EvtDecayBase.hh:33
EvtGen::m_mixingType
int m_mixingType
Definition
EvtGen.hh:67
EvtGen::~EvtGen
~EvtGen()
Definition
EvtGen.cpp:49
EvtGen::readUDecay
void readUDecay(const std::string &udecay_name, bool useXml=false)
Definition
EvtGen.cpp:138
EvtGen::initialize
void initialize(const std::string &decayName, std::istream &pdtTable, EvtRandomEngine *randomEngine=nullptr, EvtAbsRadCorr *isrEngine=nullptr, const std::list< EvtDecayBase * > *extraModels=nullptr, int mixingType=1, bool useXml=false)
Definition
EvtGen.cpp:86
EvtGen::generateDecay
EvtHepMCEvent * generateDecay(int PDGid, EvtVector4R refFrameP4, EvtVector4R translation, EvtSpinDensity *spinDensity=nullptr)
Definition
EvtGen.cpp:162
EvtGen::EvtGen
EvtGen(const std::string &decayName, const std::string &pdtTableName, EvtRandomEngine *randomEngine=nullptr, EvtAbsRadCorr *isrEngine=nullptr, const std::list< EvtDecayBase * > *extraModels=nullptr, int mixingType=1, bool useXml=false)
Definition
EvtGen.cpp:61
EvtHepMCEvent
Definition
EvtHepMCEvent.hh:74
EvtParticle
Definition
EvtParticle.hh:45
EvtRandomEngine
Definition
EvtRandomEngine.hh:28
EvtSpinDensity
Definition
EvtSpinDensity.hh:28
EvtStdHep
Definition
EvtStdHep.hh:30
EvtVector4R
Definition
EvtVector4R.hh:29
Generated by
1.17.0