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
EvtGenBase
EvtDecayTable.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 EVTDECAYTABLE_HH
22
#define EVTDECAYTABLE_HH
23
24
#include "
EvtGenBase/EvtDecayBase.hh
"
25
#include "
EvtGenBase/EvtParticleDecayList.hh
"
26
27
#include <vector>
28
29
class
EvtId
;
30
31
// Description: Class to read in and handle the decays available
32
// to EvtGen for each particle, and the model to be
33
// used for each one.
34
35
class
EvtDecayTable
{
36
public
:
37
static
EvtDecayTable
&
getInstance
();
38
39
int
getNMode
(
int
ipar )
const
;
40
41
EvtDecayBase
*
getDecay
(
int
ipar,
int
imode );
42
43
void
readDecayFile
(
const
std::string dec_name,
bool
verbose =
true
);
44
void
readXMLDecayFile
(
const
std::string dec_name,
bool
verbose =
true
);
45
46
bool
stringToBoolean
( std::string valStr )
const
;
47
void
checkParticle
( std::string particle )
const
;
48
49
int
findChannel
(
EvtId
parent, std::string model,
int
ndaug,
EvtId
* daugs,
50
int
narg, std::string* args )
const
;
51
52
int
inChannelList
(
EvtId
parent,
int
ndaug,
EvtId
* daugs )
const
;
53
54
EvtDecayBase
*
getDecayFunc
(
EvtParticle
* p );
55
56
void
printSummary
()
const
;
57
58
void
checkConj
()
const
;
59
60
std::vector<EvtParticleDecayList>
getDecayTable
()
const
61
{
62
return
m_decaytable
;
63
}
64
65
EvtDecayBase
*
findDecayModel
(
int
aliasInt,
int
modeInt );
66
EvtDecayBase
*
findDecayModel
(
EvtId
id
,
int
modeInt );
67
68
bool
hasPythia
(
int
aliasInt )
const
;
69
bool
hasPythia
(
EvtId
id
)
const
;
70
71
int
getNModes
(
int
aliasInt )
const
;
72
int
getNModes
(
EvtId
id
)
const
;
73
74
std::vector<std::string>
splitString
( std::string& theString,
75
std::string& splitter )
const
;
76
77
protected
:
78
EvtDecayTable
();
79
~EvtDecayTable
();
80
81
private
:
82
std::vector<EvtParticleDecayList>
m_decaytable
;
83
84
EvtDecayTable
(
const
EvtDecayTable
& ){};
85
//EvtDecayTable& operator=(const EvtDecayTable&) {};
86
};
87
88
#endif
EvtDecayBase.hh
EvtParticleDecayList.hh
EvtDecayBase
Definition
EvtDecayBase.hh:33
EvtDecayTable::readXMLDecayFile
void readXMLDecayFile(const std::string dec_name, bool verbose=true)
Definition
EvtDecayTable.cpp:931
EvtDecayTable::~EvtDecayTable
~EvtDecayTable()
Definition
EvtDecayTable.cpp:53
EvtDecayTable::getDecay
EvtDecayBase * getDecay(int ipar, int imode)
Definition
EvtDecayTable.cpp:70
EvtDecayTable::printSummary
void printSummary() const
Definition
EvtDecayTable.cpp:75
EvtDecayTable::getInstance
static EvtDecayTable & getInstance()
Definition
EvtDecayTable.cpp:58
EvtDecayTable::checkConj
void checkConj() const
EvtDecayTable::getDecayTable
std::vector< EvtParticleDecayList > getDecayTable() const
Definition
EvtDecayTable.hh:60
EvtDecayTable::findDecayModel
EvtDecayBase * findDecayModel(int aliasInt, int modeInt)
Definition
EvtDecayTable.cpp:1501
EvtDecayTable::stringToBoolean
bool stringToBoolean(std::string valStr) const
Definition
EvtDecayTable.cpp:1475
EvtDecayTable::readDecayFile
void readDecayFile(const std::string dec_name, bool verbose=true)
Definition
EvtDecayTable.cpp:93
EvtDecayTable::findChannel
int findChannel(EvtId parent, std::string model, int ndaug, EvtId *daugs, int narg, std::string *args) const
Definition
EvtDecayTable.cpp:1545
EvtDecayTable::hasPythia
bool hasPythia(int aliasInt) const
Definition
EvtDecayTable.cpp:1518
EvtDecayTable::splitString
std::vector< std::string > splitString(std::string &theString, std::string &splitter) const
Definition
EvtDecayTable.cpp:1661
EvtDecayTable::getNModes
int getNModes(int aliasInt) const
Definition
EvtDecayTable.cpp:1534
EvtDecayTable::checkParticle
void checkParticle(std::string particle) const
Definition
EvtDecayTable.cpp:1481
EvtDecayTable::EvtDecayTable
EvtDecayTable(const EvtDecayTable &)
Definition
EvtDecayTable.hh:84
EvtDecayTable::EvtDecayTable
EvtDecayTable()
Definition
EvtDecayTable.cpp:48
EvtDecayTable::getNMode
int getNMode(int ipar) const
Definition
EvtDecayTable.cpp:65
EvtDecayTable::getDecayFunc
EvtDecayBase * getDecayFunc(EvtParticle *p)
Definition
EvtDecayTable.cpp:82
EvtDecayTable::inChannelList
int inChannelList(EvtId parent, int ndaug, EvtId *daugs) const
Definition
EvtDecayTable.cpp:1611
EvtDecayTable::m_decaytable
std::vector< EvtParticleDecayList > m_decaytable
Definition
EvtDecayTable.hh:82
EvtId
Definition
EvtId.hh:27
EvtParticle
Definition
EvtParticle.hh:45
Generated by
1.17.0