SUBROUTINE L15CT_EXTRACT_INPUT_ENERGIES ( STATUS ) C---------------------------------------------------------------------- C- C- Purpose and Methods : Retrieve the L1.5 Cal Trig input energies C- (in ADC Counts) from the DeBug Section of C- the L1.5 Cal Trig Data Block. The DeBug C- section must correspond to a Mark and Force C- Pass Event. C- C- Inputs : L15CAL_DEBUG_BLOCK array containing the DeBug Section of C- the Data Block (in COMMON BLOCK) C- C- Outputs : STATUS exit code C- Controls: C- C- Created 10-NOV-1994 Steve Gross - MSU L1 Trigger C- C---------------------------------------------------------------------- IMPLICIT NONE INCLUDE 'D0$PARAMS:L15_FRAMEWORK.PARAMS' INCLUDE 'D0$PARAMS:LEVEL1_LOOKUP.PARAMS' INCLUDE 'L15CALDBB_DATA_BLOCK.PARAMS' INCLUDE 'D0$INC:L15CALDBB_DATA_BLOCK.INC' INTEGER TT_DATA_ENTRIES_FOUND, INDEX, BLOCK_LENGTH INTEGER ENTRY_SOURCE, ENTRY_TYPE, ENTRY_WTF LOGICAL STATUS, UP_STAT INTEGER JBYT C---------------------------------------------------------------------- STATUS = .FALSE. TT_DATA_ENTRIES_FOUND = 0 INDEX = 1 BLOCK_LENGTH = L15CAL_DEBUG_BLOCK ( INDEX ) INDEX = INDEX + 1 C- Loop over all Entry Types looking for Trig Tower Data Entries 100 ENTRY_SOURCE = JBYT ( L15CAL_DEBUG_BLOCK( INDEX ), FIRST_BYTE, & BYTE_LENGTH ) ENTRY_TYPE = JBYT ( L15CAL_DEBUG_BLOCK( INDEX ), SECOND_BYTE, & BYTE_LENGTH ) ENTRY_WTF = JBYT ( L15CAL_DEBUG_BLOCK( INDEX ), THIRD_BYTE, & WORD_LENGTH ) IF ( ENTRY_TYPE .EQ. TRIGGER_TOWER_DATA_ENTRY ) THEN CALL L15CT_UNPACK_TT_DATA ( INDEX, ENTRY_SOURCE, UP_STAT ) TT_DATA_ENTRIES_FOUND = TT_DATA_ENTRIES_FOUND + 1 IF ( UP_STAT .EQV. .FALSE. ) RETURN END IF INDEX = INDEX + ENTRY_WTF + 1 IF ( INDEX .LE. BLOCK_LENGTH + 1 ) GOTO 100 C- End of looping over all Entry Types C- Check to see if enough Trigger Tower Entries were found IF ( TT_DATA_ENTRIES_FOUND .EQ. NUM_DSPS ) STATUS = .TRUE. C---------------------------------------------------------------------- 999 RETURN END