SUBROUTINE PAINT_PER_BUNCH C---------------------------------------------------------------------- C- C- Purpose and Methods : Draw the background of the Per Bunch Scaler C- monitoring screen. C- C- Inputs : none C- Outputs : screen output C- Controls: none C- C- Created 23-MAR-1992 Philippe Laurens, Steven Klocek C- Updated 5-MAY-1995 Philippe Laurens - MSU L1 Trigger C- Add right hand column for luminosity C- Display fast Z on top, slow z on bottom C- Switch "Live Crossing" and "Fast L0 (Good)" C- show the proton-antiproton bunch pairing C- C---------------------------------------------------------------------- IMPLICIT NONE INCLUDE 'LV1_MPOOL.PARAMS' INCLUDE 'LV1_MON_SCREEN.INC' INCLUDE 'LV1_MON_SCREEN_LAYOUT.PARAMS' C CHARACTER*200 BUFFER INTEGER COUNT C C Reset margins and clear screen C CALL CLEAR_SCREEN() C CALL PUT_STRING( GH_DATE_L, 1, & 'Global Monitoring Per Bunch Scalers' ) C CALL PAINT_GLOBAL_HEADER C CALL PUT_STRING( PB_P1_L-2, 1, & 'Bunch | Level 1 Trigger | Live Crossing ' & // '| Fast L0 (Good) |Lum(FastZ)' ) CALL PUT_STRING( PB_2ND_P1_L-2, 1, & 'Bunch |LiveX*L0_FastZ(Good)|LiveX*L0_SlowZ(Sgl) ' & // '|L0_SlowZ(|Z|< 120cm)|Lum(SlowZ)' ) C CALL PUT_STRING( PB_P1_L-1, 1, & '------|-------hex|-------Hz|-------hex|-------Hz' & // '|-------hex|-------Hz| -----E30' ) CALL PUT_STRING( PB_2ND_P1_L-1, 1, & '------|-------hex|-------Hz|-------hex|-------Hz' & // '|-------hex|-------Hz| -----E30' ) C BUFFER = 'Px*Ay | | | ' & // '| | | |' DO COUNT = PER_BUNCH_MIN, PER_BUNCH_MAX CALL INTTOSTR( COUNT, BUFFER(2:2), 1) CALL INTTOSTR( MOD(COUNT+1,6)+1, BUFFER(5:5), 1) CALL PUT_STRING(PB_P1_L + COUNT -1, 1, BUFFER(1:71)) CALL PUT_STRING(PB_2ND_P1_L + COUNT -1, 1, BUFFER(1:71)) END DO C C---------------------------------------------------------------------- CALL FLUSH_SCREEN() 999 RETURN END