QQ QQ Doc Number: TD-98-013 DDDDDDDDDDDD QQ QQ Version: 1.2 QQQQ QQQQ Fermilab Beams Div QQQQ QQQQ Main Injector Dept Category: SOFTWARE DOC QQ QQ DDDDDDDDDDDD QQ QQ Specification: Z-scan Checklist and Analysis for Recycler Ring Gradient Magnets Bruce C. Brown Revision as of 3/2/98 [The revisions in going from Ver 1.1 to Ver 1.2 will be shown enclosed in []'s except for minor typographic improvements or to remove alternatives left in the initial specification which were resolved by the implementation such that the alternatives considered are not significant. Variable names shown are as specified. The code may be different but the names within the specification are consistent in the spec and the names in the code are, of course, consist in the code.] CHECKLIST The zscan hardware for the Recycler Ring gradient magnets will be assembled to permit the following checklist request: 1. Install system so that it is inserted with a stop resting against the longitudinal end of the outer plate of the magnet. Proviso #1: We will develop preliminary software to assume that the motor is inserted into the OTHER end of the magnet. The hardware will normally be assembled to be inserted from the LABEL end of RGD and SGD magnets and from the OTHER end of RGF and SGF magnets. CHECKLISTS to be developed for this system will query the measurer for the probe insertion end. This will be stored in the column pointscan.pointscan_raw_seqs.probe_insertion_end. Note that the database understands LEAD not LABEL so we will have to train people to that standard. Raw data will give z in coordinate system of the zscan hardware. As with other z-scans, the distance in inches from the starting location is reported. Results in magnet coordinate system will be only available after analysis. We will assume that a stop on the zscan assembly is pushed against whatever end is used. The parameter in subjects.series_attribute with attribute steel_yoke_length will be used to define the distance from LABEL to OTHER end of the magnet. 2. There will be a proximity switch which is installed at a fixed, standard distance (zscan_offset) from the end such that when the measurement system has driven the hall probe a distance zscan_offset from its starting position, the hall probe sensitive point is exactly at the end of the magnet (z=0 or z= steel_yoke_length). The distance from the initial position (probe holder driven to the proximity switch) to the end of the magnet will be stored as a parameter with label 'zscan_offset' in the table 'instruments.instr_float_params'. We will wish to adjust things to make this a nice round number and then modify the final checklist to reflect its value. I believe we need (per MI-0170) to achieve about a 1-2 mm precision but expect to be repeatable at much better than that. Stop at other end will be approximately set so that distance from end of magnet is approximately z_offset also. The total distance of travel for the z-scan will be determined and stored as z_scan_travel_distance [implemented as inter_limit_switch_distance] and will be stored in the calibration database. (should we put z-offset there too?) 3. The checklist will ask for the x and y positions of the measurement. The usual hardware assembly will place the hall probe at x = y = 0 and the measurer will be expected to answer with that answer. The checklist and the analysis should correctly pass to the results database any x and y value reported by the measurer. The orientation of the Hall sensor with the standard setup puts the black Hall sensor mark on the white sensor block up. This results in having a B_y which is positive up read a negative B value. We define this a orientation 180 degrees and ask the measurer to report this to the checklist. Care will be needed in analysis with regard to this point. 4. The checklist will drive the probe to the limit given by the proximity switch. Then the desired sequence of values for the measurement z position will be executed with one Hall Probe measurement at each position. The request for positions is from to step z = -z_offset z = 12 inches 0.25 inch spacing z = 12 inches z = steel_yoke_length - 12 1.0 inch spacing z = steel_yoke_length-12 z= steel_yoke_length + z_offset 0.25 inch spacing Then continue in 0.25 inch steps until cut off by hardware. Record final measurement position and field. z = final position back to even inch mark and record data with 1 inch spacing to the point where z = 0. record with 2 inch spacing to z = 1 inch. record with 1 inch spacing to stop. For the RGF/RGD/RGP this translates to 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.25 3.5 3.75 4 4.25 4.5 4.75 5 5.25 5.5 5.75 6 6.25 6.5 6.75 7 7.25 7.5 7.75 8 8.25 8.5 8.75 9 9.25 9.5 9.75 10 10.25 10.5 10.75 11 11.25 11.5 11.75 12 12.25 12.5 12.75 13 13.25 13.5 14.5 15.5 16.5 17.5 18.5 19.5 20.5 21.5 22.5 23.5 24.5 25.5 26.5 27.5 28.5 29.5 30.5 31.5 32.5 33.5 34.5 35.5 36.5 37.5 38.5 39.5 40.5 41.5 42.5 43.5 44.5 45.5 46.5 47.5 48.5 49.5 50.5 51.5 52.5 53.5 54.5 55.5 56.5 57.5 58.5 59.5 60.5 61.5 62.5 63.5 64.5 65.5 66.5 67.5 68.5 69.5 70.5 71.5 72.5 73.5 74.5 75.5 76.5 77.5 78.5 79.5 80.5 81.5 82.5 83.5 84.5 85.5 86.5 87.5 88.5 89.5 90.5 91.5 92.5 93.5 94.5 95.5 96.5 97.5 98.5 99.5 100.5 101.5 102.5 103.5 104.5 105.5 106.5 107.5 108.5 109.5 110.5 111.5 112.5 113.5 114.5 115.5 116.5 117.5 118.5 119.5 120.5 121.5 122.5 123.5 124.5 125.5 126.5 127.5 128.5 129.5 130.5 131.5 132.5 133.5 134.5 135.5 136.5 137.5 138.5 139.5 140.5 141.5 142.5 143.5 144.5 145.5 146.5 147.5 148.5 149.5 150.5 151.5 152.5 153.5 154.5 155.5 156.5 157.5 158.5 159.5 160.5 161.5 162.5 163.5 164.5 165.5 166.5 167.5 168.5 169.5 170.5 171.5 172.5 173.5 173.75 174 174.25 174.5 174.75 175 175.25 175.5 175.75 176 176.25 176.5 176.75 177 177.25 177.5 177.75 178 178.25 178.5 178.75 179 179.25 179.5 179.75 180 180.25 180.5 180.75 181 181.25 181.5 181.75 182 182.25 182.5 182.75 183 183.25 183.5 183.75 184 184.25 184.5 184.75 185 185.25 185.5 185.75 186 186.25 186.5 186.75 187 186.5 185.5 184.5 183.5 182.5 181.5 180.5 179.5 178.5 177.5 176.5 175.5 174.5 173.5 171.5 169.5 167.5 165.5 163.5 161.5 159.5 157.5 155.5 153.5 151.5 149.5 147.5 145.5 143.5 141.5 139.5 137.5 135.5 133.5 131.5 129.5 127.5 125.5 123.5 121.5 119.5 117.5 115.5 113.5 111.5 109.5 107.5 105.5 103.5 101.5 99.5 97.5 95.5 93.5 91.5 89.5 87.5 85.5 83.5 81.5 79.5 77.5 75.5 73.5 71.5 69.5 67.5 65.5 63.5 61.5 59.5 57.5 55.5 53.5 51.5 49.5 47.5 45.5 43.5 41.5 39.5 37.5 35.5 33.5 31.5 29.5 27.5 25.5 23.5 21.5 19.5 17.5 15.5 13.5 12.5 11.5 10.5 9.5 8.5 7.5 6.5 5.5 4.5 3.5 2.5 1.5 0.5 While for the SGF/SGD/SGP the list is 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.25 3.5 3.75 4 4.25 4.5 4.75 5 5.25 5.5 5.75 6 6.25 6.5 6.75 7 7.25 7.5 7.75 8 8.25 8.5 8.75 9 9.25 9.5 9.75 10 10.25 10.5 10.75 11 11.25 11.5 11.75 12 12.25 12.5 12.75 13 13.25 13.5 14.5 15.5 16.5 17.5 18.5 19.5 20.5 21.5 22.5 23.5 24.5 25.5 26.5 27.5 28.5 29.5 30.5 31.5 32.5 33.5 34.5 35.5 36.5 37.5 38.5 39.5 40.5 41.5 42.5 43.5 44.5 45.5 46.5 47.5 48.5 49.5 50.5 51.5 52.5 53.5 54.5 55.5 56.5 57.5 58.5 59.5 60.5 61.5 62.5 63.5 64.5 65.5 66.5 67.5 68.5 69.5 70.5 71.5 72.5 73.5 74.5 75.5 76.5 77.5 78.5 79.5 80.5 81.5 82.5 83.5 84.5 85.5 86.5 87.5 88.5 89.5 90.5 91.5 92.5 93.5 94.5 95.5 96.5 97.5 98.5 99.5 100.5 101.5 102.5 103.5 104.5 105.5 106.5 107.5 108.5 109.5 110.5 111.5 112.5 113.5 114.5 115.5 116.5 117.5 118.5 118.75 119 119.25 119.5 119.75 120 120.25 120.5 120.75 121 121.25 121.5 121.75 122 122.25 122.5 122.75 123 123.25 123.5 123.75 124 124.25 124.5 124.75 125 125.25 125.5 125.75 126 126.25 126.5 126.75 127 127.25 127.5 127.75 128 128.25 128.5 128.75 129 129.25 129.5 129.75 130 130.25 130.5 130.75 131 131.25 131.5 131.75 132 187 132 131.5 130.5 129.5 128.5 127.5 126.5 125.5 124.5 123.5 122.5 121.5 120.5 119.5 118.5 116.5 114.5 112.5 110.5 108.5 106.5 104.5 102.5 100.5 98.5 96.5 94.5 92.5 90.5 88.5 86.5 84.5 82.5 80.5 78.5 76.5 74.5 72.5 70.5 68.5 66.5 64.5 62.5 60.5 58.5 56.5 54.5 52.5 50.5 48.5 46.5 44.5 42.5 40.5 38.5 36.5 34.5 32.5 30.5 28.5 26.5 24.5 22.5 20.5 18.5 16.5 14.5 13.5 12.5 11.5 10.5 9.5 8.5 7.5 6.5 5.5 4.5 3.5 2.5 1.5 0.5 These lists are available as single columns in /home/mdtf20/bcbrown/magana/zshape/RGF_zpoint_list.txt /home/mdtf20/bcbrown/magana/zshape/SGF_zpoint_list.txt This defines, I hope, the checklist. ANALYSIS The analysis will be launched as a separate checkitem. [The select_for_analysis program (not CHISOX) in the measurement environment will create an xterm and] will execute it by launching an executable which has the required code. I propose that we describe this as ["analyze_perm_grad_magnet_zscan"] (logbook.checkitems.name) Here is what is to be accomplished by this analysis: 1. [The implemented code used is select_for_analysis plus specific SQL for matching to the needs of this analysis. This affects implementation of Items 1 & 2.] Using information passed from CHISOX (subject_sn) for the mounted magnet, obtain a list of all pointscan_raw_run_sn from which the measurer will be asked to select a run ('run_sn') for analysis. Present request to measurer in standard way. Preserve 'visual_label' for directory label. 2. Query database for 'series' from 'subject_sn'. Preserve for directory label. Get pointscan_raw_seqs_sn from database. Then get z_instr_sn from pointscan_raw_seqs table. 3. Check for analysis directory structure and create if missing. Desired structure will have the following 4 directories: /usr/analysis/'series' /usr/analysis/'series'/'visual_label' /usr/analysis/'series'/'visual_label'/standard /usr/analysis/'series'/'visual_label'/special 4. Get steel_yoke_length, steel_pole_length, design_integrated_dipole from subjects.series_attributes table, zscan_offset [from instruments parameters table], z_scan_travel_distance [implemented as inter_limit_switch_distance in a calib set] from the instruments.instr_float_params or the calibrations database (as decided above), probe_insertion_end from the pointscan_raw_seqs table. 5. Extract raw data from pointscan.pointscan_raw_pnts: 'select x, y, z, hall_y from pointscan.pointscan_raw_pnts where raw_run_sn = run_sn'. Make arrays of z and hall_y. Store x and y from first point and assume same at each successive point. If x or y not equal to zero set flag to print notice to measurer: ################################################################################### For Standard Measurement x = 0 and y = 0. Reported values for this measurement are x = 'x' and y = 'y'. Please repeat measurement if incorrect. Please comment if special Measurement. ################################################################################### Orientation should report 180 (degrees). (Investigating what options we should consider to assure this and get right answer). [Implementation selected is to assume that hardware is as designed, so that orientation = 180, analyze with that assumption, and modify the data in the pointscan_raw_points table if it is not 180 to set it equal to 180. 6. The hall data is to be transformed by: B_y = - hall_y (provided orientation = 180). the z is to be transformed by: For probe_insertion_end = OTHER; z_ana = z - zscan_offset For probe_insertion_end = LEAD; z_ana = steel_yoke_length + zscan_offset - z Store index (index_end_meas) of point where we measure last point of the magnet field. We define this as the the largest z(raw) with z < steel_yoke_length + 5". Note that in checklist requested (and future ones must do likewise) z decreases monotonically to up to end of magnet and just beyond. For measurement of short magnets, we take another point where the proximity limit switch ends the motion. It should be giving index of (index_end_meas + 1). Results table will store only points up to index_end_meas. (see item 11 below.) The points with repeated measurements are to be differenced as follows: find z_match by demanding match to 0.05" Store z_match(i_match), diff_B_y(i_match) = B_y out - B_y return. 7. Perform Checks on data as follows: Length of scan: calculate scan_length = max(z) - min(z) scan_z_miss = |scan_length - z_scan_travel_distance| < ZST_lim (0.05" ??) Repeatability < BYRepeatErrorAvg (0.0003 T) (actually this should be very small) sigma_diff_B_y = Std Dev (diff_B_y(4 .0040 T Report error by setting "diff_B_y_error= true" for 4 .0005 T Report error by setting "diff_B_y_body_error= true" Note that it is quite essential to define body field excluding points at 3" and at steel_yoke_length-3" because these are generally very bad points. (I have looked at the data). Changed definitions to make the body portion of scan 4 to steel_yoke_length-4. 8. Write data to file /usr/analysis/'series'/standard/'visual_label'/Hall_ana.'run_sn' Header lines (begin with # for comment, @ for command) [Implemented code produced the following, with ## on all lines, not making the third line a command line. But not important..... 4th line added when plotting was finalized.] ## ZSCAN data for "visual_label" from pointscan run "run_sn" ## analyzed with magnet length = "steel_yoke_length" and zoffset = "zscan_offset" ## @ LEGEND STRING 0 "visual_label" ## This file contains z_analyze and -1 * By Data line contain z_ana hall_y [note that this implies recording z_ana and - B_y] Similar file for diff_B_y : /usr/analysis/'series'/standard/'visual_label'/Hall_diff.'run_sn' Header lines (begin with # for comment, @ for command) # ZSCAN repeatibility data for "visual_label" from pointscan run "run_sn" # analyzed with magnet length = "steel_yoke_length" and zoffset = "zscan_offset" @ LEGEND STRING 0 "visual_label" Data line contain z_match(i_match), diff_B_y(i_match) 9. Calculate Results: I. Calculate Moments: Use hall_y for B_y and z_ana for z A. Need integral for normalizing other moments and as data check. B_int_in = int{B dz} (units of T-in) B_int = B_int_in * .0254 B_rel = 10000*(B_int - design_integrated_dipole )/design_integrated_dipole B. Want z_center or first moment so that magnet can be installed at required location to minimize closed orbit distortions. z_cent = int{z B_y(z) dz}/B_int_in !this will be about 1/2 of steel_yoke_length z_cent_off = z_cent - 0.5 * steel_yoke_length C. Want second moment of z shape about mean to predict tune changes due to magnet longitudinal shape. z2_size = int{z^2 B_y(z) dz}/B_int_in - z_cent^2 or z2_size = int{(z-z_cent)^2 B_y(z) dz}/B_int_in where second will have less roundoff error but don't believe difference is significant. We will want to report a second moment normalized to magnet with a flat field profile which has a z2_size of (steel_pole_length^2)/12. If we look at the relative deviation of this quantity we will have a normalized deviation which is proportional to the change tune due to this effect. Don't calculate z2mom_nor z2Mom_nor = z2_size*12/(steel_pole_length^2) but instead get z2mom_nor -1 Delta_z2Mom_rel = z2_size*12/(steel_pole_length^2) - 1 I propose a simple trapezoid integration. For each interval, use z = 0.5[z(n+1)+z(n)] and B = 0.5[B(n+1)+B(n)], dz = z(n+1)-z(n) then add up the integral using n=1 to nmax, skipping n=0 where you add B * dz or B * z * dz or B * z^2 * dz. I think we will want to integrate only to steel_yoke_length + zscan_offset being careful on magnets shorter than RGF's to not include the last, very distant point which is included to check z_scan_travel_distance. II.Calculate 'length' of magnet. Some magnets will have different end shims than others. Some will be measured with no end shim, with one or with both. This calculation will provide a fairly precise measurement of the pole length of a magnet based on the precision z scan data at the ends. The physics basis is the fact that the end of the pole will have some potential which will result in a field on the axis which falls from a given value at a few gap heights inside the pole to 0 outside with the 50% point coming very near the mechanical end of the pole. We will provide a well defined 'length' even when the above description is not fully precise. Find B_O_6 = hall_y(z_ana = 6") B_L_6 = hall_y(z_ana = steel_yoke_length - 6") Z_end_O = z near OTHER end where B = 0.5 * B_O_6 Z_end_L = z near LEAD end where B = 0.5 * B_L_6 L_eff_in = Z_end_L - Z_end_O L_eff = 0.0254 * L_eff_in Proposed checklist will expect to measure at 6" point but software should not count on that. However, the data is taken on a dense enough set of points so that a linear interpolation is sufficient. So 1. Find B_O_6, B_L_6 by linear interpolation to specified z position if it falls between points of measured data. 2. Find Z_end_O, Z_end_L by interpolation to specified B value to discover correct z. 3. Calculate L_eff_in, L_eff. 10. Check Magnet Quality. QC Checks for MI powered magnets have involved big tables of results to check since they were made at many currents. For permanent magnets, we only need to make comparisons at a fixed current. Here are the quantities and first and second level QC values. I will give values for a start but better QC set will be generated after 20 or so magnets are tested. B_int Mean = (design_integrated_dipole) Lim1 = 2E-3 * (design_integrated_dipole) Lim2 = 6E-3 * (design_integrated_dipole) [These were implemented in error with function 'deviation_from_mean' and the values 2E-3, 6E-3 whereas those would have been correct for the QC test function 'relative_deviation_from_mean'. Since the mean for RGF magnets was about 0.6, the limits are only modestly wider than intended, and a different set is not justified in the situation where this set was used for about 1/2 of the analyses needed. The QC set for SGF/SGD magnets is constructed below to match in principle.] z_cent_off Lim1 = +/-.63 (.63" or 16 mm) Lim2 = +/-1 Delta_z2Mom_rel lo-lim1 = .007 hi-lim1 = 0.037 lo-lim2 = -0.008 hi-lim2 = 0.053 L_eff Mean = 179" * 0.0254 Lim1 = 0.2"* 0.0254 Lim2 = .4" * 0.0254 [Implemented QC set can be seen in database. For RGF, after suitable number of measurements, the L_eff is known and different than above. Request for SGF/SGD QC set shown here: For SGF: B_int Mean = -.412162 (design_integrated_dipole) Lim1 = 1.333E-2 - not 2E-3 * (design_integrated_dipole) Lim2 = 4E-3 - not 6E-3 * (design_integrated_dipole) z_cent_off Lim1 = +/-.63 (.63" or 16 mm) Lim2 = +/-1 Delta_z2Mom_rel lo-lim1 = .007 hi-lim1 = 0.037 lo-lim2 = -0.008 hi-lim2 = 0.053 L_eff Mean = 3.173 m (124.91" * 0.0254) Lim1 = 2.570000e-03 m Lim2 = 8.550000e-03 m The L_eff limits are based on measurements of 3 SGF's. That is probably OK. The Delta_z2Mom_rel limits are not knowable at this time. Without better knowledge the ones from the RGF's are good enough. The number is normalized (to magnet length) so it will not required rescaling. The question is how well the brick distribution effort will produce a suitable profile.] 11. Store Results in 'results' database. in Table dipole_z_map x0 and y0 are to be the x and y verified as same above from each point mean_body_field = B_int / steel_yoke_length analysis_algorithm = "Permanent_Magnet_zscan" measurement_type = pointscan in Table dipole_z_map_pnts z = z_ana B_y = - hall_y -- see details in Item 6. and before..... B_y_error = sigma_diff_B_y for points up to index_end_meas (see item 6 above). Note that we cannot store both 'out' and 'return' measurements in this table. (since primary key is z with run number) We could store an average, where available. Instead, I request that we store ONLY points in the scan on the 'out' part, i.e. points taken before z = max(z) and for measurements with short magnets, skip points taken way beyond end of magnet (we specified one point out there to get a measure of the travel of the device. in results_float_parameter table (to be created) B_int, z_cent_off, Delta_z2Mom_rel Z_end_O, Z_end_L, L_eff scan_z_miss, sigma_diff_B_y, sigma_diff_B_y_all Note that we store this integral in an obscure place deliberately. It is a check on this data quality, not a check on the magnet, in analysis_float_parameters_used store steel_yoke_length, steel_pole_length, zscan_offset, in data_sources_used store pointscan_raw_run_sn with data_role "pointscan_raw_run_sn". [also store raw_seq_sn and qc_set_sn with appropriate labels. [in comments store any comment created by the measurer and also a copy of the report which went to file 'visual_label'.z.pointscan_raw_seqs_sn.dipole_z_map_sn.txt assessment (by program) stored in assessments_connections table.] Phil Schlabach, in response to my query on what we should choose to record, made the following very sensible suggestion. I like it but it does involve some more programming. We are not doing this. In pointscan.pointscan_red_pnts record the scan data going in both directions in absolute units In results.dipole_z_map_points record one set of data which would for now be a copy of one of the sets of data in the reduced table. 12. Present numerical and graphical data to analyst. Provide on screen and prepare to print after evaluation and save in file: 'visual_label'.z.pointscan_raw_seqs_sn.dipole_z_map_sn.txt Tables to present: 'visual_label', scan_length, scan_z_miss , sigma_diff_B_y ,sigma_diff_B_y_all B_int, B_rel, z_cent, z_cent_off, z2_size, Delta_z2Mom_rel Z_end_O, Z_end_L, L_eff_in, L_eff Measurement Quality checks should be printed as WARNING SOME VALUE diff_B_y greater than 40 Gauss in whole scan (for diff_B_y_error= true) WARNING SOME VALUE diff_B_y greater than 5 Gauss in body of magnet. (for diff_B_y_body_error= true) or NO diff_B_y greater than 40 Gauss in whole scan for diff_B_y_error= false No diff_B_y greater than 5 Gauss in body of magnet. for diff_B_y_body_error= false QC Check Results and report. Here is proposal for format (5 Feb 97) _______________________________________________________________________________ Measurement Report on Gradient Magnet Z-scan for RGF009-2 Feb 02 1998 using raw run 1756564 Measurement Quality Results: Measured Distance between Limit Switches scan_length = 186.640 in. Difference from Nominal scan_z_miss = 0.003 in. Comparing the difference (diff_B_y) between initial measurements and measurements during the return travel of the scanner we find: No diff_B_y greater than 40 Gauss in whole scan No diff_B_y greater than 5 Gauss in body of magnet. Statistics on differences: Mean diff B_y = -0.000038 T sigma_diff_B_y_all (Include Ends) = 0.000178 T sigma_diff_B_y (Body - exclude 4" at ends) = 0.000045 T Magnet Results: Integrating B along z with the OTHER (non-LABEL) end at z = 0. Integrated Field B_int = -0.6172 T-m B_rel = -16.17 units Bend Center (Centroid) of Field z_cent = 92.423 in. z Offset (Centroid-Mechanical Center) z_cent_off = 0.423 in. Mean Squared Length(MSL) z2_size = 2695.54 in^2 [MSL/MSL(Flat w/No Endshim)]-1 Delta_z2Mom_rel = 0.0325 Length and End Position Results Magnet END is outer side of Shell End Plate (z = 0 at OTHER End) Field END is where B is half of field 6" from Magnet End OTHER END Z_end_O = 2.005 in. LEAD END Z_end_L = 182.245 in. LENGTH L_eff_in = 180.239 in. L_eff = 4.578 m. QC Error Results: ***** WARNING SOME VALUE diff_B_y greater than 40 Gauss in whole scan ***** WARNING SOME VALUE diff_B_y greater than 5 Gauss in body of magnet. ***** Mean of diff_By (whole range) not less than 0.0003 ***** Standard Deviation of diff_By (whole range) not less than 0.0003 ***** Standard Deviation of diff_By (Body) not less than 0.0001 ***** scan_z_miss not less than 31.2 ***** Mean of B_int not within 2.2 of 1.2 ***** z_center_offset not between 11.2 of 12.2 ***** magnet effective length not between 22.2 of 21.2 ***** Level 1: z_center_offset not between -0.35 and 0.35 ***** Level 1: delta_z2mom_rel not between 0 and 0.03 End of QC Error Results. ############################################################ ############################################################ ########## ########## ########## Measurement is OK. ########## ########## Magnet unusual but acceptable. ########## ########## ########## ############################################################ ############################################################ Alternative status might produce one of the following two final forms: ############################################################ ############################################################ ########## ########## ########## Measurement is OK. ########## ########## Magnet is OK. ########## ########## ########## ############################################################ ############################################################ ############################################################ ############################################################ ########## ########## ########## Measurement Result Not Satisfactory ########## ########## Please Remeasure at least once ########## ########## ########## ############################################################ ############################################################ Graphs with xmgr to present B_y vs z_ana diff_B_y(i_match) vs z_match(i_match) Interaction with xmgr has been demonstrated in perl script. Need to add command file which will cause xmgr to print graph it has displayed. Need different files for different magnet types and also need to add stuff for second graph not included. [The implementation provides a single graph with 'suppressed zero' which is presented to the measurer on screen using xmgr. Three graphs are saved to the /standard/ subdirectory along with the two datafiles shown above. The following description is taken from TD-98-015: The two usual files are, e.g. RGF/RGF021-0/standard/RGF021-0.z.1786575.0.txt RGF/RGF021-0/standard/Hall\_ana\_1786581.ps Additional files include the graphics files RGF/RGF021-0/standard/Hall\_ana\_1786581\_full.ps - full vertical profile RGF/RGF021-0/standard/Hall\_diff\_1786581.ps - initial minus remeasure. as well as data files for measured fields and differences RGF/RGF021-0/standard/Hall\_ana.1786581 - $B_y$ {\em vs.} $z$ RGF/RGF021-0/standard/Hall\_diff.1786581 - $\delta B_y$ {\em vs.} $z$ which contain the data which was plotted.] 13. Get Program's evaluation. Print results of 10., 12. plus evaluation for Traveler and instructions for measurer. We will summarize the results of the measurement tests in Item 7 and the QC tests in Item 10 and conclude if the measurement is to be retaken. Assessment for analysis will be stored based on this evaluation. We will create two logical variables to capture this evaluation: Level_1_FAIL is true if any one QC criteria fails at level 1, else it is false. Level_2_FAIL is true if any one QC criteria fails at level 2 or if any measurement criteria fails (Item 7), else it is false. If Level_2_FAIL is true store ASSESSMENT for this analysis of ABORT and add the following message to the information to display and print as part of Item 12: ############################################################ ############################################################ ########## ########## ########## Measurement Result Not Satisfactory ########## ########## Please Remeasure at least once ########## ########## ########## ############################################################ ############################################################ If Level_1_FAIL is true and Level_2_FAIL is false, store ASSESSMENT for this analysis of QUESTIONABLE and add the following message to the information to display and print as part of Item 12: ############################################################ ############################################################ ########## ########## ########## Measurement is OK. ########## ########## Magnet unusual but acceptable. ########## ########## ########## ############################################################ ############################################################ If Level_1_FAIL is false and Level_2_FAIL is false, store ASSESSMENT for this analysis of SATISFACTORY and add the following message to the information to display and print as part of Item 12: ############################################################ ############################################################ ########## ########## ########## Measurement is OK. ########## ########## Magnet is OK. ########## ########## ########## ############################################################ ############################################################ Revisions: Ver 1.2 - updated in many points to describe the code as implemented. See comments in []'s at top and scattered through the document. Removed following line from ANALYSIS section, Item 5. (Decided to skip checking for and flagging error if x or y changes.) Removed designation (temporary??) from specification for writing file in ANALYSIS section, Item 8.

Legal Notices