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
EvtAmp.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 EVTAMP_HH
22
#define EVTAMP_HH
23
24
#include "
EvtGenBase/EvtComplex.hh
"
25
26
class
EvtSpinDensity
;
27
class
EvtId
;
28
29
class
EvtAmp
{
30
public
:
31
EvtAmp
();
32
EvtAmp
(
const
EvtAmp
& amp );
33
34
void
init
(
EvtId
p,
int
ndaug,
const
EvtId
* daug );
35
36
void
setAmp
(
int
* ind,
const
EvtComplex
& amp );
37
38
const
EvtComplex
&
getAmp
(
int
* ind )
const
;
39
40
EvtSpinDensity
getSpinDensity
()
const
;
41
42
EvtSpinDensity
contract
(
int
i,
const
EvtAmp
& a )
const
;
43
EvtAmp
contract
(
int
i,
const
EvtSpinDensity
& rho )
const
;
44
45
//sum over the i:th daugther of a1 and contract with parent of a2
46
EvtAmp
contract
(
int
i,
const
EvtAmp
&
a1
,
const
EvtAmp
&
a2
)
const
;
47
48
EvtSpinDensity
getForwardSpinDensity
(
EvtSpinDensity
* rho_list,
int
k )
const
;
49
EvtSpinDensity
getBackwardSpinDensity
(
EvtSpinDensity
* rho_list )
const
;
50
51
EvtAmp
&
operator=
(
const
EvtAmp
& amp );
52
56
void
vertex
(
const
EvtComplex
& amp );
57
61
void
vertex
(
int
i1,
const
EvtComplex
& amp );
62
66
void
vertex
(
int
i1,
int
i2,
const
EvtComplex
& amp );
67
71
void
vertex
(
int
i1,
int
i2,
int
i3,
const
EvtComplex
& amp );
72
76
void
vertex
(
int
* i1,
const
EvtComplex
& amp );
77
78
void
dump
()
const
;
79
80
private
:
81
friend
class
EvtDecayAmp
;
82
83
void
setNDaug
(
int
n );
84
void
setNState
(
int
parent_states,
int
* daug_states );
85
86
// the amplitudes
87
EvtComplex
m_amp
[125];
88
89
// the number of daughters
90
int
m_ndaug
;
91
92
// the number of states of the parent
93
int
m_pstates
;
94
95
// number of states of the daughter
96
int
m_dstates
[10];
97
98
// the nontrivial index of the daughter
99
int
m_dnontrivial
[10];
100
101
// number of nontrivial daugts+parent
102
int
m_nontrivial
;
103
104
// compact nstates
105
int
m_nstate
[5];
106
};
107
108
#endif
EvtComplex.hh
a2
const double a2
Definition
EvtLi2Spence.cpp:24
a1
const double a1
Definition
EvtLi2Spence.cpp:23
EvtAmp::setNDaug
void setNDaug(int n)
Definition
EvtAmp.cpp:82
EvtAmp::getAmp
const EvtComplex & getAmp(int *ind) const
Definition
EvtAmp.cpp:128
EvtAmp::setAmp
void setAmp(int *ind, const EvtComplex &)
Definition
EvtAmp.cpp:115
EvtAmp::vertex
void vertex(const EvtComplex &)
Definition
EvtAmp.cpp:453
EvtAmp::m_pstates
int m_pstates
Definition
EvtAmp.hh:93
EvtAmp::contract
EvtSpinDensity contract(int i, const EvtAmp &a) const
Definition
EvtAmp.cpp:322
EvtAmp::EvtDecayAmp
friend class EvtDecayAmp
Definition
EvtAmp.hh:81
EvtAmp::m_dstates
int m_dstates[10]
Definition
EvtAmp.hh:96
EvtAmp::EvtAmp
EvtAmp()
Definition
EvtAmp.cpp:35
EvtAmp::dump
void dump() const
Definition
EvtAmp.cpp:392
EvtAmp::getBackwardSpinDensity
EvtSpinDensity getBackwardSpinDensity(EvtSpinDensity *rho_list) const
Definition
EvtAmp.cpp:203
EvtAmp::m_dnontrivial
int m_dnontrivial[10]
Definition
EvtAmp.hh:99
EvtAmp::m_nstate
int m_nstate[5]
Definition
EvtAmp.hh:105
EvtAmp::m_amp
EvtComplex m_amp[125]
Definition
EvtAmp.hh:87
EvtAmp::m_nontrivial
int m_nontrivial
Definition
EvtAmp.hh:102
EvtAmp::getSpinDensity
EvtSpinDensity getSpinDensity() const
Definition
EvtAmp.cpp:141
EvtAmp::getForwardSpinDensity
EvtSpinDensity getForwardSpinDensity(EvtSpinDensity *rho_list, int k) const
Definition
EvtAmp.cpp:229
EvtAmp::operator=
EvtAmp & operator=(const EvtAmp &)
Definition
EvtAmp.cpp:489
EvtAmp::setNState
void setNState(int parent_states, int *daug_states)
Definition
EvtAmp.cpp:87
EvtAmp::init
void init(EvtId p, int ndaug, const EvtId *daug)
Definition
EvtAmp.cpp:67
EvtAmp::m_ndaug
int m_ndaug
Definition
EvtAmp.hh:90
EvtComplex
Definition
EvtComplex.hh:29
EvtId
Definition
EvtId.hh:27
EvtSpinDensity
Definition
EvtSpinDensity.hh:28
Generated by
1.17.0