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
EvtPartProp.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 EVTPARTPROP_HH
22
#define EVTPARTPROP_HH
23
24
#include "
EvtGenBase/EvtAbsLineShape.hh
"
25
#include "
EvtGenBase/EvtId.hh
"
26
#include "
EvtGenBase/EvtSpinType.hh
"
27
28
#include <memory>
29
#include <string>
30
31
class
EvtPartProp
{
32
public
:
33
EvtPartProp
();
34
EvtPartProp
(
const
EvtPartProp
& x );
35
36
double
getMass
() {
return
m_lineShape
->getMass(); }
37
double
getMassMin
() {
return
m_lineShape
->getMassMin(); }
38
double
getMassMax
() {
return
m_lineShape
->getMassMax(); }
39
double
getMaxRange
() {
return
m_lineShape
->getMaxRange(); }
40
double
getWidth
() {
return
m_lineShape
->getWidth(); }
41
42
double
getRandMass
(
EvtId
* parId,
int
nDaug,
EvtId
* dauId,
EvtId
* othDauId,
43
double
maxMass,
double
* dauMasses )
44
{
45
return
m_lineShape
->getRandMass( parId, nDaug, dauId, othDauId, maxMass,
46
dauMasses );
47
}
48
double
getMassProb
(
double
mass,
double
massPar,
int
nDaug,
double
* massDau )
49
{
50
return
m_lineShape
->getMassProb( mass, massPar, nDaug, massDau );
51
}
52
53
double
getctau
() {
return
m_ctau
; }
54
void
setctau
(
double
tau ) {
m_ctau
= tau; }
55
56
int
getChg3
() {
return
m_chg3
; }
57
void
setChg3
(
int
c3 ) {
m_chg3
= c3; }
58
59
EvtSpinType::spintype
getSpinType
() {
return
m_spintype
; }
60
void
setSpinType
(
EvtSpinType::spintype
stype ) {
m_spintype
= stype; }
61
62
const
std::string&
getName
() {
return
m_name
; }
63
void
setName
( std::string pname );
64
65
EvtId
getId
()
const
{
return
m_id
; }
66
void
setId
(
EvtId
id
) {
m_id
= id; }
67
68
EvtId
getIdChgConj
() {
return
m_idchgconj
; }
69
void
setIdChgConj
(
EvtId
idchgconj ) {
m_idchgconj
= idchgconj; }
70
71
int
getStdHep
()
const
{
return
m_stdhep
; }
72
void
setStdHep
(
int
stdhep ) {
m_stdhep
= stdhep; }
73
74
int
getLundKC
() {
return
m_lundkc
; }
75
void
setLundKC
(
int
lundkc ) {
m_lundkc
= lundkc; }
76
77
EvtAbsLineShape
*
getLineShape
() {
return
m_lineShape
.get(); }
78
void
initLineShape
(
double
mass,
double
width,
double
maxRange );
79
// void initLineShape(double mass, double width, double maxRange, double mDaug1, double mDaug2, int l);
80
81
// setLineShape takes ownership of l
82
void
setLineShape
(
EvtAbsLineShape
* l ) {
m_lineShape
.reset( l ); }
83
double
rollMass
() {
return
m_lineShape
->rollMass(); }
84
85
EvtPartProp
&
operator=
(
const
EvtPartProp
& x );
86
87
void
reSetMass
(
double
mass );
88
void
reSetWidth
(
double
width );
89
90
void
reSetMassMin
(
double
mass );
91
void
reSetMassMax
(
double
mass );
92
void
reSetBlatt
(
double
blatt );
93
void
reSetBlattBirth
(
double
blatt );
94
void
includeBirthFactor
(
bool
yesno );
95
void
includeDecayFactor
(
bool
yesno );
96
void
newLineShape
( std::string type );
97
void
setPWForDecay
(
int
spin,
EvtId
d1,
EvtId
d2 );
98
void
setPWForBirthL
(
int
spin,
EvtId
par,
EvtId
othD );
99
100
private
:
101
std::unique_ptr<EvtAbsLineShape>
m_lineShape
;
102
103
double
m_ctau
;
104
EvtId
m_id
;
105
EvtId
m_idchgconj
;
106
EvtSpinType::spintype
m_spintype
;
107
int
m_chg3
;
108
int
m_stdhep
;
109
int
m_lundkc
;
110
std::string
m_name
;
111
};
112
113
#endif
EvtAbsLineShape.hh
EvtId.hh
EvtSpinType.hh
EvtAbsLineShape
Definition
EvtAbsLineShape.hh:29
EvtId
Definition
EvtId.hh:27
EvtPartProp
Definition
EvtPartProp.hh:31
EvtPartProp::getRandMass
double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDauId, double maxMass, double *dauMasses)
Definition
EvtPartProp.hh:42
EvtPartProp::initLineShape
void initLineShape(double mass, double width, double maxRange)
Definition
EvtPartProp.cpp:72
EvtPartProp::getMassMin
double getMassMin()
Definition
EvtPartProp.hh:37
EvtPartProp::reSetBlatt
void reSetBlatt(double blatt)
Definition
EvtPartProp.cpp:138
EvtPartProp::setName
void setName(std::string pname)
Definition
EvtPartProp.cpp:56
EvtPartProp::rollMass
double rollMass()
Definition
EvtPartProp.hh:83
EvtPartProp::reSetMassMin
void reSetMassMin(double mass)
Definition
EvtPartProp.cpp:126
EvtPartProp::EvtPartProp
EvtPartProp()
Definition
EvtPartProp.cpp:35
EvtPartProp::setPWForDecay
void setPWForDecay(int spin, EvtId d1, EvtId d2)
Definition
EvtPartProp.cpp:112
EvtPartProp::setStdHep
void setStdHep(int stdhep)
Definition
EvtPartProp.hh:72
EvtPartProp::m_spintype
EvtSpinType::spintype m_spintype
Definition
EvtPartProp.hh:106
EvtPartProp::getLineShape
EvtAbsLineShape * getLineShape()
Definition
EvtPartProp.hh:77
EvtPartProp::getMass
double getMass()
Definition
EvtPartProp.hh:36
EvtPartProp::m_lineShape
std::unique_ptr< EvtAbsLineShape > m_lineShape
Definition
EvtPartProp.hh:101
EvtPartProp::setPWForBirthL
void setPWForBirthL(int spin, EvtId par, EvtId othD)
Definition
EvtPartProp.cpp:119
EvtPartProp::setChg3
void setChg3(int c3)
Definition
EvtPartProp.hh:57
EvtPartProp::setSpinType
void setSpinType(EvtSpinType::spintype stype)
Definition
EvtPartProp.hh:60
EvtPartProp::m_chg3
int m_chg3
Definition
EvtPartProp.hh:107
EvtPartProp::getMaxRange
double getMaxRange()
Definition
EvtPartProp.hh:39
EvtPartProp::m_ctau
double m_ctau
Definition
EvtPartProp.hh:103
EvtPartProp::includeDecayFactor
void includeDecayFactor(bool yesno)
Definition
EvtPartProp.cpp:156
EvtPartProp::setIdChgConj
void setIdChgConj(EvtId idchgconj)
Definition
EvtPartProp.hh:69
EvtPartProp::m_name
std::string m_name
Definition
EvtPartProp.hh:110
EvtPartProp::m_id
EvtId m_id
Definition
EvtPartProp.hh:104
EvtPartProp::includeBirthFactor
void includeBirthFactor(bool yesno)
Definition
EvtPartProp.cpp:150
EvtPartProp::setLundKC
void setLundKC(int lundkc)
Definition
EvtPartProp.hh:75
EvtPartProp::operator=
EvtPartProp & operator=(const EvtPartProp &x)
Definition
EvtPartProp.cpp:61
EvtPartProp::getName
const std::string & getName()
Definition
EvtPartProp.hh:62
EvtPartProp::reSetMass
void reSetMass(double mass)
Definition
EvtPartProp.cpp:99
EvtPartProp::getStdHep
int getStdHep() const
Definition
EvtPartProp.hh:71
EvtPartProp::getId
EvtId getId() const
Definition
EvtPartProp.hh:65
EvtPartProp::setLineShape
void setLineShape(EvtAbsLineShape *l)
Definition
EvtPartProp.hh:82
EvtPartProp::getctau
double getctau()
Definition
EvtPartProp.hh:53
EvtPartProp::reSetWidth
void reSetWidth(double width)
Definition
EvtPartProp.cpp:105
EvtPartProp::newLineShape
void newLineShape(std::string type)
Definition
EvtPartProp.cpp:79
EvtPartProp::m_lundkc
int m_lundkc
Definition
EvtPartProp.hh:109
EvtPartProp::getSpinType
EvtSpinType::spintype getSpinType()
Definition
EvtPartProp.hh:59
EvtPartProp::getIdChgConj
EvtId getIdChgConj()
Definition
EvtPartProp.hh:68
EvtPartProp::reSetBlattBirth
void reSetBlattBirth(double blatt)
Definition
EvtPartProp.cpp:144
EvtPartProp::m_stdhep
int m_stdhep
Definition
EvtPartProp.hh:108
EvtPartProp::setId
void setId(EvtId id)
Definition
EvtPartProp.hh:66
EvtPartProp::m_idchgconj
EvtId m_idchgconj
Definition
EvtPartProp.hh:105
EvtPartProp::getWidth
double getWidth()
Definition
EvtPartProp.hh:40
EvtPartProp::setctau
void setctau(double tau)
Definition
EvtPartProp.hh:54
EvtPartProp::getMassMax
double getMassMax()
Definition
EvtPartProp.hh:38
EvtPartProp::getLundKC
int getLundKC()
Definition
EvtPartProp.hh:74
EvtPartProp::getMassProb
double getMassProb(double mass, double massPar, int nDaug, double *massDau)
Definition
EvtPartProp.hh:48
EvtPartProp::reSetMassMax
void reSetMassMax(double mass)
Definition
EvtPartProp.cpp:132
EvtPartProp::getChg3
int getChg3()
Definition
EvtPartProp.hh:56
EvtSpinType::spintype
spintype
Definition
EvtSpinType.hh:29
Generated by
1.17.0