Belle II Software  release-08-01-10
DecayStringDecay.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 #include <string>
11 #include <vector>
12 #include <boost/fusion/include/adapt_struct.hpp>
13 #include <analysis/DecayDescriptor/DecayString.h>
14 #include <analysis/DecayDescriptor/DecayStringParticle.h>
15 
16 namespace Belle2 {
30  std::string m_strArrow;
32  std::vector<DecayString> m_daughters;
34  std::vector<std::string> m_keywords;
35  };
37 }
38 
39 // introduce the DecayStringDecay struct to boost:fusion
40 // this enables direct parsing into the struct with the boost::spirit::qi package
41 // It is necessary to call this in the global scope
42 BOOST_FUSION_ADAPT_STRUCT(
44  (Belle2::DecayStringParticle, m_mother)
45  (std::string, m_strArrow)
46  (std::vector<Belle2::DecayString>, m_daughters)
47  (std::vector<std::string>, m_keywords)
48 )
49 
50 
Abstract base class for different kinds of events.
Holds the information of a decay.
std::vector< DecayString > m_daughters
The decay products.
std::string m_strArrow
The arrow of the decay string.
DecayStringParticle m_mother
Mother particle.
std::vector< std::string > m_keywords
The keyword list for custom MC Matching.
Holds the information of a particle in the decay string.