51 B2INFO(
"DeSerializerHLT: initialize() started.");
57 for (
int i = 0 ; i < NUM_PREALLOC_BUF; i++) {
64 for (
int i = 0 ; i < NUM_PREALLOC_BUF; i++) {
69 m_eventMetaDataPtr.registerInDataStore();
72 raw_datablkarray.registerInDataStore();
73 rawcprarray.registerInDataStore();
74 raw_cdcarray.registerInDataStore();
75 raw_svdarray.registerInDataStore();
76 raw_bpidarray.registerInDataStore();
77 raw_epidarray.registerInDataStore();
78 raw_eclarray.registerInDataStore();
79 raw_klmarray.registerInDataStore();
80 raw_ftswarray.registerInDataStore();
90 memset(time_array0, 0,
sizeof(time_array0));
91 memset(time_array1, 0,
sizeof(time_array1));
92 memset(time_array2, 0,
sizeof(time_array2));
97 B2INFO(
"DeSerializerHLT: initialize() done.");
108 B2INFO(
"DeSerializerHLT: event() started.");
116 for (
int j = 0; j < NUM_EVT_PER_BASF2LOOP_PC; j++) {
118 int total_buf_nwords = 0 ;
120 int num_events_in_sendblock = 0;
121 int num_nodes_in_sendblock = 0;
124 int* temp_buf =
recvData(&delete_flag, &total_buf_nwords,
125 &num_events_in_sendblock, &num_nodes_in_sendblock);
127 temp_rawcopper.
SetBuffer(temp_buf, total_buf_nwords, delete_flag, num_events_in_sendblock, num_nodes_in_sendblock);
131 for (
int k = 0; k < temp_rawcopper.
GetNumEvents(); k++) {
132 for (
int l = 0; l < temp_rawcopper.
GetNumNodes(); l++) {
136 int* temp_buf2 = NULL;
137 int delete_flag2 = 0;
139 memcpy(temp_buf2, temp_rawcopper.
GetBuffer(index),
sizeof(
int)*buf_nwords);
140 const int temp_num_events = 1;
141 const int temp_num_nodes = 1;
146 switch (temp_rawcopper.
GetNodeID(k * num_nodes_in_sendblock + l) & DETECTOR_MASK) {
149 rawcdc = raw_cdcarray.appendNew();
150 rawcdc->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
154 rawsvd = raw_svdarray.appendNew();
155 rawsvd->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
159 rawecl = raw_eclarray.appendNew();
160 rawecl->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
164 rawbpid = raw_bpidarray.appendNew();
165 rawbpid->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
169 rawepid = raw_epidarray.appendNew();
170 rawepid->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
174 rawklm = raw_klmarray.appendNew();
175 rawklm->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
179 rawcopper = rawcprarray.appendNew();
180 rawcopper->
SetBuffer(temp_buf2, buf_nwords, delete_flag2, temp_num_events, temp_num_nodes);
187 m_totbytes += total_buf_nwords *
sizeof(int);
189 if (delete_flag == 1)
delete temp_buf;
195 m_eventMetaDataPtr.create();
196 m_eventMetaDataPtr->setExperiment(1);
197 m_eventMetaDataPtr->setRun(1);
206 m_eventMetaDataPtr->setEndOfData();
void SetBuffer(int *bufin, int nwords, int delete_flag, int num_events, int num_nodes) OVERRIDE_CPP17
set buffer ( delete_flag : m_buffer is freed( = 0 )/ not freed( = 1 ) in Destructor )