C---------------------------------------------------------------------- C- C- LEVEL1.5_CALORIMETERY_TRIGGER_DATA_BLOCK C- ======================================== C- created 15nov93 S. Eno U. Maryland C- C- added new FRAME PARAMETER section C- renamed original PARAMETER section to TOOL PARAMETER section C- expanded DEBUG section according to new prescription in C- D0::user1:[trgmgr.d0_text.level_15.caltrig]l15ct_data_block_format.txt C- G. Snow 6-march-1994 C- Updated 5-may-1994, adding Type 4 entry in Debug section C- (private copy) updated 9-NOV-1994 changed to 4 Terms (S Gross) C- (private copy) added parameters for CERN BITBYT C- (private copy) fully describe DeBug Section Entries C ---------------------------------------------------------------------- C C----------------------------------------------------------------------- C- Frame Section C- INTEGER L15CAL_FRAME_LENGTH PARAMETER (L15CAL_FRAME_LENGTH=6) C----------------------------------------------------------------------- C- Frame Parameter Section C- INTEGER L15CAL_FRAME_PARAM_LENGTH INTEGER FRAME_UNI_NLW, FRAME_NTERM, FRAME_TERM_NLW PARAMETER ( FRAME_UNI_NLW = 16) PARAMETER ( FRAME_NTERM = 8) PARAMETER ( FRAME_TERM_NLW = 16) PARAMETER ( L15CAL_FRAME_PARAM_LENGTH = & 2 + FRAME_UNI_NLW + FRAME_NTERM * FRAME_TERM_NLW ) C----------------------------------------------------------------------- C- Tool Parameter Section C- C- new name for following length by G. Snow INTEGER L15CAL_TOOL_PARAM_LENGTH INTEGER LOC_NTERM, LOC_NLW, GLB_NTERM, GLB_NLW PARAMETER (LOC_NTERM=8, LOC_NLW=16) PARAMETER (GLB_NTERM=8, GLB_NLW=16) PARAMETER (L15CAL_TOOL_PARAM_LENGTH=2 + LOC_NTERM*LOC_NLW + & GLB_NTERM*GLB_NLW) C---------------------------------------------------------------------- C- Local DSP Section C- INTEGER L15CAL_LOCAL_DSP_LENGTH INTEGER LOC_NUM_ENT, LOC_NLW_ENT PARAMETER (LOC_NUM_ENT=8, LOC_NLW_ENT=3) PARAMETER (L15CAL_LOCAL_DSP_LENGTH=1+11*LOC_NUM_ENT*LOC_NLW_ENT & +11) C---------------------------------------------------------------------- C- Global DSP Section C- INTEGER L15CAL_GLOBAL_DSP_LENGTH INTEGER GLB_NUM_ENT, GLB_NLW_ENT PARAMETER (GLB_NUM_ENT=16, GLB_NLW_ENT=4) PARAMETER (L15CAL_GLOBAL_DSP_LENGTH=2+GLB_NUM_ENT*GLB_NLW_ENT) C---------------------------------------------------------------------- C- DeBug Section C- C- First, describe each DeBug Section Entry Type C- Entry Types INTEGER SERVICE_CPU_ENTRY, TRIGGER_TOWER_DATA_ENTRY INTEGER REFSET_DATA_ENTRY, DERIVED_CONSTANTS_ENTRY INTEGER SYNCHRONIZATION_ENTRY PARAMETER ( SERVICE_CPU_ENTRY = 0, & TRIGGER_TOWER_DATA_ENTRY = 1, & REFSET_DATA_ENTRY = 2, & DERIVED_CONSTANTS_ENTRY = 3, & SYNCHRONIZATION_ENTRY = 4 ) C- C- Header Format C- INTEGER DEBUG_ENTRY_HEADER, DEBUG_ENTRY_HEADER_L PARAMETER ( DEBUG_ENTRY_HEADER = 1, & DEBUG_ENTRY_HEADER_L = 1 ) C- C- Service CPU Entry C- INTEGER MFP_FLAG, MFP_FLAG_L PARAMETER ( MFP_FLAG = DEBUG_ENTRY_HEADER + DEBUG_ENTRY_HEADER_L, & MFP_FLAG_L = 1 ) INTEGER SERVICE_CPU_ENTRY_L PARAMETER ( SERVICE_CPU_ENTRY_L = MFP_FLAG ) C- C- Trigger Tower Data Entry C- INTEGER TT_DATA_L PARAMETER ( TT_DATA_L = PHI_MAX ) INTEGER RACK_1_EM_ET PARAMETER ( RACK_1_EM_ET = DEBUG_ENTRY_HEADER + & DEBUG_ENTRY_HEADER_L ) INTEGER RACK_1_TOTAL_ET PARAMETER ( RACK_1_TOTAL_ET = RACK_1_EM_ET + TT_DATA_L ) INTEGER RACK_2_EM_ET PARAMETER ( RACK_2_EM_ET = RACK_1_TOTAL_ET + TT_DATA_L ) INTEGER RACK_2_TOTAL_ET PARAMETER ( RACK_2_TOTAL_ET = RACK_2_EM_ET + TT_DATA_L ) INTEGER TRIGGER_TOWER_DATA_ENTRY_L PARAMETER ( TRIGGER_TOWER_DATA_ENTRY_L = RACK_2_TOTAL_ET & + TT_DATA_L - 1 ) C- C- Reference Set Data Entry C- INTEGER REFSET_TERM_NUMBER, REFSET_TERM_NUMBER_L PARAMETER ( REFSET_TERM_NUMBER = DEBUG_ENTRY_HEADER + & DEBUG_ENTRY_HEADER_L , & REFSET_TERM_NUMBER_L = 1) INTEGER LDSP_REFSET_L PARAMETER ( LDSP_REFSET_L = 4 * PHI_MAX ) INTEGER LDSP_REFSET_DATA PARAMETER ( LDSP_REFSET_DATA = REFSET_TERM_NUMBER + & REFSET_TERM_NUMBER_L ) INTEGER REFSET_DATA_ENTRY_L PARAMETER ( REFSET_DATA_ENTRY_L = LDSP_REFSET_DATA + & LDSP_REFSET_L - 1 ) C- C- Derived Constants Entry, allowing for up to 8 Derived Constants C- INTEGER DRVD_CNSTS_TERM_NUMBER, DRVD_CNSTS_TERM_NUMBER_L PARAMETER ( DRVD_CNSTS_TERM_NUMBER = DEBUG_ENTRY_HEADER + & DEBUG_ENTRY_HEADER_L, & DRVD_CNSTS_TERM_NUMBER_L = 1 ) INTEGER DRVD_CNSTS_TOOL_NUMBER, DRVD_CNSTS_TOOL_NUMBER_L PARAMETER ( DRVD_CNSTS_TOOL_NUMBER = DRVD_CNSTS_TERM_NUMBER + & DRVD_CNSTS_TERM_NUMBER_L, & DRVD_CNSTS_TOOL_NUMBER_L = 1) INTEGER DERIVED_CONSTANTS, DERIVED_CONSTANTS_L PARAMETER ( DERIVED_CONSTANTS = DRVD_CNSTS_TERM_NUMBER + & DRVD_CNSTS_TERM_NUMBER_L, & DERIVED_CONSTANTS_L = 8 ) INTEGER DERIVED_CONSTANTS_ENTRY_L PARAMETER ( DERIVED_CONSTANTS_ENTRY_L = DERIVED_CONSTANTS + & DERIVED_CONSTANTS_L - 1 ) C- C- Synchronization Entry C- INTEGER WAKEUP_WORD, WAKEUP_WORD_L PARAMETER ( WAKEUP_WORD = DEBUG_ENTRY_HEADER + & DEBUG_ENTRY_HEADER_L , & WAKEUP_WORD_L = 1 ) INTEGER SYNCHRONIZATION_ENTRY_L PARAMETER ( SYNCHRONIZATION_ENTRY_L = WAKEUP_WORD + & WAKEUP_WORD_L - 1 ) C- C- Now build the DeBug Section from the Entries C- INTEGER L15CAL_DEBUG_LENGTH INTEGER TYPE0_NLW, TYPE1_NLW, TYPE2_NLW, TYPE3_NLW, TYPE4_NLW PARAMETER ( TYPE0_NLW = SERVICE_CPU_ENTRY_L ) PARAMETER ( TYPE1_NLW = TRIGGER_TOWER_DATA_ENTRY_L ) PARAMETER ( TYPE2_NLW = REFSET_DATA_ENTRY_L ) PARAMETER ( TYPE3_NLW = DERIVED_CONSTANTS_ENTRY_L ) PARAMETER ( TYPE4_NLW = SYNCHRONIZATION_ENTRY_L ) C- !!! TYPE3_NLW is 3+number of derived constants for a given tool C- !!! TYPE3_NLW is set to 11 for the moment, to accomodate 8 derived C- !!! derived constants. The actual number can be found in the "header" C- !!! for TYPE3 entries, i.e. the first longword of the entry. C- !!! note that the actual number of derived constants should not exceed 8 or C_ !!! there will be a danger of overflowing the L15CAL_DEBUG_BLOCK common block INTEGER NUM_REF_SETS, NUM_LOCAL_TOOLS PARAMETER (NUM_REF_SETS=1, NUM_LOCAL_TOOLS=4) PARAMETER (L15CAL_DEBUG_LENGTH = & 1 + TYPE0_NLW + & NUM_DSPS * TYPE1_NLW + & NUM_DSPS * NUM_REF_SETS * TYPE2_NLW + & NUM_DSPS * NUM_LOCAL_TOOLS * TYPE3_NLW + & TYPE4_NLW ) C C C Parameters dealing with headers and trailers C INTEGER L15CAL_HEADER_LENGTH, L15CAL_TRAILER_LENGTH PARAMETER (L15CAL_HEADER_LENGTH = 7, L15CAL_TRAILER_LENGTH = 4) INTEGER L15CAL_BANK_LENGTH PARAMETER (L15CAL_BANK_LENGTH = + L15CAL_HEADER_LENGTH + + L15CAL_FRAME_LENGTH + + L15CAL_FRAME_PARAM_LENGTH + + L15CAL_TOOL_PARAM_LENGTH + + L15CAL_LOCAL_DSP_LENGTH + + L15CAL_GLOBAL_DSP_LENGTH + + L15CAL_DEBUG_LENGTH + + L15CAL_TRAILER_LENGTH) C INTEGER L15CAL_CRATE_ID INTEGER L15CAL_VERSION_NUMBER INTEGER L15CAL_REVISION_NUMBER INTEGER L15_CT_HW_REV_N , + L15_CT_GDSP_REV_N, + L15_CT_LDSP_REV_N, + L15_CT_CONT_REV_N PARAMETER (L15_CT_HW_REV_N = 1, + L15_CT_GDSP_REV_N = 1, + L15_CT_LDSP_REV_N = 1, + L15_CT_CONT_REV_N = 1) PARAMETER (L15CAL_CRATE_ID = 81) PARAMETER (L15CAL_VERSION_NUMBER = 1) PARAMETER (L15CAL_REVISION_NUMBER=L15_CT_CONT_REV_N + & L15_CT_LDSP_REV_N * 256 + & L15_CT_GDSP_REV_N * 65536 + & L15_CT_HW_REV_N * 16777216) C C *** conversion of L15 1/4 energy counts to GeV C REAL ESCALE PARAMETER (ESCALE = 0.25) C Parameters to be used with the BITBYT CernLib package C ===================================================== C INTEGER BYTE_LENGTH, WORD_LENGTH, + LONG_WORD_LENGTH PARAMETER (BYTE_LENGTH = 8, + WORD_LENGTH = 2 * BYTE_LENGTH, + LONG_WORD_LENGTH = 4 * BYTE_LENGTH) C INTEGER FIRST_BYTE, SECOND_BYTE, + THIRD_BYTE, FOURTH_BYTE PARAMETER (FIRST_BYTE = 1, + SECOND_BYTE = FIRST_BYTE + BYTE_LENGTH, + THIRD_BYTE = SECOND_BYTE + BYTE_LENGTH, + FOURTH_BYTE = THIRD_BYTE + BYTE_LENGTH )