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
EvtDecayAmp.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 EVTDECAYAMP_HH
22
#define EVTDECAYAMP_HH
23
24
#include "
EvtGenBase/EvtAmp.hh
"
25
#include "
EvtGenBase/EvtDecayBase.hh
"
26
27
// Description: Baseclass for models that calculates amplitudes
28
29
class
EvtDecayAmp
:
public
EvtDecayBase
{
30
public
:
31
void
makeDecay
(
EvtParticle
* p,
bool
recursive =
true
)
override
;
32
inline
void
setWeight
(
double
weight ) {
m_weight
= weight; }
33
37
void
vertex
(
const
EvtComplex
& amp ) {
m_amp2
.vertex( amp ); }
38
42
void
vertex
(
int
i1,
const
EvtComplex
& amp ) {
m_amp2
.vertex( i1, amp ); }
43
47
void
vertex
(
int
i1,
int
i2,
const
EvtComplex
& amp )
48
{
49
m_amp2
.vertex( i1, i2, amp );
50
}
51
55
void
vertex
(
int
i1,
int
i2,
int
i3,
const
EvtComplex
& amp )
56
{
57
m_amp2
.vertex( i1, i2, i3, amp );
58
}
59
63
void
vertex
(
int
* i1,
const
EvtComplex
& amp ) {
m_amp2
.vertex( i1, amp ); }
64
68
const
EvtAmp
&
amplitude
()
const
{
return
m_amp2
; }
69
70
virtual
~EvtDecayAmp
() {}
71
72
protected
:
73
EvtAmp
m_amp2
;
74
75
private
:
76
double
m_weight
;
77
};
78
79
#endif
EvtAmp.hh
EvtDecayBase.hh
EvtAmp
Definition
EvtAmp.hh:29
EvtComplex
Definition
EvtComplex.hh:29
EvtDecayAmp
Definition
EvtDecayAmp.hh:29
EvtDecayAmp::setWeight
void setWeight(double weight)
Definition
EvtDecayAmp.hh:32
EvtDecayAmp::vertex
void vertex(int *i1, const EvtComplex &)
Definition
EvtDecayAmp.hh:63
EvtDecayAmp::amplitude
const EvtAmp & amplitude() const
Definition
EvtDecayAmp.hh:68
EvtDecayAmp::~EvtDecayAmp
virtual ~EvtDecayAmp()
Definition
EvtDecayAmp.hh:70
EvtDecayAmp::vertex
void vertex(int i1, int i2, int i3, const EvtComplex &)
Definition
EvtDecayAmp.hh:55
EvtDecayAmp::vertex
void vertex(int i1, int i2, const EvtComplex &)
Definition
EvtDecayAmp.hh:47
EvtDecayAmp::m_amp2
EvtAmp m_amp2
Definition
EvtDecayAmp.hh:73
EvtDecayAmp::vertex
void vertex(const EvtComplex &)
Definition
EvtDecayAmp.hh:37
EvtDecayAmp::vertex
void vertex(int i1, const EvtComplex &)
Definition
EvtDecayAmp.hh:42
EvtDecayAmp::makeDecay
void makeDecay(EvtParticle *p, bool recursive=true) override
Definition
EvtDecayAmp.cpp:32
EvtDecayAmp::m_weight
double m_weight
Definition
EvtDecayAmp.hh:76
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtParticle
Definition
EvtParticle.hh:45
Generated by
1.17.0