evtgen
is hosted by
Hepforge
,
IPPP Durham
Home
Documentation
Downloads
Repository
Bug tracker
Join the mailing list
Contact the developers
Licence
Acknowledgements
EvtGen
2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtGenBase
EvtPropagator.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_PROPAGATOR_HH
22
#define EVT_PROPAGATOR_HH
23
24
#include "
EvtGenBase/EvtAmplitude.hh
"
25
#include "
EvtGenBase/EvtComplex.hh
"
26
#include "
EvtGenBase/EvtPoint1D.hh
"
27
28
#include <assert.h>
29
30
// Defines propagator as a function of mass and width
31
32
class
EvtPropagator
:
public
EvtAmplitude
<EvtPoint1D> {
33
public
:
34
EvtPropagator
(
double
m0
,
double
g0
) :
_m0
(
m0
),
_g0
(
g0
)
35
{
36
assert(
m0
> 0 );
37
assert(
g0
>= 0 );
38
}
39
40
// Accessors
41
42
inline
double
m0
()
const
{
return
_m0
; }
43
inline
double
g0
()
const
{
return
_g0
; }
44
45
// Modifiers (can be useful e.g. for fitting!)
46
47
inline
void
set_m0
(
double
m0
)
48
{
49
assert(
m0
> 0 );
50
_m0
=
m0
;
51
}
52
inline
void
set_g0
(
double
g0
)
53
{
54
assert(
g0
>= 0 );
55
_g0
=
g0
;
56
}
57
58
protected
:
59
double
_m0
;
60
double
_g0
;
61
};
62
63
#endif
EvtPropagator
Definition:
EvtPropagator.hh:32
EvtPropagator::_m0
double _m0
Definition:
EvtPropagator.hh:59
EvtAmplitude.hh
EvtPropagator::set_m0
void set_m0(double m0)
Definition:
EvtPropagator.hh:47
EvtPropagator::set_g0
void set_g0(double g0)
Definition:
EvtPropagator.hh:52
EvtAmplitude
Definition:
EvtAmplitude.hh:29
EvtPoint1D.hh
EvtPropagator::g0
double g0() const
Definition:
EvtPropagator.hh:43
EvtPropagator::_g0
double _g0
Definition:
EvtPropagator.hh:60
EvtPropagator::EvtPropagator
EvtPropagator(double m0, double g0)
Definition:
EvtPropagator.hh:34
EvtComplex.hh
EvtPropagator::m0
double m0() const
Definition:
EvtPropagator.hh:42
Generated by
1.8.15