Belle II Software  release-06-01-15
ARICHRawUnpackerModule.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 #ifndef ARICHRAWUNPACKERMODULE_H
10 #define ARICHRAWUNPACKERMODULE_H
11 
12 #include <framework/core/HistoModule.h>
13 #include <TH1F.h>
14 
15 namespace Belle2 {
28 
29  public:
30 
35 
39  virtual ~ARICHRawUnpackerModule();
40 
41  virtual void defineHisto() override;
46  virtual void initialize() override;
47 
52  virtual void beginRun() override;
53 
57  virtual void event() override;
58 
63  virtual void endRun() override;
64 
69  virtual void terminate() override;
70 
71  protected:
72  unsigned int calbyte(const int* buf);
73  unsigned int calword(const int* buf);
74 
75  protected:
76  bool m_debug;
77  unsigned int m_ibyte = 0;
78  TH1* h_rate_a_all = NULL;//yone
79  TH1* h_rate_b_all = NULL;//yone
80  TH1* h_rate_c_all = NULL;//yone
81  TH1* h_rate_d_all = NULL;//yone
82 
83  };
84 
85  inline unsigned int ARICHRawUnpackerModule::calbyte(const int* buf)
86  {
87  int shift = (3 - m_ibyte % 4) * 8;
88  unsigned int val = 0xff & (buf[m_ibyte / 4] >> shift);
89  m_ibyte++;
90  return val;
91  }
92 
93  inline unsigned int ARICHRawUnpackerModule::calword(const int* buf)
94  {
95  return (calbyte(buf) << 24) | (calbyte(buf) << 16)
96  | (calbyte(buf) << 8) | calbyte(buf);
97  }
98 
99 
101 } // Belle2 namespace
102 
103 #endif
Fill ARICHHit collection from ARICHDigits.
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
virtual void endRun() override
End-of-run action.
virtual void terminate() override
Termination action.
virtual void beginRun() override
Called when entering a new run.
virtual ~ARICHRawUnpackerModule()
Destructor.
virtual void defineHisto() override
Function to define histograms.
Abstract base class for different kinds of events.