SUBROUTINE DRAW_GLOBAL_HEADER() C---------------------------------------------------------------------- C- C- Purpose and Methods : Draw the foreground of the header of the display. C- This is used in only a subset of the displays. C- C- Inputs : none C- Outputs : none C- Controls: none C- C- Created 13-MAR-1991 MICHIGAN STATE UNIVERSITY, TRIGGER CONTROL SOFTWARE C- Updated 5-MAY-1995 Philippe Laurens - MSU L1 Trigger C- Add Luminosity information C- C---------------------------------------------------------------------- IMPLICIT NONE INCLUDE 'LV1_MPOOL.PARAMS' INCLUDE 'LV1_MPOOL_DERIVED.INC' INCLUDE 'LV1_MPOOL_FORMATTED.INC' INCLUDE 'LV1_MON_SCREEN.INC' INCLUDE 'LV1_MON_SCREEN_LAYOUT.PARAMS' C CHARACTER*132 BUFFER INTEGER TSEC, TMIN, THOUR, TDAY C C C CALL RESET_LIST() C C Draw top portion of screen C CALL PUT_STRING(GH_DATE_L, GH_DATE_C, CURRENT_TIME) C CALL BUILD_REAL_STRING(GLOB_TRANSFER_RATE, 2, & BUFFER(1:GH_GL_TRANS_W)) CALL PUT_STRING(GH_GL_TRANS_L, GH_GL_TRANS_C, & BUFFER(1:GH_GL_TRANS_W)) C IF (INFO_FRESH .EQV. .TRUE.) THEN CALL PUT_STRING(GH_MONIT_STATUS_L, GH_MONIT_STATUS_DB_C, & 'Fresh') ELSE CALL PUT_STRING(GH_MONIT_STATUS_L, GH_MONIT_STATUS_DB_C, & 'Stale') ENDIF C IF (FRAMEWORK_RUNNING .EQV. .TRUE.) THEN CALL PUT_STRING(GH_MONIT_STATUS_L, GH_MONIT_STATUS_L1_C, & 'Running') ELSE CALL PUT_STRING(GH_MONIT_STATUS_L, GH_MONIT_STATUS_L1_C, & 'Paused ') ENDIF C CALL BUILD_REAL_STRING(LV1_TRIGGER_RATE, 2, & BUFFER(1:GH_L1_RATE_W)) CALL PUT_STRING(GH_L1_RATE_L, GH_L1_RATE_C, & BUFFER(1:GH_L1_RATE_W)) C CALL BUILD_REAL_STRING(LV0_TRIGGER_RATE/1000., 2, & BUFFER(1:GH_L0_RATE_W)) CALL PUT_STRING(GH_L0_RATE_L, GH_L0_RATE_C, & BUFFER(1:GH_L0_RATE_W)) C CALL BUILD_REAL_STRING(TOTAL_LUM_DELIV_SLOW_Z, 2, & BUFFER(1:GH_TOT_LUM_W)) CALL PUT_STRING(GH_TOT_LUM_L, GH_TOT_LUM_C, & BUFFER(1:GH_TOT_LUM_W)) C CALL BUILD_REAL_STRING(GLOB_L15_DATA.GLOB_L15_INPUT_HZ, 1, & BUFFER(1:GH_L15_INPUT_W)) CALL PUT_STRING(GH_L15_INPUT_L, GH_L15_INPUT_C, & BUFFER(1:GH_L15_INPUT_W)) C CALL BUILD_PERCENT_STRING(GLOB_L15_DATA.GLOB_L15_REJECT_PCT, 1, & BUFFER(1:GH_L15_REJECT_W)) CALL PUT_STRING(GH_L15_INPUT_L, GH_L15_REJECT_C, & BUFFER(1:GH_L15_REJECT_W)) C CALL BUILD_PERCENT_STRING(GLOB_L15_DATA.GLOB_DEAD_BEAM_X_PCT, 1, & BUFFER(1:GH_DEAD_BEAM_W)) CALL PUT_STRING(GH_DEAD_BEAM_L, GH_DEAD_BEAM_C, & BUFFER(1:GH_DEAD_BEAM_W)) C C C Time since last initialize C BUFFER = ' : : ' TDAY = INIT_TIME / (60 * 60 * 24) IF (TDAY .GT. 999) THEN BUFFER = '*** **:**:**' ELSE CALL INTTOSTR(TDAY, BUFFER(1:3), 1) THOUR = MOD(INIT_TIME, 60 * 60 * 24) / (60 * 60) TMIN = MOD(INIT_TIME, 60 * 60) / 60 TSEC = MOD(INIT_TIME, 60) CALL INTTOSTR(THOUR, BUFFER(5:6), 2) CALL INTTOSTR(TMIN, BUFFER(8:9), 2) CALL INTTOSTR(TSEC, BUFFER(11:12), 2) ENDIF CALL PUT_STRING(GH_TIME_INIT_L, GH_TIME_INIT_C, BUFFER(1:12)) C C Number of events transferred C IF (GTRANSFERRED .NE. 0) THEN IF (GTRANSFERRED .GE. 1E4) THEN BUFFER = '****************' ELSEIF (GTRANSFERRED .GE. 1E1) THEN BUFFER = ' G/ ' CALL INTTOSTR(GTRANSFERRED, BUFFER(1:4), 1) CALL INTTOSTR(TRANSFERRED, BUFFER(7:16), 10) ELSE BUFFER = ' GIGA/ ' CALL INTTOSTR(GTRANSFERRED, BUFFER(1:1), 1) CALL INTTOSTR(TRANSFERRED, BUFFER(7:16), 10) ENDIF ELSE BUFFER = ' ' CALL INTTOSTR(TRANSFERRED, BUFFER(1:16), 1) ENDIF CALL PUT_STRING(GH_EVEN_TRAN_L, GH_EVEN_TRAN_C, BUFFER(1:16)) C C---------------------------------------------------------------------- 999 RETURN END