64 fHeader.
fTape = *
reinterpret_cast<const uint16_t*
>(buffer + 14);
104 printf(
"Event start:\n");
105 if(option[0] ==
'a') {
106 for(
size_t i = 0; i <
fData.size() / 4; ++i) {
107 printf(
"0x%08x", ((uint32_t*)
fData.data())[i]);
121#define QWORD_SWAP(x) \
124 _tmp = *((BYTE*)(x)); \
125 *((BYTE*)(x)) = *(((BYTE*)(x)) + 7); \
126 *(((BYTE*)(x)) + 7) = _tmp; \
127 _tmp = *(((BYTE*)(x)) + 1); \
128 *(((BYTE*)(x)) + 1) = *(((BYTE*)(x)) + 6); \
129 *(((BYTE*)(x)) + 6) = _tmp; \
130 _tmp = *(((BYTE*)(x)) + 2); \
131 *(((BYTE*)(x)) + 2) = *(((BYTE*)(x)) + 5); \
132 *(((BYTE*)(x)) + 5) = _tmp; \
133 _tmp = *(((BYTE*)(x)) + 3); \
134 *(((BYTE*)(x)) + 3) = *(((BYTE*)(x)) + 4); \
135 *(((BYTE*)(x)) + 4) = _tmp; \
140#define DWORD_SWAP(x) \
143 _tmp = *((BYTE*)(x)); \
144 *((BYTE*)(x)) = *(((BYTE*)(x)) + 3); \
145 *(((BYTE*)(x)) + 3) = _tmp; \
146 _tmp = *(((BYTE*)(x)) + 1); \
147 *(((BYTE*)(x)) + 1) = *(((BYTE*)(x)) + 2); \
148 *(((BYTE*)(x)) + 2) = _tmp; \
153#define WORD_SWAP(x) \
156 _tmp = *((BYTE*)(x)); \
157 *((BYTE*)(x)) = *(((BYTE*)(x)) + 1); \
158 *(((BYTE*)(x)) + 1) = _tmp; \
ClassImp(THILMnemonic) void THILMnemonic
void Copy(TObject &) const override
copy helper
void SetHeader(const char *buffer)
set an externally allocated header buffer
void Clear(Option_t *opt="") override
clear event for reuse
TTdrEventHeader fHeader
event header
TTdrEvent & operator=(const TTdrEvent &)
assignement operator
std::vector< char > fData
event data buffer
uint32_t GetDataSize() const override
return the event size
TTdrEvent()
default constructor
void Print(const char *option="") const override
show all event information
void SetData(const std::vector< char > &buffer)
set an externally allocated data buffer
int SwapBytes(bool) override
convert event data between little-endian (Linux-x86) and big endian (MacOS-PPC)
char * GetData() override
return pointer to the data buffer
~TTdrEvent() override
destructor