next up previous contents
Next: Using VMS Sharable Up: Some Advanced Features Previous: Using $ Banks

Using BLREADs in ANALYSIS_CONTROL

The purpose of ANALYSIS_CONTROL input modules is to somehow generate or read event data into the primary YBOS array. Therefor it is dangerous for user modules to BLREAD data into this array. However the module may need to say read in some private constants data base information stored in YBOS format. For this purpose it is recommended that the user module use a secondary YBOS array. Here is an example of how to do so:

C -----------------------------------------------------------
C 
C       Declare YBOS read buffer. It is best to put this in an
C       include file if you use it in more than one routine.
C
         INTEGER MYIW
         DIMENSION MYIW(200000)
         INTEGER{\bf 2}  MYIW2(400000)
         REAL RMYIW
         DIMENSION RMYIW(200000)
         EQUIVALENCE(MYIW(1),RMYIW(1),MYIW2(1))
         COMMON/MYIW/MYIW
C
C -----------------------------------------------------------
C...Declare some more stuff...
C
C
C       Initialise the secondary YBOS array
C       ===================================
        STATUS = BOSAR(MYIW,200000,'/MYIW/', 256)
C
C       Now you can read into it
C       ========================
        STATUS = UIGTLU(LUN)
        STATUS = BLREAD(LUN,MYIW,'S',NWORDS)
C
C...You can then do BLOCATs and anything else you normally do 
C   except instead of using IW use MYIW and instead of using 
C   BCS.INC use your own include file.



sexton@fnal.gov