aboutsummaryrefslogtreecommitdiff
path: root/src/zdab-cat.c
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2019-09-30 11:10:20 -0500
committertlatorre <tlatorre@uchicago.edu>2019-09-30 11:10:20 -0500
commit76006218bdb36fc1f11a33678b83ec0776cc6228 (patch)
tree2c87cfd51bcd4dfdde6d82b77abf6a8a57ed9cfc /src/zdab-cat.c
parente41bc169e213bbb2fb1c132150736e3ad8760dd4 (diff)
downloadsddm-76006218bdb36fc1f11a33678b83ec0776cc6228.tar.gz
sddm-76006218bdb36fc1f11a33678b83ec0776cc6228.tar.bz2
sddm-76006218bdb36fc1f11a33678b83ec0776cc6228.zip
write out run header info to the hdf5 file
Diffstat (limited to 'src/zdab-cat.c')
-rw-r--r--src/zdab-cat.c26
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);