7#include "THaCodaFile.h"
16 std::vector<UInt_t> header;
17 header.push_back((0x0001 << 16) | (0x10 << 8) | 0xCC);
20 header.push_back((0xC000 << 16) | (0x01 << 8) | 0x00);
33 buffer[2] = localtime;
34 buffer[3] = runnumber;
43 buffer[1] = ((
kGO_EVENT << 16) | (0x01 << 8) | 0xCC);
44 buffer[2] = localtime;
46 buffer[4] = eventcount;
55 buffer[2] = localtime;
57 buffer[4] = eventcount;
65 buffer[1] = ((
kEND_EVENT << 16) | (0x01 << 8) | 0xCC);
66 buffer[2] = localtime;
68 buffer[4] = eventcount;
76 UInt_t local_datatype;
77 UInt_t local_eventtype;
81 QwDebug <<
"QwEventBuffer::DecodeEventIDBank: " << std::hex
86 << buffer[4] << std::dec
89 if ( buffer[0] == 0 ){
110 fEvtTag = (buffer[1] & 0xFFFF0000) >> 16;
111 local_datatype = (buffer[1] & 0xFF00) >> 8;
121 if ( local_eventtype <= 15) {
157 QwDebug << Form(
"buffer[0-1] 0x%x 0x%x ; ",
158 buffer[0], buffer[1])
159 << Form(
"Length: %d; Tag: 0x%x; Bank data type: 0x%x; Bank ID num: 0x%x; ",
161 << Form(
"Evt type: 0x%x; Evt number %d; Evt Class 0x%.8x; ",
163 << Form(
"Status Summary: 0x%.8x; Words so far %d",
174 out << Form(
"Length: %d; Tag: 0x%x; Bank data type: 0x%x; Bank ID num: 0x%x; ",
176 << Form(
"Evt type: 0x%x; Evt number %d; Evt Class 0x%.8x; ",
An options class which parses command line, config file and environment.
#define QwDebug
Predefined log drain for debugging output.
CODA version 2 event decoder implementation.
void EncodePauseEventHeader(int *buffer, int eventcount, int localtime) override
void EncodeEndEventHeader(int *buffer, int eventcount, int localtime) override
void EncodeGoEventHeader(int *buffer, int eventcount, int localtime) override
void PrintDecoderInfo(QwLog &out) override
Int_t DecodeEventIDBank(UInt_t *buffer) override
std::vector< UInt_t > EncodePHYSEventHeader(std::vector< ROCID_t > &ROCList) override
void EncodePrestartEventHeader(int *buffer, int runnumber, int runtype, int localtime) override
void ProcessPause(UInt_t local_time, UInt_t evt_count)
void ProcessGo(UInt_t local_time, UInt_t evt_count)
void ProcessPrestart(UInt_t local_time, UInt_t local_runnumber, UInt_t local_runtype)
void ProcessEnd(UInt_t local_time, UInt_t evt_count)
void ProcessControlEvent(UInt_t evtype, UInt_t *buffer)
Logging and output management system with configurable verbosity levels.
static std::ostream & endl(std::ostream &)
End of the line.
UInt_t fEvtNumber
CODA event number; only defined for physics events.