9 #ifndef ARICHUNPACKERMODULE_H
10 #define ARICHUNPACKERMODULE_H
13 #include <arich/dbobjects/ARICHMergerMapping.h>
14 #include <framework/database/DBObjPtr.h>
16 #include <framework/core/Module.h>
17 #include <arich/modules/arichUnpacker/ARICHRawDataHeader.h>
61 virtual void event()
override;
67 virtual void endRun()
override;
83 void printBits(
const int* buffer,
int bufferSize);
84 void readHeader(
const int* buffer,
unsigned& ibyte,
ARICHRawHeader& head);
103 unsigned int calbyte(
const int* buf);
104 unsigned int cal2byte(
const int* buf);
105 unsigned int calword(
const int* buf);
114 int shift = (3 -
m_ibyte % 4) * 8;
115 unsigned int val = 0xff & (buf[
m_ibyte / 4] >> shift);
Raw data unpacker for ARICH.
DBObjPtr< ARICHMergerMapping > m_mergerMap
mapping of modules to mergers
std::string m_outputarichinfoName
name of ARICHInfo store object
int m_rawmode
Activate Raw Unpacker.
std::string m_outputRawDigitsName
name of ARICHRawDigit store array
uint8_t m_bitMask
read FE header
std::string m_outputDigitsName
name of ARICHDigit store array
int m_disable_unpacker
Disable regular Unpacker.
std::string m_inputRawDataName
name of RawARICH store array
unsigned int m_ibyte
bye index of raw unpacker
Class for accessing objects in the database.
unsigned int calbyte(const int *buf)
calculate number of bytes in raw Unpacker
ARICHUnpackerModule()
Constructor.
virtual void initialize() override
Initialize the Module.
unsigned int calword(const int *buf)
calculate number of words in raw Unpacker
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.
void printBits(const int *buffer, int bufferSize)
Unpack raw data given in production format.
unsigned int cal2byte(const int *buf)
calculate number of lines (2 bytes) in raw Unpacker
void readFEHeader(const int *buffer, unsigned &ibyte, ARICHRawHeader &head)
read Merger header
virtual ~ARICHUnpackerModule()
Destructor.
Abstract base class for different kinds of events.