From: hadaq Date: Thu, 14 Nov 2002 17:24:02 +0000 (+0000) Subject: Trigger codes can be stripped before writing to file. There is X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=700489f529b7b8a6af3dc66da794057262c17ed9;p=daqdata.git Trigger codes can be stripped before writing to file. There is a corresponding define in the beginning of evtbuild.c -- mm --- diff --git a/hadaq/evtbuild.c b/hadaq/evtbuild.c index 4086fb9..0832772 100644 --- a/hadaq/evtbuild.c +++ b/hadaq/evtbuild.c @@ -1,4 +1,4 @@ -static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.50 2002-11-07 20:40:41 hadaq Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.51 2002-11-14 17:24:02 hadaq Exp $"; #define _POSIX_C_SOURCE 199309L @@ -31,6 +31,7 @@ static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hada #include "ansiTape.h" #define NTRIGTYPES 64UL /* must be 2^n */ +#define NTRIGTYPES_IN_FILE 16 /* must be 2^n */ static time_t ourTime; @@ -152,7 +153,6 @@ static void argsDefault(TheArgs *my) { static int argsFromCL(TheArgs *my, int argc, char *argv[]) { extern char *optarg; int i; - int trigType = 0; while ((i = getopt(argc, argv, "am:f:s:r:o:d:q:p:v:x:")) != -1) { switch (i) { @@ -533,7 +533,6 @@ int main(int argc, char *argv[]) currTrigNr = SubEvt_trigNr(subEvt) >> 8; currTrigTag = SubEvt_trigNr(subEvt) & 0xff; currId = SubEvt_pureId(subEvt); - Evt_setId(evt, currId); #ifndef NDEBUG syslog(LOG_DEBUG, "currTrigNr: 0x%06x, currTrigTag 0x%02x, currId 0x%08x", currTrigNr, currTrigTag, currId); @@ -570,6 +569,8 @@ int main(int argc, char *argv[]) } } if (!evtIsBroken) { + (*theStats->evtsComplete)++; + if (dataError) { Evt_setDataError(evt); (*theStats->evtsDataError)++; @@ -578,15 +579,17 @@ int main(int argc, char *argv[]) Evt_setDataError(evt); (*theStats->evtsTagError)++; } + + (*theStats->triggerType[currId & (NTRIGTYPES - 1)])++; + Evt_setId(evt, currId & (NTRIGTYPES_IN_FILE - 1)); + + (*theStats->bytesWritten) += Evt_size(evt); if (outFile != NULL) { fwrite(evt, 1, Evt_paddedSize(evt), outFile); } else if (outTape != NULL) { writeAnsiTape(outTape, evt, Evt_paddedSize(evt)); } Evt_online(evt); - (*theStats->evtsComplete)++; - (*theStats->triggerType[currId & (NTRIGTYPES - 1)])++; - (*theStats->bytesWritten) += Evt_size(evt); } else { (*theStats->evtsDiscarded)++; }