11#include <arich/dbobjects/ARICHMergerMapping.h>
12#include <framework/database/DBObjPtr.h>
14#include <framework/core/Module.h>
15#include <arich/modules/arichUnpacker/ARICHRawDataHeader.h>
50 virtual void event()
override;
59 void printBits(
const int* buffer,
int bufferSize);
87 unsigned int calbyte(
const int* buf);
88 unsigned int cal2byte(
const int* buf);
89 unsigned int calword(
const int* buf);
98 int shift = (3 -
m_ibyte % 4) * 8;
99 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
bitmask for hit detection (8bits/hit)
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.
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 readHeader(const int *buffer, unsigned &ibyte, ARICHRawHeader &head)
Read Merger header.
void readFEHeader(const int *buffer, unsigned &ibyte, ARICHRawHeader &head)
Read FE header.
virtual ~ARICHUnpackerModule()
Destructor.
Abstract base class for different kinds of events.