/*define this to get log output of first 10 triggernumbers*/
/*#define TRIGNO_DEBUG 1*/
+/* switch on output of trigger types by this:*/
+/*#define TRIGTYPE_DEBUG 1*/
+
+
#define NEVTIDS 64UL /* must be 2^n */
#define NEVTIDS_IN_FILE 0UL /* must be 2^n */
if (theArgs->evtId != 0)
currId = theArgs->evtId;
else if (theArgs->subsysId != 0) {
- currId = SubEvt_trigType(subEvt, theArgs->wordNr, theArgs->bitMask, theArgs->bitShift);
- } else
+ /* JAM first check of trb3 trigger type*/
+ currId=SubEvt_trigType_trb3(subEvt);
+#ifdef TRIGTYPE_DEBUG
+ sprintf(msglog," <I> Subevent stream %d sees trb3 trigger type 0x%x",
+ i, currId);
+ storeLogInfo(theArgs, msglog);
+#endif
+ if(currId==0)
+ {
+ /* no trb3 trigger type, use trb2 trigger type from cts data as before*/
+ currId = SubEvt_trigType(subEvt, theArgs->wordNr, theArgs->bitMask, theArgs->bitShift);
+#ifdef TRIGTYPE_DEBUG
+ sprintf(msglog," <I> Subevent stream %d use trb2 trigger type 0x%x",
+ i, currId);
+ storeLogInfo(theArgs, msglog);
+#endif
+ }
+ } else
currId = SubEvt_pureId(subEvt);
/* Insert DAQ version into event Id */
SubEvt_setHdrValue(my, SubEvtIdx_trigNr, trigNr);
}
+static uint32_t SubEvt_trigType_trb3(const void *my)
+{
+/* get trb3 trigger type info in bits 4...7*/
+ return ((HadTu_decoding(my) & 0xF0) >> 4) ;
+}
+
+
static uint32_t SubEvt_decoding(const void *my)
{
/* JAM: mask out the trb3 trigger type info in bits 4...7*/