EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
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
22
25
26#include <iostream>
27#include <stdlib.h>
28using std::endl;
29
30thread_local EvtAbsRadCorr* EvtRadCorr::m_fsrEngine = nullptr;
33
35{
36 m_fsrEngine = fsrEngine;
37
38 if ( m_fsrEngine ) {
39 m_fsrEngine->initialise();
40 }
41}
42
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
62{
63 return m_neverRadCorr;
64}
65
67{
68 m_alwaysRadCorr = true;
69 m_neverRadCorr = false;
70}
72{
73 m_alwaysRadCorr = false;
74 m_neverRadCorr = true;
75}
77{
78 m_alwaysRadCorr = false;
79 m_neverRadCorr = false;
80}
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
Definition EvtReport.cpp:32
@ EVTGEN_ERROR
Definition EvtReport.hh:49
static EvtAbsRadCorr * m_fsrEngine
Definition EvtRadCorr.hh:44
static bool m_neverRadCorr
Definition EvtRadCorr.hh:46
static void setAlwaysRadCorr()
static bool m_alwaysRadCorr
Definition EvtRadCorr.hh:45
static void setNormalRadCorr()
static bool alwaysRadCorr()
static void setRadCorrEngine(EvtAbsRadCorr *fsrEngine)
static bool neverRadCorr()
static void setNeverRadCorr()
static void doRadCorr(EvtParticle *p)