Belle II Software  release-05-01-25
ARICHRawUnpackerModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luka Santelj *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef ARICHRAWUNPACKERMODULE_H
12 #define ARICHRAWUNPACKERMODULE_H
13 
14 #include <framework/core/HistoModule.h>
15 #include <TH1F.h>
16 
17 namespace Belle2 {
29  class ARICHRawUnpackerModule : public HistoModule {
30 
31  public:
32 
37 
41  virtual ~ARICHRawUnpackerModule();
42 
43  virtual void defineHisto() override;
48  virtual void initialize() override;
49 
54  virtual void beginRun() override;
55 
59  virtual void event() override;
60 
65  virtual void endRun() override;
66 
71  virtual void terminate() override;
72 
73  protected:
74  unsigned int calbyte(const int* buf);
75  unsigned int calword(const int* buf);
76 
77  protected:
78  bool m_debug;
79  unsigned int m_ibyte = 0;
80  TH1* h_rate_a_all = NULL;//yone
81  TH1* h_rate_b_all = NULL;//yone
82  TH1* h_rate_c_all = NULL;//yone
83  TH1* h_rate_d_all = NULL;//yone
84 
85  };
86 
87  inline unsigned int ARICHRawUnpackerModule::calbyte(const int* buf)
88  {
89  int shift = (3 - m_ibyte % 4) * 8;
90  unsigned int val = 0xff & (buf[m_ibyte / 4] >> shift);
91  m_ibyte++;
92  return val;
93  }
94 
95  inline unsigned int ARICHRawUnpackerModule::calword(const int* buf)
96  {
97  return (calbyte(buf) << 24) | (calbyte(buf) << 16)
98  | (calbyte(buf) << 8) | calbyte(buf);
99  }
100 
101 
103 } // Belle2 namespace
104 
105 #endif
Belle2::ARICHRawUnpackerModule::terminate
virtual void terminate() override
Termination action.
Definition: ARICHRawUnpackerModule.cc:171
Belle2::ARICHRawUnpackerModule::event
virtual void event() override
Event processor.
Definition: ARICHRawUnpackerModule.cc:71
Belle2::ARICHRawUnpackerModule::endRun
virtual void endRun() override
End-of-run action.
Definition: ARICHRawUnpackerModule.cc:167
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHRawUnpackerModule::~ARICHRawUnpackerModule
virtual ~ARICHRawUnpackerModule()
Destructor.
Definition: ARICHRawUnpackerModule.cc:46
Belle2::ARICHRawUnpackerModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: ARICHRawUnpackerModule.cc:58
Belle2::ARICHRawUnpackerModule::ARICHRawUnpackerModule
ARICHRawUnpackerModule()
Constructor.
Definition: ARICHRawUnpackerModule.cc:41
Belle2::ARICHRawUnpackerModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: ARICHRawUnpackerModule.cc:67
Belle2::ARICHRawUnpackerModule::defineHisto
virtual void defineHisto() override
Function to define histograms.
Definition: ARICHRawUnpackerModule.cc:50