SUBROUTINE DRAW_LUMINOSITY C---------------------------------------------------------------------- C- C- Purpose and Methods : Draw the foreground of the Luminosity C- monitoring screen. C- C- Inputs : common block variables C- Outputs : screen output C- Controls: none C- C- Created 5-MAY-1995 Philippe Laurens - MSU L1 Trigger 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 INTEGER BUNCH CHARACTER*132 BUFFER C C Draw the top portion of the screen C CALL DRAW_GLOBAL_HEADER C C Print info on the scalers, one bunch at a time C DO BUNCH = PER_BUNCH_MIN, PER_BUNCH_MAX C BUFFER = 'Px*Ay | | | | |' & //' | | | | |' C CALL INTTOSTR( BUNCH, BUFFER(2:2), 1) C CALL INTTOSTR( MOD(BUNCH+1,6)+1, BUFFER(5:5), 1) C C build rest of bunch line string C CALL BUILD_REAL_STRING( BUNCH_LUM_RAW_SLOW_Z( BUNCH ), & 2, BUFFER(LM_LUM_SLOWZ_RAW_C:LM_LUM_SLOWZ_RAW_E) ) C CALL BUILD_REAL_STRING( BUNCH_LUM_DELIV_SLOW_Z( BUNCH ), & 2, BUFFER(LM_LUM_SLOWZ_DELV_C:LM_LUM_SLOWZ_DELV_E) ) C CALL BUILD_PERCENT_STRING( BUNCH_LUM_SLOWZ_FRACT( BUNCH ), & 2, BUFFER(LM_LUM_SLOWZ_FRAC_C:LM_LUM_SLOWZ_FRAC_E) ) C CALL BUILD_PERCENT_STRING( BUNCH_LUM_SLOWZ_OCCUP( BUNCH ), & 2, BUFFER(LM_LUM_SLOWZ_OCCP_C:LM_LUM_SLOWZ_OCCP_E) ) C CALL BUILD_REAL_STRING( BUNCH_LUM_DELIV_FAST_Z( BUNCH ), & 2, BUFFER(LM_LUM_FASTZ_DELV_C:LM_LUM_FASTZ_DELV_E) ) C CALL BUILD_REAL_STRING( BUNCH_LUM_USED_FAST_Z( BUNCH ), & 2, BUFFER(LM_LUM_FASTZ_USED_C:LM_LUM_FASTZ_USED_E) ) C CALL BUILD_PERCENT_STRING( BUNCH_LUM_USED_VS_DELIV( BUNCH ), & 2, BUFFER(LM_LUM_USD_VS_DLV_C:LM_LUM_USD_VS_DLV_E) ) C CALL BUILD_PERCENT_STRING( BUNCH_LIVE_X_PERCENT( BUNCH ), & 2, BUFFER(LM_LIVE_CROSS_PCT_C:LM_LIVE_CROSS_PCT_E) ) C CALL BUILD_PERCENT_STRING( BUNCH_L1_TRIG_FRAC( BUNCH ), & 2, BUFFER(LM_L1_TRIG_FRACT_C:LM_L1_TRIG_FRACT_E) ) C C line for this bunch is now complete C CALL PUT_STRING( LM_P1_L +2*(BUNCH-1), LM_LUM_SLOWZ_RAW_C, & BUFFER(LM_LUM_SLOWZ_RAW_C:LM_L1_TRIG_FRACT_E) ) C END DO C C build string for line of total counts (sum of all 6 bunches) C CALL BUILD_REAL_STRING( TOTAL_LUM_RAW_SLOW_Z, & 2, BUFFER(LM_LUM_SLOWZ_RAW_C:LM_LUM_SLOWZ_RAW_E) ) C CALL BUILD_REAL_STRING( TOTAL_LUM_DELIV_SLOW_Z, & 2, BUFFER(LM_LUM_SLOWZ_DELV_C:LM_LUM_SLOWZ_DELV_E) ) C CALL BUILD_PERCENT_STRING( TOTAL_LUM_SLOWZ_FRACT, & 2, BUFFER(LM_LUM_SLOWZ_FRAC_C:LM_LUM_SLOWZ_FRAC_E) ) C CALL BUILD_PERCENT_STRING( TOTAL_LUM_SLOWZ_OCCUP, & 2, BUFFER(LM_LUM_SLOWZ_OCCP_C:LM_LUM_SLOWZ_OCCP_E) ) C CALL BUILD_REAL_STRING( TOTAL_LUM_DELIV_FAST_Z, & 2, BUFFER(LM_LUM_FASTZ_DELV_C:LM_LUM_FASTZ_DELV_E) ) C CALL BUILD_REAL_STRING( TOTAL_LUM_USED_FAST_Z, & 2, BUFFER(LM_LUM_FASTZ_USED_C:LM_LUM_FASTZ_USED_E) ) C CALL BUILD_PERCENT_STRING( TOTAL_LUM_USED_VS_DELIV, & 2, BUFFER(LM_LUM_USD_VS_DLV_C:LM_LUM_USD_VS_DLV_E) ) C CALL BUILD_PERCENT_STRING( TOTAL_LIVE_X_PERCENT, & 2, BUFFER(LM_LIVE_CROSS_PCT_C:LM_LIVE_CROSS_PCT_E) ) C CALL BUILD_PERCENT_STRING( TOTAL_L1_TRIG_FRAC, & 2, BUFFER(LM_L1_TRIG_FRACT_C:LM_L1_TRIG_FRACT_E) ) C C line for this bunch is now complete C CALL PUT_STRING( LM_TOT_L, LM_LUM_SLOWZ_RAW_C, & BUFFER(LM_LUM_SLOWZ_RAW_C:LM_L1_TRIG_FRACT_E) ) C C send all information to the screen C CALL MOVE_CURSOR_SAFE CALL FLUSH_SCREEN C C---------------------------------------------------------------------- 999 RETURN END