Belle II Software  release-06-02-00
ARICHPackerModule.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 ARICHPACKERMODULE_H
10 #define ARICHPACKERMODULE_H
11 
12 // mappers
13 #include <arich/dbobjects/ARICHMergerMapping.h>
14 #include <arich/dbobjects/ARICHCopperMapping.h>
15 
16 #include <framework/database/DBObjPtr.h>
17 
18 #include <framework/core/Module.h>
19 #include <string>
20 #include <arich/modules/arichUnpacker/ARICHRawDataHeader.h>
21 
22 namespace Belle2 {
34  class ARICHPackerModule : public Module {
35 
36  public:
37 
42 
46  virtual ~ARICHPackerModule();
47 
52  virtual void initialize() override;
53 
58  virtual void beginRun() override;
59 
63  virtual void event() override;
64 
69  virtual void endRun() override;
70 
75  virtual void terminate() override;
76 
77  void writeHeader(int* buffer, unsigned& ibyte, const ARICHRawHeader& head);
78 
79  private:
80 
81  unsigned m_nonSuppressed;
82  unsigned m_version;
83  unsigned m_bitMask;
84  int m_debug;
85  std::string m_inputDigitsName;
86  std::string m_outputRawDataName;
91  };
92 
94 } // Belle2 namespace
95 
96 #endif
Raw data packer for ARICH.
DBObjPtr< ARICHMergerMapping > m_mergerMap
mapping of modules to mergers
unsigned m_nonSuppressed
type of data (1 nonsuppressed, 0 suppressed)
std::string m_inputDigitsName
name of ARICHDigit store array
unsigned m_bitMask
bitmask for hit detection (4bit/hit)
std::string m_outputRawDataName
name of RawARICH store array
DBObjPtr< ARICHCopperMapping > m_copperMap
mapping of mergers to coppers
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Base class for Modules.
Definition: Module.h:72
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
virtual void endRun() override
End-of-run action.
virtual ~ARICHPackerModule()
Destructor.
virtual void terminate() override
Termination action.
virtual void beginRun() override
Called when entering a new run.
Abstract base class for different kinds of events.