78 std::cout<<
"Event start:"<<std::endl;
79 if(option[0] ==
'a') {
80 for(
size_t i = 0; i <
fData.size() / 4; ++i) {
81 std::cout<<
hex(((uint32_t*)
fData.data())[i],8)<<std::endl;
95#define QWORD_SWAP(x) \
98 _tmp = *((BYTE*)(x)); \
99 *((BYTE*)(x)) = *(((BYTE*)(x)) + 7); \
100 *(((BYTE*)(x)) + 7) = _tmp; \
101 _tmp = *(((BYTE*)(x)) + 1); \
102 *(((BYTE*)(x)) + 1) = *(((BYTE*)(x)) + 6); \
103 *(((BYTE*)(x)) + 6) = _tmp; \
104 _tmp = *(((BYTE*)(x)) + 2); \
105 *(((BYTE*)(x)) + 2) = *(((BYTE*)(x)) + 5); \
106 *(((BYTE*)(x)) + 5) = _tmp; \
107 _tmp = *(((BYTE*)(x)) + 3); \
108 *(((BYTE*)(x)) + 3) = *(((BYTE*)(x)) + 4); \
109 *(((BYTE*)(x)) + 4) = _tmp; \
114#define DWORD_SWAP(x) \
117 _tmp = *((BYTE*)(x)); \
118 *((BYTE*)(x)) = *(((BYTE*)(x)) + 3); \
119 *(((BYTE*)(x)) + 3) = _tmp; \
120 _tmp = *(((BYTE*)(x)) + 1); \
121 *(((BYTE*)(x)) + 1) = *(((BYTE*)(x)) + 2); \
122 *(((BYTE*)(x)) + 2) = _tmp; \
127#define WORD_SWAP(x) \
130 _tmp = *((BYTE*)(x)); \
131 *((BYTE*)(x)) = *(((BYTE*)(x)) + 1); \
132 *(((BYTE*)(x)) + 1) = _tmp; \
std::string hex(T val, int width=-1)
ClassImp(THILMnemonic) void THILMnemonic
~TLstEvent() override
destructor
int SwapBytes(bool) override
convert event data between little-endian (Linux-x86) and big endian (MacOS-PPC)
uint32_t GetDataSize() const override
return the event size
void SetData(std::vector< char > &buffer)
set an externally allocated data buffer
char * GetData() override
return pointer to the data buffer
TLstEvent()
default constructor
std::vector< char > fData
event data buffer
void Clear(Option_t *opt="") override
clear event for reuse
void Copy(TObject &) const override
copy helper
TLstEvent & operator=(const TLstEvent &)
assignement operator
void Print(const char *option="") const override
show all event information