There are two levels of usage for .mid files. The first is for specifying an individual analysis module and the other is for specifying what analysis modules are included in an executable program.
# mid file for EOS trk routine # table_lib trk table_lib hit table_lib cam table_lib dts module trk trk_main module_table trk hits update 1 module_table trk evnt read 2 module_table trk camac read 3 module_table trk trk_sw read 4 module_table trk trks write 5 module_table trk tpc_sum write 6 module_table trk vertex_list write 7 module_table trk v0_sw read 8 module_table trk v0 read 9
The module keyword line gives the name of the analysis module (trk) and the actual function name of the routine to call for this module (trk_main).
The module_table keyword lines specify that the trk module will have a set of individual tables passed to it with some read/write/update mode and the order that these tables will appear in the argument list in trk_main.
The corresponding Fortran code in trk_main associated with this .mid file is
INTEGER FUNCTION TRK_MAIN(HITS_H,HITS, + EVNT_H,EVNT, + CAMAC_H,CAMAC, + TRK_SW_H,TRK_SW, + TRKS_H,TRKS, + TPC_SUM_H,TPC_SUM, + VERTEX_H,VERTEX, + V0_SW_H,V0_SW, + V0_H,V0) * ** Input tables: HITS ** ** EVNT ** ** CAMAC ** ** TRK_SW ** ** V0_SW ** ** ** ** Output tables: TRKS ** ** TPC_SUM ** ** VERTEX_LIST ** ** V0 ** ** * IMPLICIT NONE C INFORMIX table structures #include "tas_user_codes.inc" #include "tas_structures.inc" #include "hit_hits_pars.inc" #include "hit_hits_st.inc" #include "tas_evnt_pars.inc" #include "tas_evnt_st.inc" #include "cam_camac_pars.inc" #include "cam_camac_st.inc" #include "trk_trk_sw_pars.inc" #include "trk_trk_sw_st.inc" #include "trk_trks_pars.inc" #include "trk_trks_st.inc" #include "trk_tpc_sum_pars.inc" #include "trk_tpc_sum_st.inc" #include "trk_vertex_list_pars.inc" #include "trk_vertex_list_st.inc" #include "trk_v0_sw_pars.inc" #include "trk_v0_sw_st.inc" #include "trk_v0_pars.inc" #include "trk_v0_st.inc" RECORD / table_head_st / hits_h RECORD / hits_row_st / hits(*) RECORD / table_head_st / evnt_h RECORD / evnt_row_st / evnt RECORD / table_head_st / camac_h RECORD / camac_row_st / camac RECORD / table_head_st / trk_sw_h RECORD / trk_sw_row_st / trk_sw RECORD / table_head_st / trks_h RECORD / trks_row_st / trks(*) RECORD / table_head_st / tpc_sum_h RECORD / tpc_sum_row_st / tpc_sum RECORD / table_head_st / vertex_h RECORD / vertex_list_row_st / vertex(*) RECORD / table_head_st / v0_sw_h RECORD / v0_sw_row_st / v0_sw RECORD / table_head_st / v0_h RECORD / v0_row_st / v0(*)
#include "/home/sseos/u3/eostpc/eos_lib/eos/cam/src/cam.mid" #include "/home/sseos/u3/eostpc/eos_lib/eos/hit/src/hit.mid" #include "/home/sseos/u3/eostpc/eos_lib/eos/trk/src/trk.mid"