*CMZ : 29/06/95 15.08.32 by Melynda Brooks *-- Author : Charles F. Maguire 27/10/94 c c Revised March 18, 1996 to fix IBM linker problem c New IBM linker confuses FMLINK common block with fmlink subroutine c which is the libpacklib CERN library. No other UNIX platform (nor c the previous IBM linker) has this difficulty. c Name of FMLINK common block changed to FPMLINK. C Revised Aug. 19, 1996 to add muon magnet namelist variables c c Revised Sept/October '96 to add retaining ring parameters c Revised Dec. 16, 1997 to have rounded piston geometry C C --- FPMLINK.inc --------------------------------------------------------- C c channel count tracking stations integer mum_arms_max parameter ( mum_arms_max = 2 ) integer mum_stations_max parameter ( mum_stations_max = 5 ) integer mum_planes_max parameter ( mum_planes_max = 10 ) integer mum_segments_max parameter (mum_segments_max = 12) integer maxplanes parameter (maxplanes=MUM_PLANES_MAX*MUM_STATIONS_MAX) c muon detector tracking parameters integer mumtrflg integer mum_arms, mum_stations, mum_channels integer mum_color integer mu_arm_medium integer mt_planes_per_station( mum_stations_max,mum_arms_max ) integer mt_station_medium( mum_stations_max,mum_arms_max ) integer mt_honey_medium( mum_stations_max,mum_arms_max ) real mt_chm_thick( mum_stations_max,mum_arms_max) real mt_frame_side_thick(mum_stations_max,mum_arms_max) real mt_frame_end_thick(mum_stations_max,mum_arms_max) integer mt_frame_medium( mum_stations_max,mum_arms_max) real mt_plane_thickness( mum_stations_max,mum_arms_max ) real mt_station_z( mum_stations_max,mum_arms_max ) real mt_station_inner_radius( mum_stations_max,mum_arms_max ) real mt_station_outer_radius( mum_stations_max,mum_arms_max ) real mt_plane_spacing(mum_planes_max ,mum_stations_max, & mum_arms_max) real mt_bar_zwid(mum_stations_max,mum_arms_max) !z width of station 2 C chamber cross bar real mt_bar_height(mum_stations_max,mum_arms_max) !height of crossbar real mt_bar_rad(mum_stations_max,mum_arms_max) !radius of crossbar real mt_spoke_phiwid(mum_stations_max,mum_arms_max) !Anode wire C spoke width in phi real mt_spoke_zwid(mum_stations_max,mum_arms_max) !Anode wire spoke C width in z integer mt_spoke_medium(mum_stations_max,mum_arms_max) !Spoke medium real mt_ch_deadwid(mum_stations_max,mum_arms_max) !Width of central C dead region in CSC chambers integer n_segment real segment_angle integer mum_par_words parameter ( mum_par_words = 7 & + + mum_arms_max * mum_stations_max* (18 & + 1 * mum_planes_max) ) namelist / mum_par / & mumtrflg, & mum_arms, mum_stations, mum_channels, & mum_color,mu_arm_medium, & mt_chm_thick, & mt_frame_medium, & mt_frame_side_thick, & mt_frame_end_thick, & mt_planes_per_station, & mt_station_medium, & mt_plane_thickness, & mt_station_inner_radius, & mt_station_outer_radius, & mt_station_z, & mt_plane_spacing, & n_segment, & segment_angle, & mt_bar_zwid, & mt_bar_height, & mt_bar_rad, & mt_spoke_phiwid, & mt_spoke_zwid, & mt_spoke_medium, & mt_ch_deadwid, & mt_honey_medium common / mum_common_1 / & mumtrflg, & mum_arms, mum_stations, mum_channels, & mum_color, & mt_planes_per_station, & mt_station_medium, & n_segment, & segment_angle, & mt_plane_thickness, & mt_station_inner_radius, & mt_station_outer_radius, & mt_station_z, & mt_plane_spacing, & mt_frame_end_thick, & mt_frame_side_thick, & mt_bar_zwid, & mt_spoke_phiwid, & mt_spoke_zwid, & mt_spoke_medium, & mt_bar_height, & mt_bar_rad, & mt_ch_deadwid, & mt_honey_medium C Magnet namelist variables: real z_roll(2) ! Roll magnet this distance in z integer ncent_max ! max anticipated number of z-planes parameter (ncent_max=16) ! 16 as of Feb. 27, 1996 real z_cent(ncent_max) /ncent_max*0.0/ ! z-plane positions real rmin_cent(ncent_max) /ncent_max*0.0/ ! rmin values at given z real rmax_cent(ncent_max) /ncent_max*0.0/ ! rmax values at given z real pcon_par(3*ncent_max+3) ! parameter array for the PCON call integer npl_cent /0/ ! actual number of z-planes integer nmed_cent /0/ ! medium number for the yoke integer color_cent /4/ ! color (visible/invisible) for central integer nend_max parameter (nend_max = 25) real z_end(nend_max,2) /nend_max*0.0,nend_max*0.0/ ! z-plane positions real rmin_end(nend_max,2) /nend_max*0.0,nend_max*0.0/ ! rmin values at a given z real rmax_end(nend_max,2) /nend_max*0.0,nend_max*0.0/ ! rmax values at a given z integer npl_end(2) /2*10/ integer muo_arms /2/ integer pist_med /5/ integer coil_med /15/ real coil_irad1(2) /45.2,45.2/ real coil_irad2(2) /45.2,45.2/ real coil_orad1(2) /45.2,45.2/ real coil_orad2(2) /45.2,45.2/ real coil_z12(4,2) /4*0.0,4*0.0/ real mega_irad1(2) real mega_orad1(2) /2*30.7/ real mega_irad2(2) real mega_orad2(2) /2*89.6/ real mega_z12(2,2) integer mega_med /5/ integer color_endc /4/ ! color (visible/invisible) for endcap integer color_coil /3/ ! color (visible/invisible) for coils real*4 mega_thick real*4 depth_notch/17.0/, coil_thick/5.15/ real*4 pist_thet,shad_thet,pist2_thet real*4 zpist_core(2,2),pcore_rad(4,2), pcdelr(2,2) real*4 zcent_core(11),ccore_rmin(11),ccore_rmax(11) integer iflag_pcore,nmed_pcore,iflag_ccore,nmed_ccore integer fin_flag,buss_flag,buss_buss_flag,wtr_flag integer rib_flag,fin_med,buss_med,flag_med,rib_med integer cutt_med,wtr_med integer npc_core(2) integer cyoke_flag /3/ ! 0 ===> NO return yoke, -1 ===> lower halfe c 1 ===> upper half only; 2 ===> both halves real*4 cyoke_dz /242.0/ ! half-length in Z real*4 cyoke_dx /79.9275/ ! half-width in X real*4 cyoke_dy /50.0/ ! half-width in Y real*4 cyoke_yp /345.0/ ! mid-point in Y (X and Z mid-points = 0) real*4 dyoke_dz /53.5/ ! half-length in Z real*4 dyoke_dx /79.9275/ ! half-width in X real*4 dyoke_dy /39.0/ ! half-width in Y real*4 dyoke_yp /256.0/ ! mid-point in Y (X mid-point = 0) real*4 dyoke_zp /188.5/ ! mid-point in Y (X mid-point = 0) integer cencoil_med(2) !coil media (copper) integer cencoil_color(2) !coil color real cencoil_rin(2) !inner radius each coil real cencoil_rout(2) !outer radius each coil real cencoil_z(2,2) !z endpoints (North) each coil real fin_thick,fin_z1(2),fin_z2(2),corn_ang(2) real buss_z(2),buss_thick,buss_wide real flag_par(3),flag_x,flag_y,flag_z(2),flag_r,flag_phi real rib_z1(2,2),rib_z2(2,2),wtr_par(5) c c c added Sept-12-96 for retaining ring around coil c added Oct 7-96 default values for retaining ring parameters c real ret_ring_par(12) /0.,360.,3,-3.75,159.2,159.3, + -.65,159.2,174.2,3.75,159.2,174.2/ real ret_ring_pos(3) /0.0, 0.0, 95.0/ real ret_ring_rot(6) /90.,0.,90.,90.,180.,90./ integer retmed /5/ ! retaining ring medium (magnetic iron) c c namelist /mag_par/ npl_cent, nmed_cent, z_cent, rmin_cent, 1 rmax_cent, color_cent, color_coil, 2 npl_end, pist_med, z_end, rmin_end, rmax_end, 3 coil_med, coil_irad1, coil_irad2, coil_orad1, 4 coil_orad2, coil_z12, 5 mega_irad1, mega_orad1, mega_irad2, 6 mega_orad2, mega_z12, mega_med, color_endc, muo_arms, 7 pist_thet, shad_thet, mega_thick, depth_notch,coil_thick, 8 iflag_pcore, zpist_core, pcore_rad, nmed_pcore, 9 iflag_ccore, npc_core, zcent_core, ccore_rmin, 9 ccore_rmax, nmed_ccore,pcdelr, x cyoke_flag, cyoke_dz, cyoke_dy, cyoke_dx, cyoke_yp, y dyoke_dz, dyoke_dx, dyoke_dy, dyoke_zp, dyoke_yp, z cencoil_med,cencoil_color, 1 cencoil_z,cencoil_rin,cencoil_rout 2 ,pist2_thet,fin_thick,fin_z1,fin_z2,corn_ang,buss_z, 3 buss_thick,buss_wide,flag_par,wtr_par,rib_z1,rib_z2, 4 flag_z,fin_flag,buss_flag,buss_buss_flag,wtr_flag, 5 rib_flag,fin_med,buss_med,flag_med,rib_med,cutt_med, 6 wtr_med,ret_ring_par,ret_ring_pos,ret_ring_rot,retmed, 7 z_roll common /ugeom_muon1/mega_irad1,mega_irad2,mega_z12,mega_thick c-sps-------------------------------------------------------------------------- integer lfm_link, lfm_lref, lfm_last, & lfm_sparelinks, lfm_sparerefs, & lfm_map, lfm_cal, lfm_para, lfm_paru, lfm_digi, & lfm_cclus common / fpmlink / & lfm_link, ! start of structural links & lfm_map, ! Mapped (contiguous) raw data & lfm_cal(maxsub), ! Calibrated data, subevents & lfm_para, & lfm_paru, & lfm_digi, ! digitization bank link & lfm_cclus, ! bank to hold CSC clusters & lfm_sparelinks(5), & lfm_lref, ! start of reference links & lfm_sparerefs(5), & lfm_last ! last link ptr. c data zebra banks c mapped raw data (not active) integer sfmm_map integer ofmm_par1 integer ofmm_par2 parameter ( sfmm_map = 2 ) ! Size of 1 entry parameter ( ofmm_par1 = 0 ) ! Offset of par 1 parameter ( ofmm_par2 = 2 ) ! Offset of par 2 C bank of calibrated data integer sfmc_cal integer ofmc_track integer ofmc_plane integer ofmc_pid integer ofmc_ptof integer ofmc_e integer ofmc_x integer ofmc_y integer ofmc_z integer ofmc_px integer ofmc_py integer ofmc_pz parameter ( sfmc_cal = 11 ) parameter ( ofmc_track = 0 ) ! track number (fict) parameter ( ofmc_plane = 1 ) ! plane number (real) parameter ( ofmc_pid = 2 ) ! particle id (real) parameter ( ofmc_ptof = 3 ) ! particle tof (real) parameter ( ofmc_e = 4 ) ! energy (real) parameter ( ofmc_x = 5 ) ! x position (real) parameter ( ofmc_y = 6 ) ! y position (real) parameter ( ofmc_z = 7 ) ! z Position (real) parameter ( ofmc_px = 8 ) ! x Momentum (fict) parameter ( ofmc_py = 9 ) ! y Momentum (fict) parameter ( ofmc_pz =10 ) ! z Momentum (fict) C C --- end of FPMLINK.inc -------------------------------------------------- C