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
EvtSymTable.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/EvtSymTable.hh
"
22
23
#include "
EvtGenBase/EvtReport.hh
"
24
25
#include <ctype.h>
26
#include <fstream>
27
#include <iostream>
28
#include <stdlib.h>
29
#include <string>
30
using
std::endl;
31
using
std::fstream;
32
33
thread_local
std::map<std::string, std::string>
EvtSymTable::m_symMap
;
34
35
EvtSymTable::EvtSymTable
()
36
{
37
}
38
39
void
EvtSymTable::define
(
const
std::string& symname, std::string d )
40
{
41
if
(
m_symMap
.find( symname ) !=
m_symMap
.end() ) {
42
EvtGenReport
(
EVTGEN_INFO
,
"EvtGen"
)
43
<<
"Symbol:"
<< symname.c_str()
44
<<
" redefined, old value:"
<<
m_symMap
[symname].c_str()
45
<<
" new value:"
<< d.c_str() << endl;
46
m_symMap
[symname] = d;
47
return
;
48
}
49
50
m_symMap
[symname] = d;
51
return
;
52
}
53
54
std::string
EvtSymTable::get
(
const
std::string& symname,
int
& ierr )
55
{
56
ierr = 0;
57
58
if
(
m_symMap
.find( symname ) !=
m_symMap
.end() )
59
return
m_symMap
[symname];
60
61
// If no matching symbol found just return the string
62
63
return
symname;
64
}
EvtReport.hh
EvtGenReport
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
Definition
EvtReport.cpp:32
EVTGEN_INFO
@ EVTGEN_INFO
Definition
EvtReport.hh:52
EvtSymTable.hh
EvtSymTable::EvtSymTable
EvtSymTable()
Definition
EvtSymTable.cpp:35
EvtSymTable::define
static void define(const std::string &name, std::string d)
Definition
EvtSymTable.cpp:39
EvtSymTable::get
static std::string get(const std::string &name, int &ierr)
Definition
EvtSymTable.cpp:54
EvtSymTable::m_symMap
static std::map< std::string, std::string > m_symMap
Definition
EvtSymTable.hh:40
Generated by
1.17.0