c ///////////////////////////////////////////////////////////////// c c this common block holds stuff concerning event data to be presented c to the event display routine. c c tentative data format for ONE event. Each line represents a record. c except for the strip data, some (or all) of the groups may be missing. c z positions are in millimeters, angles in degrees. c RUN run_number ievent_number c STRIPS length zposition(1-8) c number_of_sirocco number_of_strip iamplitude c number_of_sirocco number_of_strip iamplitude c ... c DEM1 length phi_angle psi_angle theta_angle zposition c icolumn irow ibeam_crossing iTOT c icolumn irow ibeam_crossing iTOT c ... c MAREBO length phi_angle psi_angle theta_angle zposition c icolumn irow iTOT c icolumn irow iTOT c ... c DEM2 length phi_angle psi_angle theta_angle zposition c icolumn irow ibeam_crossing iTOT c icolumn irow ibeam_crossing iTOT c ... c MOD1 length phi_angle psi_angle theta_angle zposition c icolumn irow ibeam_crossing iTOT c icolumn irow ibeam_crossing iTOT c ... c EOD c c I will treat Marebo data like dem2 data, but load zero into the beam c crossing arrays. I am going to assume that there at most two pixel c devices in the data flow. c c c parameter (max_strips=1000) parameter (max_dem1=4000) parameter (max_dem2=4000) parameter (max_demm=4000) parameter (max_demd=80000) c common /event_display_data/ irun_number,num_strip_hits_total, . z_read_sirocco(8), phi_read_dem1, psi_read_dem1, z_read_dem1, . phi_read_dem2, psi_read_dem2, z_read_dem2, . phi_read_demm, psi_read_demm, z_read_demm, . phi_read_demd, psi_read_demd, z_read_demd, . theta_read_dem1, theta_read_dem2, theta_read_demm, . theta_read_demd, . num_strip_hits(2,4),num_dem1_hits, num_dem2_hits, . ifound_strip_hits(2,4), ifound_dem1_hits, ifound_dem2_hits, . ifound_demm_hits, ifound_demd_hits, . istrip_number_read(max_strips, 2, 4), . istrip_adc_read(max_strips, 2, 4), . idem1_row_read(max_dem1), idem1_col_read(max_dem1), . idem1_tot_read(max_dem1), idem1_beam_crossing(max_dem1), . idem2_row_read(max_dem2), idem2_col_read(max_dem2), . idem2_tot_read(max_dem2), idem2_beam_crossing(max_dem2), . idemm_row_read(max_demm), idemm_col_read(max_demm), . idemm_tot_read(max_demm), idemm_beam_crossing(max_demm), . idemd_row_read(max_demd), idemd_col_read(max_demd), . idemd_tot_read(max_demd), idemd_beam_crossing(max_demd), . delete_file_when_finished, ievents_read_from_file, . run_at_cern, ievent_number, ifound_strip_hits_total, . lines_read_from_file c logical delete_file_when_finished, run_at_cern c c irun_number is the run number. (not surprising, eh?) c c num_strip_hits_total is total number of strip hits in the data. c c z_read_sirocco is z position for each of the 8 strip planes. c c phi_read_dem1, psi_read_dem1, z_read_dem1 are angles and z read for dem1 c ditto theta_read_dem1, theta_read_dem2. c c num_strip_hits(view,strip_plane), num_dem1_hits, num_dem2_hits indicate c how many hits the data WRITING program thinks are there. the ifound... c variables indicate how many I actually found in the data file. c c istrip_number_read(sequence, view, plane) is a list of strip numbers c that were read in each view, in each plane. c c istrip_adc_read(sequence, view, plane) is a list of corresponding c adc values that were read in each view, in each plane. c c idem1_row_read, idem1_col_read, idem1_tot_read are row, column, and tot c for dem1 hits. similarly for dem2... c c delete_file_when_finished is true when I want to delete the event data c file when I think I'm through with it. This'll be used in the handshaking c between the calling program and this program. c c ievents_read_from_file is the number of events successfully read. c c Set run_at_cern .true. if I want to run the job at cern, false to c run at cppm. c c ievent_number is the event number from the DAQ system. c c ifound_strip_hits_total is the number of strip hits I actually read. c c lines_read_from_file is the number of lines read from the data file. c c \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\