# Define memory management. define DATA Memd[data+$1-1] # Define which diodes are the background diodes. define B_DIODE_1 1 define B_DIODE_2 2 define B_DIODE_3 11 define B_DIODE_4 12 # Define which diodes are the radiation diodes. define R_DIODE_1 3 define R_DIODE_2 10 # Define which diode is the anti-coincidence counter. define A_DIODE 15 #--------------------------------------------------------------------------- .help dst_special May92 hrs .ih NAME dst_special -- Get special diodes information. .endhelp #--------------------------------------------------------------------------- procedure dst_special (extracted_image, special_image, arate, brate, rrate) pointer extracted_image # I: Image descriptor for extracted data. pointer special_image # I: Image descriptor for special diode. double arate # O: Anti-coincidence rate. double brate # O: Background diode rate. double rrate # O: Radioation diode rate. # Declarations. pointer data # The image data. # Function prototypes. pointer imgl1d() begin # If the extracted data file is open, get the data. if (extracted_image != NULL) { data = imgl1d (extracted_image) arate = DATA(A_DIODE) brate = DATA(B_DIODE_1) + DATA(B_DIODE_2) + DATA(B_DIODE_3) + DATA(B_DIODE_4) rrate = DATA(R_DIODE_1) + DATA(R_DIODE_2) } else { arate = 0.0d0 brate = 0.0d0 rrate = 0.0d0 } # If the special diode file is open, get the data. # NOTE: This is supposed to override the brate and rrate values. if (special_image != NULL) { data = imgl1d (special_image) brate = DATA(B_DIODE_1) + DATA(B_DIODE_2) + DATA(B_DIODE_3) + DATA(B_DIODE_4) rrate = DATA(R_DIODE_1) + DATA(R_DIODE_2) } end #--------------------------------------------------------------------------- # End of dst_special #---------------------------------------------------------------------------