EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
src
EvtGenBase
EvtParticleDecay.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
21
#include "
EvtGenBase/EvtParticleDecay.hh
"
22
23
#include "
EvtGenBase/EvtId.hh
"
24
#include "
EvtGenBase/EvtPDL.hh
"
25
#include "
EvtGenBase/EvtParticle.hh
"
26
#include "
EvtGenBase/EvtRandom.hh
"
27
#include "
EvtGenBase/EvtReport.hh
"
28
29
#include <ctype.h>
30
#include <fstream>
31
#include <iostream>
32
#include <stdlib.h>
33
#include <string>
34
#include <vector>
35
using
std::fstream;
36
void
EvtParticleDecay::printSummary
()
const
37
{
38
if
(
m_decay
!=
nullptr
) {
39
m_decay
->printSummary();
40
}
41
}
42
43
void
EvtParticleDecay::chargeConj
(
EvtParticleDecay
* decay )
44
{
45
m_brfrsum
= decay->
m_brfrsum
;
46
m_massmin
= decay->
m_massmin
;
47
48
m_decay
= decay->
m_decay
->
clone
();
49
50
int
ndaug = decay->
m_decay
->
getNDaug
();
51
int
narg = decay->
m_decay
->
getNArg
();
52
double
brfr = decay->
m_decay
->
getBranchingFraction
();
53
std::string name = decay->
m_decay
->
getName
();
54
EvtId
ipar =
EvtPDL::chargeConj
( decay->
m_decay
->
getParentId
() );
55
int
i;
56
EvtId
* daug =
new
EvtId
[ndaug];
57
for
( i = 0; i < ndaug; i++ ) {
58
daug[i] =
EvtPDL::chargeConj
( decay->
m_decay
->
getDaug
( i ) );
59
}
60
//Had to add 1 to make sure the vector is not empty!
61
std::vector<std::string> args;
62
for
( i = 0; i < narg; i++ ) {
63
args.push_back( decay->
m_decay
->
getArgStr
( i ) );
64
}
65
66
m_decay
->saveDecayInfo( ipar, ndaug, daug, narg, args, name, brfr );
67
68
if
( decay->
m_decay
->
getFSR
() ) {
69
m_decay
->setFSR();
70
}
71
72
delete
[] daug;
73
}
EvtId.hh
EvtPDL.hh
EvtParticleDecay.hh
EvtParticle.hh
EvtRandom.hh
EvtReport.hh
EvtDecayBase::getFSR
bool getFSR() const
Definition
EvtDecayBase.hh:68
EvtDecayBase::getNDaug
int getNDaug() const
Definition
EvtDecayBase.hh:64
EvtDecayBase::getNArg
int getNArg() const
Definition
EvtDecayBase.hh:67
EvtDecayBase::getArgStr
std::string getArgStr(int j) const
Definition
EvtDecayBase.hh:77
EvtDecayBase::getName
virtual std::string getName() const =0
EvtDecayBase::getParentId
EvtId getParentId() const
Definition
EvtDecayBase.hh:60
EvtDecayBase::getDaug
EvtId getDaug(int i) const
Definition
EvtDecayBase.hh:66
EvtDecayBase::getBranchingFraction
double getBranchingFraction() const
Definition
EvtDecayBase.hh:61
EvtDecayBase::clone
virtual EvtDecayBase * clone() const =0
EvtId
Definition
EvtId.hh:27
EvtPDL::chargeConj
static EvtId chargeConj(EvtId id)
Definition
EvtPDL.cpp:201
EvtParticleDecay::m_brfrsum
double m_brfrsum
Definition
EvtParticleDecay.hh:55
EvtParticleDecay::printSummary
void printSummary() const
Definition
EvtParticleDecay.cpp:36
EvtParticleDecay::m_massmin
double m_massmin
Definition
EvtParticleDecay.hh:56
EvtParticleDecay::EvtParticleDecay
EvtParticleDecay()
Definition
EvtParticleDecay.hh:28
EvtParticleDecay::chargeConj
void chargeConj(EvtParticleDecay *decay)
Definition
EvtParticleDecay.cpp:43
EvtParticleDecay::m_decay
EvtDecayBase * m_decay
Definition
EvtParticleDecay.hh:53
Generated by
1.16.1