PROGRAM EXAMPLE CALL DASH_CLI c CALL IGEND ! Uncomment if using HIGZ END SUBROUTINE DASH_DECL cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c THIS SUBROUTINE SHOULD BE CALLED DASH_DECL, HOWEVER THE FILE NAME c SHOULD BE DESCRIPTIVE OF THE EXECUTABLE, eg. MYPROGRAM_DECL.FOR cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c This is the declaration subroutine for a DASH executable. You, the c programmer provides this subroutine and DASH will call it on startup. c This contains subroutine calls that are used to make a list of all c the modules one can use and which entry-points they have. Possible c entrypoints: INIT BOOK EVENT BEGINRUN ENDRUN TALK FINI. Read/write c modules will also have OPEN and CLOSE entrypoints. In the calls to c DASH_DEC_MOD you need only specify the first few characters of c these keywords. c c *** To add an analysis module, the user must modify this routine, c *** adding 1) EXTERNAL declarations for each entrypoint and c *** and 2) a call to DASH_DEC_MODULE for each entrypoint. c c In addition, one module be declared a read-module, from which events c are read in. Similarly, one module should be declared a write module c to write events out. c c *** You should also allocate arrays and initialize packages in this c *** subroutine, such as PAW, HBOOK and KUIP. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc IMPLICIT NONE INTEGER PAW COMMON/PAWC/PAW(800000) INTEGER KWTYPE c----------------------------------------------------------------------- EXTERNAL MADREAD_EVENT EXTERNAL MADREAD_OPEN EXTERNAL MADREAD_CLOSE EXTERNAL MADREAD_TALK c----------------------------------------------------------------------- EXTERNAL MADWRITE_EVENT EXTERNAL MADWRITE_OPEN EXTERNAL MADWRITE_CLOSE EXTERNAL MADWRITE_TALK c----------------------------------------------------------------------- EXTERNAL MADDUMP_EVENT EXTERNAL MADDUMP_TALK c----------------------------------------------------------------------- cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c Initialize packages: c ==================== CALL HLIMIT(760000) CALL KUINIT(40000) c c Initialize graphics (if using HIGZ): c ==================================== C CALL IGINIT(0) ! Initialize HIGZ C CALL IGWKTY(KWTYPE) ! Get workstation C CALL IGSSE(6,KWTYPE) ! Errors go to Unit 6 C CALL DASH_DEPOSIT('KWTYPE',KWTYPE) c c Declarations for module MADREAD: c ================================ CALL DASH_DEC_MOD('MADREAD','EVNT',MADREAD_EVENT) CALL DASH_DEC_MOD('MADREAD','OPEN',MADREAD_OPEN) CALL DASH_DEC_MOD('MADREAD','CLOS',MADREAD_CLOSE) CALL DASH_DEC_MOD('MADREAD','TALK',MADREAD_TALK) CALL DASH_DEC_REA('MADREAD') c c Declarations for module MADDUMP: c ================================ CALL DASH_DEC_MOD('MADDUMP','EVNT',MADDUMP_EVENT) CALL DASH_DEC_MOD('MADDUMP','TALK',MADDUMP_TALK) c c Declarations for module MADWRITE: c ================================= CALL DASH_DEC_MOD('MADWRITE','EVNT',MADWRITE_EVENT) CALL DASH_DEC_MOD('MADWRITE','OPEN',MADWRITE_OPEN) CALL DASH_DEC_MOD('MADWRITE','CLOS',MADWRITE_CLOSE) CALL DASH_DEC_MOD('MADWRITE','TALK',MADWRITE_TALK) CALL DASH_DEC_WRI('MADWRITE') c RETURN END