Belle II Software  release-05-02-19
KLMPackerModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Petr Katrenko, Anselm Vossen, Giacomo De Pietro *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dataobjects/KLMDigit.h>
15 #include <klm/dataobjects/KLMElementNumbers.h>
16 #include <klm/dbobjects/KLMElectronicsMap.h>
17 
18 /* Belle 2 headers. */
19 #include <framework/core/Module.h>
20 #include <framework/database/DBObjPtr.h>
21 #include <framework/dataobjects/EventMetaData.h>
22 #include <framework/datastore/StoreArray.h>
23 #include <framework/datastore/StoreObjPtr.h>
24 #include <rawdata/dataobjects/RawKLM.h>
25 
26 /* C++ headers. */
27 #include <cstdint>
28 
29 namespace Belle2 {
41  class KLMPackerModule : public Module {
42 
43  public:
44 
49 
53  virtual ~KLMPackerModule();
54 
58  virtual void initialize() override;
59 
63  virtual void beginRun() override;
64 
68  virtual void event() override;
69 
73  virtual void endRun() override;
74 
78  virtual void terminate() override;
79 
80  private:
81 
96  void formatData(int flag, int lane, int plane, int strip, int charge, uint16_t ctime, uint16_t tdc,
97  uint16_t& bword1, uint16_t& bword2, uint16_t& bword3, uint16_t& bword4);
98 
99  /* Common objects. */
100 
103 
106 
109 
112 
115 
116  };
117 
119 }
Belle2::KLMPackerModule::endRun
virtual void endRun() override
This method is called if the current run ends.
Definition: KLMPackerModule.cc:157
Belle2::KLMPackerModule::KLMPackerModule
KLMPackerModule()
Constructor.
Definition: KLMPackerModule.cc:21
Belle2::KLMPackerModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: KLMPackerModule.cc:40
Belle2::KLMPackerModule::m_ElementNumbers
const KLMElementNumbers * m_ElementNumbers
Element numbers.
Definition: KLMPackerModule.h:119
Belle2::KLMPackerModule::m_RawKLMs
StoreArray< RawKLM > m_RawKLMs
Raw data.
Definition: KLMPackerModule.h:110
Belle2::KLMPackerModule::m_EventMetaData
StoreObjPtr< EventMetaData > m_EventMetaData
Event meta data.
Definition: KLMPackerModule.h:113
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::KLMPackerModule::event
virtual void event() override
This method is called for each event.
Definition: KLMPackerModule.cc:46
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::KLMPackerModule::terminate
virtual void terminate() override
This method is called at the end of the event processing.
Definition: KLMPackerModule.cc:161
Belle2::KLMPackerModule::formatData
void formatData(int flag, int lane, int plane, int strip, int charge, uint16_t ctime, uint16_t tdc, uint16_t &bword1, uint16_t &bword2, uint16_t &bword3, uint16_t &bword4)
Creation of raw data.
Definition: KLMPackerModule.cc:141
Belle2::KLMElementNumbers
KLM element numbers.
Definition: KLMElementNumbers.h:37
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::KLMPackerModule::m_ElectronicsMap
DBObjPtr< KLMElectronicsMap > m_ElectronicsMap
Electronics map.
Definition: KLMPackerModule.h:116
Belle2::KLMPackerModule::m_Digits
StoreArray< KLMDigit > m_Digits
KLM digits.
Definition: KLMPackerModule.h:122
Belle2::KLMPackerModule::initialize
virtual void initialize() override
Initializer.
Definition: KLMPackerModule.cc:33
Belle2::KLMPackerModule::~KLMPackerModule
virtual ~KLMPackerModule()
Destructor.
Definition: KLMPackerModule.cc:29