As a scientist using HIFI under IBEX I want to be able to view my corrected fields.
Acceptance Criteria
What is the acceptance criteria?
[ ] Verify with the instrument scientists that this is readback only, no control was apparent in the Group 3 Hall Probe VI before undertaking this work, and how it needs to appear
[ ] Create the wireframe adapted from the VI front panel after a discussion with the instrument scientsts
[ ] An IOC exists for this functionality
[ ] An OPI exists for this functionality
[ ] Appropriate tests and emulators exist
Extra Information
This is a spin off ticket from #6088 6088 and there is more detail in there of background
The Front panel of that VI is a messy starting point for the one here
The field readings will come from the Group 3 Hall Probe (Ticket #8400) IOC
The output values for the PSU Current Readback will come from the appropriate magnets which are served from the cryomagnet system
The coil inhomogenities field table is a matrix specified in an ini file at present, this may be achievable as macros, or other file system
The persistent gradients are an array specified in an ini file at present, this may be achievable as macros, or other file system
The logic to reach the required values is as follows:
Adjusted Fields = Array of field readings
Interim coil values (context for ease of understanding the next displayed items) = For each PSU: {Adjusted Fields = Adjusted Fields - (multiply each value in the appropriate column in the coil inhomogenities field table with the PSU current readback)}
The appropriate columns are x = 0, y = 1, and z = 2
Corrected for coils = Interim coil values + [x current, y current, z current, x current, y current, z current]
Persistent grad value = Interim Coil Values[4] - Interim Coil Values[1]
corrected for persistent fields (context value again) = Interim coil values - (persistent gradients*persistent grad value)
Split the corrected for persistent fields into two arrays, elements 0,1,2 in one and 3,4,5 in the other. Add these two arrays together and divide by 2, and subtract the final offsets, then add these values to the psu current readback to get X, Y, and Z.
There is a "cleaner" VI Array Maths Example that may make this easier to understand, ask if access is needed, it is the repo for the old LabVIEW modules, and not available via GitHub
How to Test
verbose instructions for reviewer to test changes
(Add before making a PR)
As a scientist using HIFI under IBEX I want to be able to view my corrected fields.
Acceptance Criteria
What is the acceptance criteria?
Extra Information
This is a spin off ticket from #6088 6088 and there is more detail in there of background
The Front panel of that VI is a messy starting point for the one here
The field readings will come from the Group 3 Hall Probe (Ticket #8400) IOC
The output values for the PSU Current Readback will come from the appropriate magnets which are served from the cryomagnet system
The coil inhomogenities field table is a matrix specified in an ini file at present, this may be achievable as macros, or other file system
The persistent gradients are an array specified in an ini file at present, this may be achievable as macros, or other file system
The logic to reach the required values is as follows:
Adjusted Fields = Array of field readings
Interim coil values (context for ease of understanding the next displayed items) = For each PSU: {Adjusted Fields = Adjusted Fields - (multiply each value in the appropriate column in the coil inhomogenities field table with the PSU current readback)}
Corrected for coils = Interim coil values + [x current, y current, z current, x current, y current, z current]
Persistent grad value = Interim Coil Values[4] - Interim Coil Values[1]
corrected for persistent fields (context value again) = Interim coil values - (persistent gradients*persistent grad value)
There is a "cleaner" VI Array Maths Example that may make this easier to understand, ask if access is needed, it is the repo for the old LabVIEW modules, and not available via GitHub
How to Test
verbose instructions for reviewer to test changes (Add before making a PR)