27 uint32_t ndata,
const uint32_t*
data, uint32_t status_position)
32 m_header[1] = 21 + ndata;
42 m_rod_header[4] = run_no;
43 m_rod_header[5] = lvl1_id;
44 m_rod_header[6] = bc_id;
45 m_rod_header[7] = lvl1_type;
46 m_rod_header[8] = detev_type;
48 m_rod_trailer[1] = ndata;
52 set(m_node[0], m_header, 6, &m_node[1]);
54 set(m_node[2], &m_header[6], 1, &m_node[3]);
56 set(m_node[3], m_rod_header, 9, &m_node[4]);
58 set(m_node[5],
data, ndata, &m_node[6]);
61 set(m_node[3], m_rod_header, 9, &m_node[5]);
62 set(m_node[5],
data, ndata, &m_node[4]);
65 set(m_node[6], m_rod_trailer, 3, 0);
66 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
67 "Built (write) rob/rod fragment from scratch, with",
96 set(m_node[0], m_header, 6, &m_node[1]);
98 set(m_node[2], &m_header[6], 1, &m_node[3]);
100 set(m_node[3], m_rod_header, 9, &m_node[4]);
102 set(m_node[5], 0, 0, &m_node[6]);
105 set(m_node[3], m_rod_header, 9, &m_node[5]);
106 set(m_node[5], 0, 0, &m_node[4]);
109 set(m_node[6], m_rod_trailer, 3, 0);
110 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
111 "Built (write) empty rob/rod fragment, with",
134 m_header[4] = rod[3];
139 set(m_node[0], m_header, 6, &m_node[1]);
141 set(m_node[2], &m_header[6], 1, &m_node[3]);
144 set(m_node[3], rod, 9, &m_node[4]);
145 set(m_node[4], &rod[9], m_node[6].base[0], &m_node[5]);
146 set(m_node[5], &rod[9+m_node[6].base[0]], m_node[6].base[1], &m_node[6]);
149 set(m_node[3], rod, 9, &m_node[5]);
150 set(m_node[4], &rod[9+m_node[6].base[1]], m_node[6].base[0], &m_node[6]);
151 set(m_node[5], &rod[9], m_node[6].base[1], &m_node[4]);
153 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
154 "Built (write) rob/rod fragment from rod on memory, with",
163 set(m_node[0], rob, 6, &m_node[1]);
164 set(m_node[1], &rob[6], rob[5], &m_node[2]);
165 set(m_node[2], &rob[6+rob[5]], 1, &m_node[3]);
166 set(m_node[6], &rob[rob[1]-3], 3, 0);
168 set(m_node[3], &rob[rob[2]], 9, &m_node[4]);
169 set(m_node[4], &rob[rob[2]+9], m_node[6].base[0], &m_node[5]);
170 set(m_node[5], &rob[rob[2]+9+m_node[6].base[0]], m_node[6].base[1],
174 set(m_node[3], &rob[rob[2]], 9, &m_node[5]);
175 set(m_node[4], &rob[rob[2]+9+m_node[6].base[1]], m_node[6].base[0],
177 set(m_node[5], &rob[rob[2]+9], m_node[6].base[1], &m_node[4]);
179 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
180 "Built (write) rob/rod fragment from cont. memory, with",
188 memcpy(
reinterpret_cast<void*
>(m_header),
189 reinterpret_cast<const void*
>(other.m_node[0].base),
191 m_header[6] = other.m_node[2].base[0];
192 memcpy(
reinterpret_cast<void*
>(m_rod_header),
193 reinterpret_cast<const void*
>(other.m_node[3].base),
195 memcpy(
reinterpret_cast<void*
>(m_rod_trailer),
196 reinterpret_cast<const void*
>(other.m_node[6].base),
200 set(m_node[0], m_header, 6, &m_node[1]);
201 set(m_node[1], other.m_node[1].base, other.m_node[1].size_word, &m_node[2]);
202 set(m_node[2], &m_header[6], 1, &m_node[3]);
204 set(m_node[3], m_rod_header, 9, &m_node[4]);
205 set(m_node[4], other.m_node[4].base,
206 other.m_node[4].size_word, &m_node[5]);
207 set(m_node[5], other.m_node[5].base,
208 other.m_node[5].size_word, &m_node[6]);
211 set(m_node[3], m_rod_header, 9, &m_node[5]);
212 set(m_node[5], other.m_node[5].base,
213 other.m_node[5].size_word, &m_node[4]);
214 set(m_node[4], other.m_node[4].base,
215 other.m_node[4].size_word, &m_node[6]);
217 set(m_node[6], m_rod_trailer, 3, 0);
218 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
219 "Copied (write) rob/rod fragment with",