SUBROUTINE DUMP_COMMON() C---------------------------------------------------------------------- C- C- Purpose and Methods : Dump the LSM common blocks to a file. C- C- Inputs : common block input C- Outputs : file output C- Controls: none C- C- Created 21-JUN-1991 MICHIGAN STATE UNIVERSITY, TRIGGER CONTROL SOFTWARE C- C---------------------------------------------------------------------- IMPLICIT NONE INCLUDE 'D0$PARAMS:LEVEL1_LOOKUP.PARAMS' INCLUDE 'D0$INC:LEVEL1_LOOKUP.INC' INCLUDE 'LSMP$SOURCE:LEVEL1_LOOKUP_EXPANSION.INC' C INTEGER SIGN, ETA, PHI, TOWER, LOOKUP, PAGE, INDEX, PROM INTEGER UNIT_NUM, ERROR LOGICAL OK C CALL GTUNIT(511, UNIT_NUM, ERROR) IF (ERROR .NE. 0) THEN CALL ABORT('Error calling GTUNIT from DUMP_COMMON') GOTO 999 ENDIF C CALL D0OPEN(UNIT_NUM, 'LSMDUMP.DAT', 'OU', OK) IF (OK .NEQV. .TRUE.) THEN CALL ABORT('Could not open "LSMDUMP.DAT"') GOTO 999 ENDIF C WRITE (UNIT_NUM) L0_BIN_COVERAGE WRITE (UNIT_NUM) FIRST_LOOKUP_TYPE, SECOND_LOOKUP_TYPE WRITE (UNIT_NUM) LUQ_PAGE_INDEX, LUQ_PAGE_NUMBER WRITE (UNIT_NUM) GLOBAL_ADC_SCALE, GLOBAL_ENERGY_SCALE WRITE (UNIT_NUM) ELEC_NOISE_SIGMA WRITE (UNIT_NUM) INPUT_ENERGY_ERROR WRITE (UNIT_NUM) ANALOG_INPUT_SCALING WRITE (UNIT_NUM) ADC_CNT_VS_RAW_E WRITE (UNIT_NUM) DAC_BYTE WRITE (UNIT_NUM) ADC_ZERESP WRITE (UNIT_NUM) LUQ_LOCAL_RESCALING WRITE (UNIT_NUM) LOOKUP_ZERESP DO INDEX = PAGE_INDEX_MIN, PAGE_INDEX_MAX WRITE (UNIT_NUM) ((((PROM_CUT(SIGN, ETA, PHI, PROM, INDEX), & SIGN = POS_ETA, NEG_ETA), & ETA = ETA_RANGE_MIN, ETA_RANGE_MAX), & PHI = PHI_MIN, PHI_MAX), & PROM = EM_PROM, PY_PROM) END DO DO INDEX = PAGE_INDEX_MIN, PAGE_INDEX_MAX WRITE (UNIT_NUM) ((((PROM_SLOPE(SIGN, ETA, PHI, PROM, INDEX), & SIGN = POS_ETA, NEG_ETA), & ETA = ETA_RANGE_MIN, ETA_RANGE_MAX), & PHI = PHI_MIN, PHI_MAX), & PROM = EM_PROM, PY_PROM) END DO WRITE (UNIT_NUM) PAGE_Z_NOM WRITE (UNIT_NUM) ELEC_NOISE_CUT_FACT WRITE (UNIT_NUM) TOWER_RZ_COORD WRITE (UNIT_NUM) TOWER_PHI_COORD DO PAGE = PAGE_NUM_MIN, PAGE_NUM_MAX WRITE (UNIT_NUM) (((( & FINAL_FITTING(SIGN, ETA, PHI, LOOKUP, PAGE), & SIGN = POS_ETA, NEG_ETA), & ETA = ETA_RANGE_MIN, ETA_RANGE_MAX), & PHI = PHI_MIN, PHI_MAX), & LOOKUP = EM_ET_QUANT, PY_QUANT) END DO WRITE (UNIT_NUM) TRANSV_ENERGY_CUT C CALL RLUNIT(511, UNIT_NUM, ERROR) IF (ERROR .NE. 0) THEN CALL ABORT('Error calling RLUNIT from DUMP_COMMON') GOTO 999 ENDIF C CLOSE (UNIT_NUM) C---------------------------------------------------------------------- 999 RETURN END