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
EvtGenBase
EvtPto3PAmp.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 EVT_PTO3P_AMP_HH
22
#define EVT_PTO3P_AMP_HH
23
24
#include "
EvtGenBase/EvtComplex.hh
"
25
#include "
EvtGenBase/EvtCyclic3.hh
"
26
#include "
EvtGenBase/EvtSpinType.hh
"
27
28
#include <vector>
29
using
std::vector;
30
#include "
EvtGenBase/EvtAmplitude.hh
"
31
#include "
EvtGenBase/EvtDalitzPoint.hh
"
32
#include "
EvtGenBase/EvtPropagator.hh
"
33
#include "
EvtGenBase/EvtTwoBodyVertex.hh
"
34
35
class
EvtBlattWeisskopf
;
36
37
class
EvtPto3PAmp
:
public
EvtAmplitude
<EvtDalitzPoint> {
38
public
:
39
// Numerator type
40
enum
NumType
41
{
42
NBW
= 0,
43
RBW_ZEMACH
= 1,
44
RBW_KUEHN
= 2,
45
RBW_CLEO
= 3,
46
FLATTE
,
47
GAUSS
,
48
DOUBLE_GAUSS
,
49
NONRES
,
50
NONRES_LIN
,
51
NONRES_EXP
,
52
NONRES_EXP_ADD
,
53
NONRES_CCS
,
54
NONRES_LAURA
,
55
LASS
,
56
LASS_ELASTIC
,
57
LASS_RESONANT
,
58
GS
59
};
60
61
EvtPto3PAmp
(
EvtDalitzPlot
dp,
EvtCyclic3::Pair
pairAng,
62
EvtCyclic3::Pair
pairRes,
EvtSpinType::spintype
spin,
63
const
EvtPropagator
& prop,
NumType
typeN );
64
65
EvtPto3PAmp
(
const
EvtPto3PAmp
& other );
66
67
~EvtPto3PAmp
();
68
69
EvtAmplitude<EvtDalitzPoint>
*
clone
()
const override
70
{
71
return
new
EvtPto3PAmp
( *
this
);
72
}
73
74
EvtComplex
amplitude
(
const
EvtDalitzPoint
& p )
const override
;
75
EvtComplex
numerator
(
const
EvtDalitzPoint
& p )
const
;
76
double
angDep
(
const
EvtDalitzPoint
& p )
const
;
77
78
void
set_fd
(
double
R );
79
void
set_fb
(
double
R );
80
81
void
setmin
(
double
min ) {
m_min
= min; }
82
void
setmax
(
double
max ) {
m_max
= max; }
83
84
virtual
EvtComplex
evalPropagator
(
double
m )
const
85
{
86
return
m_prop
->evaluate( m );
87
}
88
89
private
:
90
// Pairing indices:
91
92
EvtCyclic3::Pair
m_pairAng
;
// angular
93
EvtCyclic3::Pair
m_pairRes
;
// resonance
94
95
// Spin
96
97
EvtSpinType::spintype
m_spin
;
98
99
// Numerator type
100
101
NumType
m_typeN
;
102
103
// _Owned_ pointer to propagator factor
104
105
EvtPropagator
*
m_prop
;
106
double
m_g0
;
// nominal width
107
double
m_min
;
//min and max values on which
108
double
m_max
;
//the resonance is defined
109
110
// Vertices
111
112
EvtTwoBodyVertex
m_vb
;
113
EvtTwoBodyVertex
m_vd
;
114
};
115
116
#endif
EvtAmplitude.hh
EvtComplex.hh
EvtCyclic3.hh
EvtDalitzPoint.hh
EvtPropagator.hh
EvtSpinType.hh
EvtTwoBodyVertex.hh
EvtAmplitude< EvtDalitzPoint >::EvtAmplitude
EvtAmplitude()=default
EvtBlattWeisskopf
Definition
EvtBlattWeisskopf.hh:27
EvtComplex
Definition
EvtComplex.hh:29
EvtDalitzPlot
Definition
EvtDalitzPlot.hh:30
EvtDalitzPoint
Definition
EvtDalitzPoint.hh:38
EvtPropagator
Definition
EvtPropagator.hh:32
EvtPto3PAmp
Definition
EvtPto3PAmp.hh:37
EvtPto3PAmp::angDep
double angDep(const EvtDalitzPoint &p) const
Definition
EvtPto3PAmp.cpp:203
EvtPto3PAmp::clone
EvtAmplitude< EvtDalitzPoint > * clone() const override
Definition
EvtPto3PAmp.hh:69
EvtPto3PAmp::m_prop
EvtPropagator * m_prop
Definition
EvtPto3PAmp.hh:105
EvtPto3PAmp::amplitude
EvtComplex amplitude(const EvtDalitzPoint &p) const override
Definition
EvtPto3PAmp.cpp:86
EvtPto3PAmp::m_vb
EvtTwoBodyVertex m_vb
Definition
EvtPto3PAmp.hh:112
EvtPto3PAmp::setmin
void setmin(double min)
Definition
EvtPto3PAmp.hh:81
EvtPto3PAmp::~EvtPto3PAmp
~EvtPto3PAmp()
Definition
EvtPto3PAmp.cpp:70
EvtPto3PAmp::set_fb
void set_fb(double R)
Definition
EvtPto3PAmp.cpp:81
EvtPto3PAmp::set_fd
void set_fd(double R)
Definition
EvtPto3PAmp.cpp:76
EvtPto3PAmp::m_min
double m_min
Definition
EvtPto3PAmp.hh:107
EvtPto3PAmp::m_g0
double m_g0
Definition
EvtPto3PAmp.hh:106
EvtPto3PAmp::m_pairRes
EvtCyclic3::Pair m_pairRes
Definition
EvtPto3PAmp.hh:93
EvtPto3PAmp::NumType
NumType
Definition
EvtPto3PAmp.hh:41
EvtPto3PAmp::RBW_ZEMACH
@ RBW_ZEMACH
Definition
EvtPto3PAmp.hh:43
EvtPto3PAmp::GS
@ GS
Definition
EvtPto3PAmp.hh:58
EvtPto3PAmp::LASS
@ LASS
Definition
EvtPto3PAmp.hh:55
EvtPto3PAmp::LASS_ELASTIC
@ LASS_ELASTIC
Definition
EvtPto3PAmp.hh:56
EvtPto3PAmp::FLATTE
@ FLATTE
Definition
EvtPto3PAmp.hh:46
EvtPto3PAmp::NBW
@ NBW
Definition
EvtPto3PAmp.hh:42
EvtPto3PAmp::NONRES_CCS
@ NONRES_CCS
Definition
EvtPto3PAmp.hh:53
EvtPto3PAmp::NONRES
@ NONRES
Definition
EvtPto3PAmp.hh:49
EvtPto3PAmp::NONRES_LIN
@ NONRES_LIN
Definition
EvtPto3PAmp.hh:50
EvtPto3PAmp::NONRES_EXP_ADD
@ NONRES_EXP_ADD
Definition
EvtPto3PAmp.hh:52
EvtPto3PAmp::RBW_KUEHN
@ RBW_KUEHN
Definition
EvtPto3PAmp.hh:44
EvtPto3PAmp::RBW_CLEO
@ RBW_CLEO
Definition
EvtPto3PAmp.hh:45
EvtPto3PAmp::LASS_RESONANT
@ LASS_RESONANT
Definition
EvtPto3PAmp.hh:57
EvtPto3PAmp::GAUSS
@ GAUSS
Definition
EvtPto3PAmp.hh:47
EvtPto3PAmp::NONRES_EXP
@ NONRES_EXP
Definition
EvtPto3PAmp.hh:51
EvtPto3PAmp::DOUBLE_GAUSS
@ DOUBLE_GAUSS
Definition
EvtPto3PAmp.hh:48
EvtPto3PAmp::NONRES_LAURA
@ NONRES_LAURA
Definition
EvtPto3PAmp.hh:54
EvtPto3PAmp::m_vd
EvtTwoBodyVertex m_vd
Definition
EvtPto3PAmp.hh:113
EvtPto3PAmp::m_pairAng
EvtCyclic3::Pair m_pairAng
Definition
EvtPto3PAmp.hh:92
EvtPto3PAmp::numerator
EvtComplex numerator(const EvtDalitzPoint &p) const
Definition
EvtPto3PAmp.cpp:119
EvtPto3PAmp::m_spin
EvtSpinType::spintype m_spin
Definition
EvtPto3PAmp.hh:97
EvtPto3PAmp::evalPropagator
virtual EvtComplex evalPropagator(double m) const
Definition
EvtPto3PAmp.hh:84
EvtPto3PAmp::setmax
void setmax(double max)
Definition
EvtPto3PAmp.hh:82
EvtPto3PAmp::m_typeN
NumType m_typeN
Definition
EvtPto3PAmp.hh:101
EvtPto3PAmp::EvtPto3PAmp
EvtPto3PAmp(EvtDalitzPlot dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes, EvtSpinType::spintype spin, const EvtPropagator &prop, NumType typeN)
Definition
EvtPto3PAmp.cpp:37
EvtPto3PAmp::m_max
double m_max
Definition
EvtPto3PAmp.hh:108
EvtSpinType::spintype
spintype
Definition
EvtSpinType.hh:29
EvtTwoBodyVertex
Definition
EvtTwoBodyVertex.hh:32
EvtCyclic3::Pair
Pair
Definition
EvtCyclic3.hh:37
Generated by
1.16.1