* hms_geometry.cmn * * This include file has all the geometrical coefficients for the * HMS wire chambers. * * d.f. geesaman 1 September 1993 * modifed dfg 14 Feb 1994 * change HPLANE_PARAM(2,) to hdc_zpos * change HPLANE_PARAM(3,) to hdc_alpha_angle * change HPLANE_PARAM(4,) to hdc_beta_angle * change HPLANE_PARAM(5,) to hdc_gamma_angle * change HPLANE_PARAM(6,) to hdc_pitch * change HPLANE_PARAM(7,) to hdc_nrwire * change HPLANE_PARAM(8,) to hdc_central_wire * change HPLANE_PARAM(9,) to hdc_sigma * change HPLANE_LABEL to hdc_plane_name * add hdc_xcenter * hdc_ycenter * $Log: hms_geometry.cmn,v $ * Revision 1.11.24.2 2007/09/26 21:04:16 brash * Updates to FPP tracking codes - mostly for conetest calculation. * * Revision 1.11.24.1 2007/08/22 19:09:31 frw * added FPP * * Revision 1.12 2006/06/22 frw * (frw) added FPP geometry variables, common block * * Revision 1.11 1996/09/04 15:49:59 saw * (JRA) Make hdc_nrwire integer * * Revision 1.10 1995/05/22 19:07:02 cdaq * (SAW) Split gen_data_data_structures into gen, hms, sos, and coin parts * * Revision 1.9 1995/01/27 20:21:00 cdaq * (JRA) Remove no longer used drift time->distance parameters * * Revision 1.8 1994/11/22 18:43:10 cdaq * (SAW) Cleaned up ?DC_NUM_CHAMBERS and ?MAX_NUM_CHAMBERS stuff * * Revision 1.7 1994/09/13 19:19:37 cdaq * (JRA) Add global Wire chamber offsets * * Revision 1.6 1994/08/05 17:54:15 cdaq * (SAW) Add makereg directive with required include files * Add "CTPTYPE=parm" directive for auto generation of CTP reg calls * * Revision 1.5 1994/07/27 19:15:18 cdaq * (DFG) Add hdrift_x0_break and hdrift_t0_break (probably obsoleted by DJM's * Change to h_drift_dist_calc * * Revision 1.4 1994/06/14 03:21:25 cdaq * (DFG) Added hdc_tdc_time_zero * * Revision 1.3 1994/04/13 17:33:06 cdaq * (DFG) Added dummy and dmytst * * Revision 1.2 1994/03/24 18:36:06 cdaq * (DFG) Additional parameters * * Revision 1.1 1994/02/22 14:46:27 cdaq * Initial revision * * The following include statments must precede the inclusion of this * file in each routine that uses it. The *%% syntax is also a * directive to makereg to tell it to include the code in the program * that it generates. * *%% include 'hms_data_structures.cmn' * * CTPTYPE=parm ! Probably don't really want the following registered * real*4 hzchi,hzpsi ! geometrical coefficients defining z-z0 real*4 hxchi,hxpsi ! x and y for each wire plane. real*4 hychi,hypsi * real*4 hz0 ! z coordinate of intersection of chamber with ! z axis real*4 hpsi0,hchi0,hphi0 ! psi, chi and phi coordinates where a ! chamber normal passing through the origin ! intersects the chamber. Used in stub fits real*4 hstubcoef ! coefficents used in stub fits ! note these contain one power of sigma real*4 htanbeta,hsinbeta,hcosbeta * real*4 hxsp ! coefficents used in space point fits. real*4 hysp * real*8 hplane_coeff ! coefficients used in final track fit * integer*4 HNUM_PLANE_COEFF ! number of plane track fit coefficients parameter (HNUM_PLANE_COEFF=9) integer*4 HNUM_RAY_PARAM ! number of ray parameters parameter (HNUM_RAY_PARAM=4) * common/HMS_GEOMETRY/ & hplane_coeff(HNUM_PLANE_COEFF,HMAX_NUM_DC_PLANES), & hzpsi(HMAX_NUM_DC_PLANES),hzchi(HMAX_NUM_DC_PLANES), & hxpsi(HMAX_NUM_DC_PLANES),hxchi(HMAX_NUM_DC_PLANES), & hypsi(HMAX_NUM_DC_PLANES),hychi(HMAX_NUM_DC_PLANES), & hz0(HMAX_NUM_DC_PLANES),hpsi0(HMAX_NUM_DC_PLANES), & hchi0(HMAX_NUM_DC_PLANES),hphi0(HMAX_NUM_DC_PLANES), & hstubcoef(HMAX_NUM_DC_PLANES,HNUM_RAY_PARAM), & hxsp(HMAX_NUM_DC_PLANES),hysp(HMAX_NUM_DC_PLANES), & htanbeta(HMAX_NUM_DC_PLANES),hsinbeta(HMAX_NUM_DC_PLANES), & hcosbeta(HMAX_NUM_DC_PLANES) * real*4 hdc_zpos real*4 hdc_alpha_angle real*4 hdc_beta_angle real*4 hdc_gamma_angle real*4 hdc_pitch integer*4 hdc_nrwire real*4 hdc_central_wire real*4 hdc_sigma real*4 hdc_xcenter real*4 hdc_ycenter real*4 hdc_center integer*4 hdc_chamber_planes character*16 hdc_plane_name common/HMS_PLANE_PARAMETERS/ & hdc_zpos(HMAX_NUM_DC_PLANES), & hdc_alpha_angle(HMAX_NUM_DC_PLANES), & hdc_beta_angle(HMAX_NUM_DC_PLANES), & hdc_gamma_angle(HMAX_NUM_DC_PLANES), & hdc_pitch(HMAX_NUM_DC_PLANES), & hdc_central_wire(HMAX_NUM_DC_PLANES), & hdc_nrwire(HMAX_NUM_DC_PLANES), & hdc_sigma(HMAX_NUM_DC_PLANES), & hdc_xcenter(HMAX_NUM_CHAMBERS), & hdc_ycenter(HMAX_NUM_CHAMBERS), & hdc_chamber_planes(HMAX_NUM_DC_PLANES), & hdc_plane_name(HMAX_NUM_DC_PLANES), & hdc_center(HMAX_NUM_DC_PLANES) * * real*4 hlocrayzt parameter (hlocrayzt=0.) * * CTPTYPE=parm * * parameter file variables. Separate by type to make it easy to add * at the end * REAL*4 * * real*4 hdrift_velocity ! hms drift velocity in cm/ns real*4 hdc_tdc_time_per_channel ! hms drift chamber tdc calibration real*4 hdc_1_zpos real*4 hdc_2_zpos real*4 dummy real*4 hdc_plane_time_zero ! zero time for drift chamber planes * real*4 hdrift_t0_break ! start of linear drift region in t * real*4 hdrift_x0_break ! start of linear drift region in x common/HMS_CHAMBER_READOUT_REAL/ * & hdrift_velocity, & hdc_tdc_time_per_channel, & hdc_1_zpos, & hdc_2_zpos, & dummy, & hdc_plane_time_zero(HMAX_NUM_DC_PLANES) * & hdrift_t0_break(HMAX_NUM_DC_PLANES), * & hdrift_x0_break(HMAX_NUM_DC_PLANES) * * INTEGER*4 integer*4 hdc_wire_counting ! readout numbering order integer*4 dmytst * common/HMS_CHAMBER_READOUT_INT/ & hdc_wire_counting(HMAX_NUM_DC_PLANES), & dmytst * * CTPTYPE=parm * integer*4 HFPP_Nwires ! actual # of wires in each layer (plane!!) integer*4 HFPP_plane2set ! mapping from plane# to set# integer*4 HFPP_plane2chamber ! mapping from plane# to chamber# integer*4 HFPP_plane2layer ! mapping from plane# to layer# * * the following offsets and rotations are expressed in the HMS FP coords * * thus they describe how the chamber set is positioned relative to the * * other detectors; we expect the rotation to be carried out before the * * translation, i.e. the origins of the coord systems will coincide * * the translation is however expressed in HMS FP coords * * the chamber set coord system mirrors HMS trasport conventions, with the * * z-axis going through the center of each layer; the origin is midway * * between the two cha,mbers of the set real*4 HFPP_alpha ! rotation angle alpha of each chamber set real*4 HFPP_beta ! rotation angle beta of each chamber set real*4 HFPP_gamma ! rotation angle gamma of each chamber set real*4 HFPP_Xoff ! x offset in lab of each chamber set (cm) real*4 HFPP_Yoff ! y offset in lab of each chamber set (cm) real*4 HFPP_Zoff ! z offset in lab of each chamber set (cm) real*4 HFPP_Xsize ! useful size (x) of each chamber set (cm) real*4 HFPP_Ysize ! useful size (y) of each chamber set (cm) real*4 HFPP_layerZ ! z coord of each LAYER in lab (cm) real*4 HFPP_spacing ! wire spacing of each layer real*4 HFPP_resolution ! track fit hit sigma**2 of each layer in layer real*4 HFPP_layeroffset ! offset of each layer (along its measure) real*4 HFPP_Mrotation ! coordinate rotation matrix from HMS to FPP real*4 HFPP_Irotation ! coordinate rotation matrix from FPP to HMS real*4 HFPP_direction ! direction of unit vector along layer''s measure ! based on parameter file variable HFPP_layerangle integer*4 HFPP_cardpos ! is readout card on +v or -v side of chamber? ! where u is measuring coord, v is along wires and z is beam common/HMS_FPP_geometry/ & HFPP_Nwires(H_FPP_N_PLANES) & , HFPP_plane2set(H_FPP_N_PLANES),HFPP_plane2chamber(H_FPP_N_PLANES) & , HFPP_plane2layer(H_FPP_N_PLANES) & , HFPP_alpha(H_FPP_N_DCSETS) & , HFPP_beta(H_FPP_N_DCSETS) & , HFPP_gamma(H_FPP_N_DCSETS) & , HFPP_Xoff(H_FPP_N_DCSETS) & , HFPP_Yoff(H_FPP_N_DCSETS) & , HFPP_Zoff(H_FPP_N_DCSETS) & , HFPP_Xsize(H_FPP_N_DCSETS) & , HFPP_Ysize(H_FPP_N_DCSETS) & , HFPP_Mrotation(H_FPP_N_DCSETS,3,3) & , HFPP_Irotation(H_FPP_N_DCSETS,3,3) & , HFPP_direction(H_FPP_N_DCSETS,H_FPP_N_DCINSET,H_FPP_N_DCLAYERS,2) & , HFPP_spacing(H_FPP_N_DCSETS,H_FPP_N_DCINSET,H_FPP_N_DCLAYERS) & , HFPP_resolution(H_FPP_N_DCSETS,H_FPP_N_DCINSET,H_FPP_N_DCLAYERS) & , HFPP_layerZ(H_FPP_N_DCSETS,H_FPP_N_DCINSET,H_FPP_N_DCLAYERS) & , HFPP_layeroffset(H_FPP_N_DCSETS,H_FPP_N_DCINSET,H_FPP_N_DCLAYERS) & , HFPP_cardpos(H_FPP_N_DCSETS,H_FPP_N_DCINSET,H_FPP_N_DCLAYERS,H_FPP_MAX_WIRES)