This group contain the latch information. Experiment E852 is latching various trigger information - state of the trigger elements, etc... This information is used later on to determine the trigger and event type for each event.
typedef struct { int32 nlatches; uint32 latch[1]; } latch_values_t;
words function bits 0-1 SSP trigger latch (Struck) 0 latch bits 0:31 bits 0,1,2: trigger bits: 0-5 are normal triggers, 6 and 7 are BOS and EOS respectively bit 3: undefined bit 4: SSP start bits 5-6: undefined bit 7: "enable EOS" output bit 8: "enable BOS" output bit 9: "enable slow" output bit 10: "enable fast" output bit 11: "DAQ busy" feedthru bit 12: "SSP start" feedthru bits 13-15: undefined 1 latch bits 32:63 bits 0-30: unused and normally read as zero bit 31: hardwired to "1" by a jumper on the latch board 2-4 E787 latch in slot 0x1040A 2 LGD MAM + CSI Slow bits 0-7: LGD MAM bits 0-7 bit 9: CSI Slow bit bits 16-31: unused, no inputs 3 Level 2 outputs bits 0-11: L2A1-L2B6 bits 16-31: L2C1-L2D6 4 "4 ns" timer 5-7 E787 latch in slot 0x1040B 5 TPX Multiplicity bits 0-3: TPX1 multiplicity bits 4-7: TPX2 multiplicity bits 8-11: TPX3 multiplicity bit 12: TPX3 overflow bit 13: TPX2 overflow bit 14: TPX1 overflow bit 15: unused bits 16-31: TPX Multiplicity MLU outputs 6 Level1+TCYL+CPV state **** see note below **** bits 0-7: L1A outputs bits 8-15: L1B outputs bit 16: CSI fast (what is it?) bit 17: TCYL>0 bit 18: TCYL=1 bit 19: CPVB bit 20: CPVC bit 21: DEA bit 22: slow enable bit 23: TPX overflow bit 24: s0*pretrig 7 "4 ns" timer 8-9 Struck latch in slot 0x10406 8 prescale out and CSI Halo bits 0-7: L1A prescale out bits 16-21: CSI halo 1-6 9 CSI Halo bits 0-15: CSI Halo MLU outputs 10-21 CAMAC MLU: C9/H9 MLU inputs and outputs 22 CAMAC MLU: TPX Multiplicity MLU inputs (broken?) 23-26 CAMAC MLU: Level2 MLU outputs 23 L2A 24 L2B 25 L2C 26 L2D 27-30 CAMAC MLU: Level2 MLU inputs 27 L2A 28 L2B 29 L2C 30 L2D
createLatchWord(event,eventSize)
The GROUP_LATCHES is used to decode the event 'latch' which tells us what trigger (i.e. level2 A1...A6, B1...B6, etc...) triggered this event. The function 'createLatchWord(event,eventSize)' is used to do this.
Use the Latch database package to access the bits using symbolic names for the bits.
The cables for this word were plugged in upside-down, so here bits equal to '1' are considered 'off,' and bits equal to 0 are considered 'on'. Also, bits are all shifted since input 17 is where input 1 is expected, input 16 is where input 2 is expected, and so on. Delta_T is not latched until run #12565. The new channel assignments are the following:
bits 0-10: unused bit 11: Delta_T (after run #12565, inclusive) bit 12: S0 bit 13: DEA bit 14: TCYL=1 bit 15: TCYL>0 bit 23-16: L1B outputs bit 31-24: L1A outputs
Author: K.Olchanski, 1997-May-16