21 uint32_t lvl1_id, uint32_t bc_id, uint32_t lvl1_type,
22 uint32_t detev_type, uint32_t ndata,
24 : m_parent( 0 ), m_next( 0 ) {
26 m_header[1] = 21 + ndata;
36 m_rod_header[4] = run_no;
37 m_rod_header[5] = lvl1_id;
38 m_rod_header[6] = bc_id;
39 m_rod_header[7] = lvl1_type;
40 m_rod_header[8] = detev_type;
42 m_rod_trailer[1] = ndata;
46 set( m_node[0], m_header, 6, &m_node[1] );
48 set( m_node[2], &m_header[6], 1, &m_node[3] );
51 set( m_node[3], m_rod_header, 9, &m_node[4] );
53 set( m_node[5],
data, ndata, &m_node[6] );
57 set( m_node[3], m_rod_header, 9, &m_node[5] );
58 set( m_node[5],
data, ndata, &m_node[4] );
61 set( m_node[6], m_rod_trailer, 3, 0 );
62 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
89 set( m_node[0], m_header, 6, &m_node[1] );
91 set( m_node[2], &m_header[6], 1, &m_node[3] );
94 set( m_node[3], m_rod_header, 9, &m_node[4] );
96 set( m_node[5], 0, 0, &m_node[6] );
100 set( m_node[3], m_rod_header, 9, &m_node[5] );
101 set( m_node[5], 0, 0, &m_node[4] );
104 set( m_node[6], m_rod_trailer, 3, 0 );
105 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
119 : m_parent( 0 ), m_next( 0 ) {
124 m_header[4] = rod[3];
129 set( m_node[0], m_header, 6, &m_node[1] );
131 set( m_node[2], &m_header[6], 1, &m_node[3] );
135 set( m_node[3], rod, 9, &m_node[4] );
136 set( m_node[4], &rod[9], m_node[6].base[0], &m_node[5] );
137 set( m_node[5], &rod[9 + m_node[6].base[0]], m_node[6].base[1], &m_node[6] );
141 set( m_node[3], rod, 9, &m_node[5] );
142 set( m_node[4], &rod[9 + m_node[6].base[1]], m_node[6].base[0], &m_node[6] );
143 set( m_node[5], &rod[9], m_node[6].base[1], &m_node[4] );
145 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
146 "Built (write) rob/rod fragment from rod on memory, with",
source_id(),
152 set( m_node[0], rob, 6, &m_node[1] );
153 set( m_node[1], &rob[6], rob[5], &m_node[2] );
154 set( m_node[2], &rob[6 + rob[5]], 1, &m_node[3] );
155 set( m_node[6], &rob[rob[1] - 3], 3, 0 );
158 set( m_node[3], &rob[rob[2]], 9, &m_node[4] );
159 set( m_node[4], &rob[rob[2] + 9], m_node[6].base[0], &m_node[5] );
160 set( m_node[5], &rob[rob[2] + 9 + m_node[6].base[0]], m_node[6].base[1],
165 set( m_node[3], &rob[rob[2]], 9, &m_node[5] );
166 set( m_node[4], &rob[rob[2] + 9 + m_node[6].base[1]], m_node[6].base[0], &m_node[6] );
167 set( m_node[5], &rob[rob[2] + 9], m_node[6].base[1], &m_node[4] );
169 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
170 "Built (write) rob/rod fragment from cont. memory, with",
source_id(),
177 memcpy(
reinterpret_cast<void*
>( m_header ),
178 reinterpret_cast<const void*
>( other.m_node[0].base ), 6 *
sizeof( uint32_t ) );
179 m_header[6] = other.m_node[2].base[0];
180 memcpy(
reinterpret_cast<void*
>( m_rod_header ),
181 reinterpret_cast<const void*
>( other.m_node[3].base ), 9 *
sizeof( uint32_t ) );
182 memcpy(
reinterpret_cast<void*
>( m_rod_trailer ),
183 reinterpret_cast<const void*
>( other.m_node[6].base ), 3 *
sizeof( uint32_t ) );
186 set( m_node[0], m_header, 6, &m_node[1] );
187 set( m_node[1], other.m_node[1].base, other.m_node[1].size_word, &m_node[2] );
188 set( m_node[2], &m_header[6], 1, &m_node[3] );
191 set( m_node[3], m_rod_header, 9, &m_node[4] );
192 set( m_node[4], other.m_node[4].base, other.m_node[4].size_word, &m_node[5] );
193 set( m_node[5], other.m_node[5].base, other.m_node[5].size_word, &m_node[6] );
197 set( m_node[3], m_rod_header, 9, &m_node[5] );
198 set( m_node[5], other.m_node[5].base, other.m_node[5].size_word, &m_node[4] );
199 set( m_node[4], other.m_node[4].base, other.m_node[4].size_word, &m_node[6] );
201 set( m_node[6], m_rod_trailer, 3, 0 );
202 ERS_DEBUG_3(
"%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",