207 uint32_t data_word0 = 0;
208 uint32_t data_word1 = 0;
209 uint32_t data_word2 = 0;
210 uint32_t data_word3 = 0;
211 uint32_t data_word0p = 0;
212 uint32_t data_word1p = 0;
213 uint32_t data_word2p = 0;
214 uint32_t data_word3p = 0;
215 uint32_t data_word0n = 0;
216 uint32_t data_word1n = 0;
217 uint32_t data_word2n = 0;
218 uint32_t data_word3n = 0;
224 int hitcounter0p = 0;
225 int hitcounter1p = 0;
226 int hitcounter2p = 0;
227 int hitcounter3p = 0;
228 int hitcounter0n = 0;
229 int hitcounter1n = 0;
230 int hitcounter2n = 0;
231 int hitcounter3n = 0;
233 for (
int tubeID=0; tubeID<40; tubeID++) {
241 isHit = (
m_word0 >>bit)&1;
if (isHit) { data_word0 |= (1 << tubeID); hitcounter0++; }
242 isHit = (
m_word0p>>bit)&1;
if (isHit) { data_word0p |= (1 << tubeID); hitcounter0p++; }
243 isHit = (
m_word0n>>bit)&1;
if (isHit) { data_word0n |= (1 << tubeID); hitcounter0n++; }
245 else if (tubeID < 20) {
247 isHit = (
m_word2 >>bit)&1;
if (isHit) { data_word2 |= (1 << (tubeID-16)); hitcounter2++; }
248 isHit = (
m_word2p>>bit)&1;
if (isHit) { data_word2p |= (1 << (tubeID-16)); hitcounter2p++; }
249 isHit = (
m_word2n>>bit)&1;
if (isHit) { data_word2n |= (1 << (tubeID-16)); hitcounter2n++; }
251 else if (tubeID < 36) {
253 isHit = (
m_word1 >>bit)&1;
if (isHit) { data_word1 |= (1 << (tubeID-20)); hitcounter1++; }
254 isHit = (
m_word1p>>bit)&1;
if (isHit) { data_word1p |= (1 << (tubeID-20)); hitcounter1p++; }
255 isHit = (
m_word1n>>bit)&1;
if (isHit) { data_word1n |= (1 << (tubeID-20)); hitcounter1n++; }
259 isHit = (
m_word3 >>bit)&1;
if (isHit) { data_word3 |= (1 << (tubeID-36)); hitcounter3++; }
260 isHit = (
m_word3p>>bit)&1;
if (isHit) { data_word3p |= (1 << (tubeID-36)); hitcounter3p++; }
261 isHit = (
m_word3n>>bit)&1;
if (isHit) { data_word3n |= (1 << (tubeID-36)); hitcounter3n++; }
265 setWord0(data_word0 |= (hitcounter0 << 24));
266 setWord1(data_word1 |= (hitcounter1 << 24));
267 setWord2(data_word2 |= (hitcounter2 << 24));
268 setWord3(data_word3 |= (hitcounter3 << 24));
270 setWord0p(data_word0p |= (hitcounter0p << 24));
271 setWord1p(data_word1p |= (hitcounter1p << 24));
272 setWord2p(data_word2p |= (hitcounter2p << 24));
273 setWord3p(data_word3p |= (hitcounter3p << 24));
275 setWord0n(data_word0n |= (hitcounter0n << 24));
276 setWord1n(data_word1n |= (hitcounter1n << 24));
277 setWord2n(data_word2n |= (hitcounter2n << 24));
278 setWord3n(data_word3n |= (hitcounter3n << 24));
283 uint32_t data_word0 = 0;
284 uint32_t data_word1 = 0;
285 uint32_t data_word2 = 0;
286 uint32_t data_word3 = 0;
293 std::cout << std::hex
294 <<
" m_word0: " <<
m_word0 << std::endl
295 <<
" m_word1: " <<
m_word1 << std::endl
296 <<
" m_word2: " <<
m_word2 << std::endl
297 <<
" m_word3: " <<
m_word3 << std::endl
300 for (
int tubeID=0; tubeID<40; tubeID++) {
306 if (tubeID < 16) { data_word0 |= (1 << bit); hitcounter0++; }
307 else if (tubeID < 20) { data_word2 |= (1 << bit); hitcounter2++; }
308 else if (tubeID < 36) { data_word1 |= (1 << bit); hitcounter1++; }
309 else { data_word3 |= (1 << bit); hitcounter3++; }
312 std::cout <<
" hitcounter0: " << std::setw(10) << hitcounter0 << std::endl
313 <<
" hitcounter1: " << std::setw(10) << hitcounter1 << std::endl
314 <<
" hitcounter2: " << std::setw(10) << hitcounter2 << std::endl
315 <<
" hitcounter3: " << std::setw(10) << hitcounter3 << std::endl;
317 data_word0 |= (hitcounter0 << 24);
318 data_word1 |= (hitcounter1 << 24);
319 data_word2 |= (hitcounter2 << 24);
320 data_word3 |= (hitcounter3 << 24);
322 std::cout << std::hex
323 <<
" data_word0: " << data_word0 << std::endl
324 <<
" data_word1: " << data_word1 << std::endl
325 <<
" data_word2: " << data_word2 << std::endl
326 <<
" data_word3: " << data_word3 << std::endl