Belle II Software
release-08-01-10
dump_header.cc
1
/**************************************************************************
2
* basf2 (Belle II Analysis Software Framework) *
3
* Author: The Belle II Collaboration *
4
* *
5
* See git log for contributors and copyright holders. *
6
* This file is licensed under LGPL-3.0, see LICENSE.md. *
7
**************************************************************************/
8
9
#include <stdio.h>
10
#include <unistd.h>
11
#include <vector>
12
13
using namespace
std;
14
15
enum
{
16
POS_NWORDS = 0,
17
POS_HDR_NWORDS = 1,
18
POS_NUM_EVE_NUM_NODES = 2,
19
POS_EXP_RUN_NUM = 3,
20
POS_EVE_NUM = 4,
21
POS_NODE_ID = 5
22
};
23
24
enum
{
25
EXP_MASK = 0xFFC00000,
26
EXP_SHIFT = 22,
27
RUNNO_MASK = 0x003FFF00,
28
RUNNO_SHIFT = 8,
29
SUBRUNNO_MASK = 0x000000FF
30
};
31
32
33
34
int
main
()
35
{
36
vector<unsigned int> buf(400000);
37
int
infn = fileno(stdin);
38
printf(
"infn = %u\n"
, infn);
39
40
int
nrec = 0;
41
for
(;;) {
42
int
is = read(infn, &buf[0], 4);
43
// printf ( "buf[0] = %d\n", buf[0] );
44
if
(is <= 0)
break
;
45
is = read(infn, &buf[1], (buf[0] - 1) * 4);
46
// printf ( "nw = %d, 1st = %d, 2nd = %d, 3rd = %d\n",
47
// buf[0], buf[1], buf[2], buf[3] );
48
// printf ( "exprunnum = %8.8x, evtnum = %8.8x\n", buf[POS_EXP_RUN_NUM],
49
// buf[POS_EVE_NUM] );
50
int
exp = (buf[ POS_EXP_RUN_NUM ] & EXP_MASK) >> EXP_SHIFT;
51
int
run = (buf[ POS_EXP_RUN_NUM ] & RUNNO_MASK) >> RUNNO_SHIFT;
52
int
evt = buf[ POS_EVE_NUM ];
53
54
printf(
"Nrec:%d ; Nw:%d ; Exp:%d, Run:%d, Evt:%d\n"
,
55
nrec, buf[0], exp, run, evt);
56
nrec++;
57
}
58
59
}
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:91
daq
rawdata
tools
dump_header.cc
Generated on Mon Sep 23 2024 14:01:13 for Belle II Software by
1.9.1