Next: Porting Code between different
Up: Program development
Previous: Naming conventions
paw_fopi: Main program
- e_ini_paw dispatch general init.s and def.s
- f_ini_zeb zebra init.s
- mzstor /FSTORE/ init
- mzdiv 3 division init.s: Parameter, Run, Event
- fp_ini_zeb setup ZEBRA link area for 4pi Plastic
- fz_ini_zeb setup ZEBRA link area for 4pi Zero Deg.
- fa_ini_zeb setup ZEBRA link area for 4pi CAMAC
- fg_ini_zeb setup ZEBRA link area for 4pi GEANT
- e_def_flag dispatch flag definition routines
- fp_def_flag flag definitions 4pi Plastic Wall
- fa_def_flag flag definitions 4pi general CAMAC
- fu_def_flag flag definitions 4pi general user
- fg_def_flag flag definitions 4pi GEANT
- fc_def_flag flag definitions 4pi CDC
- fz_def_flag flag definitions 4pi Zero Deg.
- u_def_flag define/init flag
- Database_def KUIP cmd. def.s, Database
- u_kdef KUIP cmd. def.s, general utilities
- u_kdef_dst KUIP cmd. def.s, DST stuff
- u_kdef_raw KUIP cmd. def.s, Raw I/O stuff
- fp_kdef KUIP cmd. def.s, 4pi plastic
- KUWHAG call KUIP command dispatcher
E_ANAL: Analysis steering program, called via DST or RAW KUIP menu:
- e_def_flag get flag values
- e_ini_run run init, resets event counters
- fp_ini_run init internal table with FBUS topology, Plastic
- fz_ini_run init internal table with FBUS topology, Zero D.
- Event loop:
- mzwipe wipe event divisions
- e_ini_evt event reset
- e_get_raw or e_get_dst read raw or dst
- fp_get_cal 4pi plastic, calibrate evt. data
- fp_get_hit 4pi plastic, detector related evt. data
- e_user User routine, e.g. histogramming and n-tupling
- e_put_dst write dst (only if defined)
E_get_raw dispatcher routine for RAW input
- u_get_raw get raw data from ONLINE or disk
- fa_get_raw Map raw CAMAC data into contiguous ZEBRA bank
- fp_get_raw Map raw FBUS data into cont. bank, 4pi plast.
- fz_get_raw Map raw FBUS data into cont. bank, 4pi Zero
E_get_dst exp. steering program for DST input
- mzwipe wipe evt. div.
- u_get_evt
For each D/S in event:
- **_get_dst call det. steering proc
- u_get_pr get next pilot record
E_put_dst exp. steering program for DST output
- u_put_evt write event header
- **_put_dst det. steering progs
- u_put_ds write d/s
The locations of reference source and library files on the various systems
are listed below.
VMS MVS UNIX
Sources/Libraries
ref_ulib:*.for 'kp09.ulib.fort(*)' $CAVEB/ulib/*.f
inc_ulib:*.inc 'kp09.ulib.incl(*)' $CAVEB/ulib/*.i
ref_ulib:*.c 'kp09.ulib.c(*)' $CAVEB/ulib/*.c
inc_ulib:*.h 'kp09.ulib.h(*)' $CAVEB/ulib/*.h
'kp09.ulib.asm(*)' $CAVEB/ulib/*.s
'kp09.ulib.inc(*)'
ref_flib:*.for 'kp09.flib.fort(*)' $FOPI/flib/*.f
inc_flib:*.inc 'kp09.flib.incl(*)' $FOPI/flib/*.i
ref_flib:*.com 'kp09.flib.exec(*)'
ref_flib:*.kumac 'kp09.flib.kumac(*)'
ref_flib:*.cdf 'kp09.flib.cdf(*)'
ref_flib:flib.mms 'kp09.flib.make' $FOPI/flib/flib.make
ref_flib:flib.olb(*) 'kp09.flib.load(*)' $FOPI/flib/libflib.a
cern_inc:*.inc 'kp09.cern.incl(*)' $CAVEB/cern/*.i
basic installation procedures
KP1$root:[fopi]cms_defs.com 'kp09.flib.exec(cmsdefs)' /u/fopi/flib/cmsdefs.sh (AIX)
/disks/dsah_2/fopi/flib/cmsdefs.sh (ULTRIX)
KP1$root:[caveb]cms_defs.com 'kp09.ulib.exec(cmsdefs)' /u/fopi/ulib/cmsdefs.sh (AIX)
/disks/dsah_2/fopi/ulib/cmsdefs.sh (ULTRIX)
Utilities
ref_flib:extfopi.dis
ref_flib:fopi.dis
ref_flib:pawlnk.com
ref_flib:pawlnk_x11.com
ref_flib:pawlnk_offl.com
For your private stuff you may use the following scheme
(just a proposition). It should help to group together software dealing
with a specific beamtime, e.g. February 1991:
VMS MVS
--- ---
[user.paw]*.com 'xxxx.paw9102.exec(*)' ~/xxxx/paw9102/*.sh
[user.paw]*.inc 'xxxx.paw9102.incl(*)'
[user.paw]*.kumac 'xxxx.paw9102.kumac(*)'
[user.paw]e_user.for 'xxxx.paw9102.fort(euser)'
'xxxx.paw9102.cntl(pawlnk)'
[user.paw]paw_fopi.exe 'xxxx.paw9102.load(pawfopi)'
Next: Porting Code between different
Up: Program development
Previous: Naming conventions
Back to GSI Home Page
Back to FOPI Home Page
Index
fopi
Tue May 28 15:33:35 CST 1996