#include <unpacker.hh>
Public Member Functions | |
Unpacker () | |
default constructor | |
Unpacker (unsigned int *buffer, unsigned int length, bool isHexVal) | |
Constructor. | |
~Unpacker () | |
default destructor | |
void | unpack () |
void | setEventBuffer (unsigned int *buffer, unsigned int length, bool isHexVal) |
unsigned int * | getEventBuffer () |
void | print () |
unsigned int | getMask (int numberOfBits) |
dccEvent * | getDCCEvent () |
void | getHTREvent (int nHTR, htrEvent &evHTR) throw (hcalDCC::Exception) |
void | printHTREvent (int nHTR) |
unsigned int | checkEvent (unsigned int *htrErrorArray) |
void | getLRBErrors (int nHTR, htrLrbErrors &lrbErrors) |
unsigned int | checkLRBErrors (int nHTR) |
void | getHTREventStatus (int nHTR, htrEventStatus &evStatus) |
unsigned int | checkHTREventStatus (int nHTR) |
void | getHTRChannelID (int nHTR, htrChannelId &chID) |
int | crc16d64 () |
The Unpacker class allows to check the integrity of the DCC events. It also provides methods to unpack and present in comprenhensible way the DCC data, e.g. event number, bunch crossing ID, data for a given HTR, etc.
|
Constructor. Constructor
|
|
Check data consistecy for a DCC event
|
|
Gets the ERROR code corresponding to Event Status for a given HTR
|
|
Checks the ERROR code corresponding to LRB error for a given HTR
|
|
Calculates the CRC16 from 64-bit words for the event
|
|
Gets a pointer to a dccEvent data structure
|
|
Gets a pointer to the current event buffer
|
|
Gets the ID Channel structure
|
|
Gets a HTR event
|
|
Gets the HTR Event Structure for a given HTR
|
|
Gets the HTR LRB errors structure
|
|
Gets the mask for an item n-bit long
|
|
Prints out 'undertandable' event information |
|
Prints a HTR event
|
|
Sets a new event buffer
|
|
Event unpacking function. This function is the one that actualy does the work. It is called by the constructors although it can also be called when the event buffer is changed by the function setEventBuffer |