diff options
Diffstat (limited to 'src/zdab-cat.c')
-rw-r--r-- | src/zdab-cat.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/zdab-cat.c b/src/zdab-cat.c index 12729d2..35fbc7d 100644 --- a/src/zdab-cat.c +++ b/src/zdab-cat.c @@ -58,7 +58,7 @@ int main(int argc, char **argv) { int i; zebraFile *f; - zebraBank bmast, mc, bmcgn, mctk, b; + zebraBank bmast, mc, bmcgn, mctk, b, rhdr; int rv; EVBank bev; FTPVBank bftpv; @@ -67,6 +67,7 @@ int main(int argc, char **argv) MCBank bmc; MCTKBank bmctk; MCVXBank bmcvx; + RHDRBank brhdr; event ev = {0}; char *filename = NULL; char *output = NULL; @@ -77,6 +78,8 @@ int main(int argc, char **argv) static HDF5Event hdf5_events[MAX_NEVENTS]; int nmcgn = 0; static HDF5MCGN hdf5_mcgn[MAX_NEVENTS]; + int nrhdr = 0; + static HDF5RHDR hdf5_rhdr[MAX_NEVENTS]; int verbose = 0; int32_t gtid = -1; @@ -167,6 +170,25 @@ int main(int argc, char **argv) goto err; } + if (bmast.links[KMAST_RHDR-1] != 0) { + rv = zebra_get_bank(f,&rhdr,bmast.links[KMAST_RHDR-1]); + + if (rv) { + fprintf(stderr, "error getting RHDR bank: %s\n", zebra_err); + goto err; + } + + unpack_rhdr(rhdr.data, &brhdr); + + hdf5_rhdr[nrhdr].run = brhdr.run_number; + hdf5_rhdr[nrhdr].run_mask = brhdr.run_mask; + hdf5_rhdr[nrhdr].first_gtid = brhdr.first_gt; + + nrhdr += 1; + + continue; + } + if (bmast.links[KMAST_EV-1] == 0) { /* First logical record in SNOCR files doesn't have an EV bank. */ continue; @@ -369,7 +391,7 @@ skip_event: } if (output) { - save_output(output, hdf5_events, nevents, hdf5_mcgn, nmcgn, NULL, 0); + save_output(output, hdf5_events, nevents, hdf5_mcgn, nmcgn, NULL, 0, hdf5_rhdr, nrhdr); } db_free(db); |