Belle II Software development
EvtGenDecayModule.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
11/* Basf2 headers. */
12#include <framework/core/Module.h>
13#include <generators/evtgen/EvtGenInterface.h>
14#include <generators/utilities/InitialParticleGeneration.h>
15#include <mdst/dataobjects/MCParticleGraph.h>
16
17/* C++ headers. */
18#include <string>
19
20namespace Belle2 {
29 class EvtGenDecayModule : public Module {
30
31 public:
32
37
41 virtual ~EvtGenDecayModule();
42
46 virtual void initialize() override;
47
51 virtual void beginRun() override;
52
56 virtual void event() override;
57
61 virtual void endRun() override;
62
66 virtual void terminate() override;
67
68 private:
69
74
76 std::string m_DecFile;
77
79 std::string m_UserDecFile;
80
83
86
89
92
94 std::set<int> m_DecayableParticles;
95
98
99 };
100
102}
103
104
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
This module decays unstable particles using EvtGen.
virtual void initialize() override
Initialization.
virtual void event() override
This method is called for each event.
virtual void endRun() override
This method is called if the current run ends.
virtual void terminate() override
This method is called at the end of the event processing.
bool m_Initialized
Whether the generator is initialized or not.
std::string m_DecFile
Decay file.
virtual void beginRun() override
This method is called when entering a new run.
DBObjPtr< BeamParameters > m_BeamParameters
Beam parameters.
std::string m_UserDecFile
User decay file.
MCParticleGraph m_Graph
MCParticle graph.
std::string m_MCParticleColName
MCParticle collection name.
EvtGenInterface m_EvtGenInterface
Evtgen interface.
std::set< int > m_DecayableParticles
Monte-Carlo codes of particles that can be decayed by EvtGen.
virtual ~EvtGenDecayModule()
Destructor.
void initializeGenerator()
Generator initialization.
Class to interface EvtGen.
Class to build, validate and sort a particle decay chain.
Base class for Modules.
Definition: Module.h:72
Abstract base class for different kinds of events.