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
EvtMassAmp.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_MASSAMP_HH
22
#define EVT_MASSAMP_HH
23
24
#include "
EvtGenBase/EvtAmplitude.hh
"
25
#include "
EvtGenBase/EvtPoint1D.hh
"
26
#include "
EvtGenBase/EvtPropBreitWignerRel.hh
"
27
#include "
EvtGenBase/EvtTwoBodyVertex.hh
"
28
29
#include <memory>
30
// Relativistic lineshape for a two-body decay of a resonance to two
31
// pseudoscalars. The mass dependence of the width and the vertex factors
32
// are included in the calculation.
33
34
class
EvtMassAmp
:
public
EvtAmplitude
<EvtPoint1D> {
35
public
:
36
EvtMassAmp
(
const
EvtPropBreitWignerRel
& prop,
const
EvtTwoBodyVertex
& vd );
37
EvtMassAmp
(
const
EvtMassAmp
& other );
38
EvtMassAmp
&
operator=
(
const
EvtMassAmp
& other );
39
40
EvtComplex
amplitude
(
const
EvtPoint1D
& p )
const override
;
41
42
EvtAmplitude<EvtPoint1D>
*
clone
()
const override
43
{
44
return
new
EvtMassAmp
( *
this
);
45
}
46
47
void
setBirthVtx
(
const
EvtTwoBodyVertex
& vb )
48
{
49
m_vb
= std::make_unique<EvtTwoBodyVertex>( vb );
50
}
51
52
void
addBirthFact
() {
m_useBirthFact
=
true
; }
53
void
addDeathFact
() {
m_useDeathFact
=
true
; }
54
void
addBirthFactFF
() {
m_useBirthFactFF
=
true
; }
55
void
addDeathFactFF
() {
m_useDeathFactFF
=
true
; }
56
57
private
:
58
EvtPropBreitWignerRel
m_prop
;
59
EvtTwoBodyVertex
m_vd
;
60
std::unique_ptr<EvtTwoBodyVertex>
m_vb
;
61
62
bool
m_useBirthFact
;
63
bool
m_useDeathFact
;
64
bool
m_useBirthFactFF
;
65
bool
m_useDeathFactFF
;
66
};
67
68
#endif
EvtAmplitude.hh
EvtPoint1D.hh
EvtPropBreitWignerRel.hh
EvtTwoBodyVertex.hh
EvtAmplitude< EvtPoint1D >::EvtAmplitude
EvtAmplitude()=default
EvtComplex
Definition
EvtComplex.hh:29
EvtMassAmp::m_vb
std::unique_ptr< EvtTwoBodyVertex > m_vb
Definition
EvtMassAmp.hh:60
EvtMassAmp::EvtMassAmp
EvtMassAmp(const EvtPropBreitWignerRel &prop, const EvtTwoBodyVertex &vd)
Definition
EvtMassAmp.cpp:23
EvtMassAmp::addDeathFactFF
void addDeathFactFF()
Definition
EvtMassAmp.hh:55
EvtMassAmp::setBirthVtx
void setBirthVtx(const EvtTwoBodyVertex &vb)
Definition
EvtMassAmp.hh:47
EvtMassAmp::m_prop
EvtPropBreitWignerRel m_prop
Definition
EvtMassAmp.hh:58
EvtMassAmp::m_useDeathFactFF
bool m_useDeathFactFF
Definition
EvtMassAmp.hh:65
EvtMassAmp::m_useBirthFactFF
bool m_useBirthFactFF
Definition
EvtMassAmp.hh:64
EvtMassAmp::m_vd
EvtTwoBodyVertex m_vd
Definition
EvtMassAmp.hh:59
EvtMassAmp::clone
EvtAmplitude< EvtPoint1D > * clone() const override
Definition
EvtMassAmp.hh:42
EvtMassAmp::m_useBirthFact
bool m_useBirthFact
Definition
EvtMassAmp.hh:62
EvtMassAmp::amplitude
EvtComplex amplitude(const EvtPoint1D &p) const override
Definition
EvtMassAmp.cpp:60
EvtMassAmp::addBirthFactFF
void addBirthFactFF()
Definition
EvtMassAmp.hh:54
EvtMassAmp::m_useDeathFact
bool m_useDeathFact
Definition
EvtMassAmp.hh:63
EvtMassAmp::addBirthFact
void addBirthFact()
Definition
EvtMassAmp.hh:52
EvtMassAmp::operator=
EvtMassAmp & operator=(const EvtMassAmp &other)
Definition
EvtMassAmp.cpp:47
EvtMassAmp::addDeathFact
void addDeathFact()
Definition
EvtMassAmp.hh:53
EvtPoint1D
Definition
EvtPoint1D.hh:27
EvtPropBreitWignerRel
Definition
EvtPropBreitWignerRel.hh:29
EvtTwoBodyVertex
Definition
EvtTwoBodyVertex.hh:32
Generated by
1.17.0