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
EvtIdSet.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
23#include "EvtGenBase/EvtPDL.hh"
24
25#include <initializer_list>
26#include <set>
27#include <string>
28
29EvtIdSet::EvtIdSet( std::initializer_list<EvtId> idList ) : m_list{ idList }
30{
31}
32
33EvtIdSet::EvtIdSet( std::initializer_list<std::string> nameList )
34{
35 for ( const std::string& name : nameList ) {
36 m_list.insert( EvtPDL::getId( name ) );
37 }
38}
39
40EvtIdSet::EvtIdSet( const EvtIdSet& set1, const EvtIdSet& set2 ) :
41 m_list{ set1.m_list }
42{
43 this->append( set2 );
44}
45
46bool EvtIdSet::contains( const EvtId& id ) const
47{
48 const auto iter = m_list.find( id );
49 return iter != m_list.end();
50}
51
52bool EvtIdSet::contains( const std::string& name ) const
53{
54 const EvtId id{ EvtPDL::getId( name ) };
55 return this->contains( id );
56}
57
58void EvtIdSet::append( const EvtIdSet& set1 )
59{
60 m_list.insert( set1.m_list.begin(), set1.m_list.end() );
61}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)
std::set< EvtId > m_list
Definition EvtIdSet.hh:43
void append(const EvtIdSet &set1)
Definition EvtIdSet.cpp:58
EvtIdSet(std::initializer_list< EvtId > idList)
Definition EvtIdSet.cpp:29
bool contains(const EvtId &id) const
Definition EvtIdSet.cpp:46
Definition EvtId.hh:27
static EvtId getId(const std::string &name)
Definition EvtPDL.cpp:283