=head1 tagger focal plane positions according to Transport and TOSCA calculations =head2 Instructions This file is a self-extracting script. It will produce a four-column data file consisting of points (x,z) along the focal plane according to TRANSPORT (columns 1,2) and TOSCA (columns 3,4). perl focalplane.table >focalplane.dat The coordinate system used in the magnetic field calculations is left-handed, with yhat pointing vertically up, zhat pointing along the nominal photon beam axis, and xhat defined to form a left-handed coordinate system, with an origin located at (20.87,0,297.62) cm in the master coordinate system of the tagger hall. Comparison between the TRANSPORT and TOSCA results. (Rogowski pole, point to point focal plane) Electron energy Focal plane position Bend angle Vertical height at focal plane Horizontal spot size at focal plane TRANSP TOSCA TRANSP TOSCA TRANSP TOSCA TRANSP TOSCA (GeV) x(m),y(m) x(m),y(m) (degree) (degree) (cm) (cm) (cm) (cm) 1 (0.979,2.187) (0.959,2.171) 32.455 32.395 1.3 1.52 0.04 0.075 2 (1.267,3.674) (1.258,3.671) 25.352 25.355 0.94 0.98 0.061 0.073 3 (1.502,4.973) (1.498,4.979) 22.326 22.338 0.72 0.76 0.075 0.085 4 (1.716,6.186) (1.706,6.178) 20.579 20.595 0.57 0.62 0.086 0.093 5 (1.920,7.348) (1.922,7.368) 19.42 19.435 0.46 0.51 0.094 0.097 6 (2.116,8.477) (2.118,8.496) 18.586 18.6 0.37 0.42 0.1 0.103 7 (2.308,9.581) (2.307,9.592) 17.954 17.962 0.3 0.35 0.106 0.107 8 (2.496,10.668) (2.526,10.783) 17.458 17.445 0.23 0.28 0.11 0.105 9 (2.681,11.741) (3.013,12.891) 17.055 16.952 0.17 0.21 0.114 0.085 =cut $fporigin[0] = 20.87; $fporigin[1] = 0; $fporigin[2] = 297.62; open(FD,"<$0"); while () { next if (/^[^0-9]/); @f = split(/\s/); next if (@f < 9); @xy = split(/[(,)]/,$f[1]); $transp[0] = $fporigin[0]-$xy[1]*100; $transp[1] = $fporigin[1]; $transp[2] = $fporigin[2]+$xy[2]*100; @xy = split(/[(,)]/,$f[2]); $tosca[0] = $fporigin[0]-$xy[1]*100; $tosca[1] = $fporigin[1]; $tosca[2] = $fporigin[2]+$xy[2]*100; printf("%f %f %f %f\n", $transp[0],$transp[2],$tosca[0],$tosca[2]); } close(FD);