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
src
EvtGenBase
EvtRadCorr.cpp
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
#include "
EvtGenBase/EvtRadCorr.hh
"
22
23
#include "
EvtGenBase/EvtAbsRadCorr.hh
"
24
#include "
EvtGenBase/EvtReport.hh
"
25
26
#include <iostream>
27
#include <stdlib.h>
28
using
std::endl;
29
30
thread_local
EvtAbsRadCorr
*
EvtRadCorr::m_fsrEngine
=
nullptr
;
31
bool
EvtRadCorr::m_alwaysRadCorr
=
false
;
32
bool
EvtRadCorr::m_neverRadCorr
=
false
;
33
34
void
EvtRadCorr::setRadCorrEngine
(
EvtAbsRadCorr
* fsrEngine )
35
{
36
m_fsrEngine
= fsrEngine;
37
38
if
(
m_fsrEngine
) {
39
m_fsrEngine
->initialise();
40
}
41
}
42
43
void
EvtRadCorr::doRadCorr
(
EvtParticle
* p )
44
{
45
if
(
m_fsrEngine
==
nullptr
) {
46
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
47
<<
"No RadCorr model available in "
48
<<
"EvtRadCorr::doRadCorr()."
<< endl;
49
::abort();
50
}
51
52
if
( !
m_neverRadCorr
)
53
m_fsrEngine
->doRadCorr( p );
54
return
;
55
}
56
57
bool
EvtRadCorr::alwaysRadCorr
()
58
{
59
return
m_alwaysRadCorr
;
60
}
61
bool
EvtRadCorr::neverRadCorr
()
62
{
63
return
m_neverRadCorr
;
64
}
65
66
void
EvtRadCorr::setAlwaysRadCorr
()
67
{
68
m_alwaysRadCorr
=
true
;
69
m_neverRadCorr
=
false
;
70
}
71
void
EvtRadCorr::setNeverRadCorr
()
72
{
73
m_alwaysRadCorr
=
false
;
74
m_neverRadCorr
=
true
;
75
}
76
void
EvtRadCorr::setNormalRadCorr
()
77
{
78
m_alwaysRadCorr
=
false
;
79
m_neverRadCorr
=
false
;
80
}
EvtAbsRadCorr.hh
EvtRadCorr.hh
EvtReport.hh
EvtGenReport
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
Definition
EvtReport.cpp:32
EVTGEN_ERROR
@ EVTGEN_ERROR
Definition
EvtReport.hh:49
EvtAbsRadCorr
Definition
EvtAbsRadCorr.hh:28
EvtParticle
Definition
EvtParticle.hh:45
EvtRadCorr::m_fsrEngine
static EvtAbsRadCorr * m_fsrEngine
Definition
EvtRadCorr.hh:44
EvtRadCorr::m_neverRadCorr
static bool m_neverRadCorr
Definition
EvtRadCorr.hh:46
EvtRadCorr::setAlwaysRadCorr
static void setAlwaysRadCorr()
Definition
EvtRadCorr.cpp:66
EvtRadCorr::m_alwaysRadCorr
static bool m_alwaysRadCorr
Definition
EvtRadCorr.hh:45
EvtRadCorr::setNormalRadCorr
static void setNormalRadCorr()
Definition
EvtRadCorr.cpp:76
EvtRadCorr::alwaysRadCorr
static bool alwaysRadCorr()
Definition
EvtRadCorr.cpp:57
EvtRadCorr::setRadCorrEngine
static void setRadCorrEngine(EvtAbsRadCorr *fsrEngine)
Definition
EvtRadCorr.cpp:34
EvtRadCorr::neverRadCorr
static bool neverRadCorr()
Definition
EvtRadCorr.cpp:61
EvtRadCorr::setNeverRadCorr
static void setNeverRadCorr()
Definition
EvtRadCorr.cpp:71
EvtRadCorr::doRadCorr
static void doRadCorr(EvtParticle *p)
Definition
EvtRadCorr.cpp:43
Generated by
1.17.0