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