Belle II Software development
KLMScintillatorSimulatorModule.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/* KLM headers. */
12#include <klm/dbobjects/KLMScintillatorDigitizationParameters.h>
13
14/* Basf2 headers. */
15#include <framework/core/Module.h>
16#include <framework/database/DBObjPtr.h>
17#include <framework/dbobjects/HardwareClockSettings.h>
18
19/* ROOT headers. */
20#include <TFile.h>
21
22namespace Belle2 {
35
36 public:
37
42
47
51 void initialize() override;
52
56 void beginRun() override;
57
61 void event() override;
62
66 void endRun() override;
67
71 void terminate() override;
72
73 private:
74
82 void generateHistogram(const char* name, double l, double d, int npe);
83
85 std::string m_mode;
86
88 std::string m_out;
89
91 TFile* m_fout;
92
95
98
101
103 float* m_hDir;
104
106 float* m_hRef;
107
108 };
109
111}
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Class to store KLM scintillator simulation parameters in the database.
Module KLMScintillatorSimulatorModule.
void generateHistogram(const char *name, double l, double d, int npe)
Generate output histogram.
void event() override
This method is called for each event.
void endRun() override
This method is called if the current run ends.
void terminate() override
This method is called at the end of the event processing.
KLMScintillatorDigitizationParameters * m_SciSimPar
Scintillator simulation parameters.
void beginRun() override
Called when entering a new run.
DBObjPtr< HardwareClockSettings > m_HardwareClockSettings
Hardware clock settings.
DBObjPtr< KLMScintillatorDigitizationParameters > m_SciSimParDatabase
Scintillator simulation parameters.
Base class for Modules.
Definition: Module.h:72
Abstract base class for different kinds of events.