** Motivation **
When AttenuatorMotorPositions was first created it was thought of only as a demand / request
for a change in motor positions within the i19 attenuation system.
The implementation is basically a dict wrapped in some validation.
Later ( #2125 ) it was realised that the same dict can store both demands and reports back regarding the
present location of each system motor - a valuable resource for answering questions like :
"What is the present attenuation of the system at x-ray energy keV ?"
When that update renamed AttenuatorMotorPositionDemands -> AttenuatorMotorPositions
it failed to update the now stranded obsolete name of the method
"validated_complete_demand"
** Task **
a) update the method name to match the move towards more generalised use of the class
b) make the method lean on a cached property - as we don't need to recalculate the result of a
smush together of the two input dict fields
every time the call is made for the combined dict
Acceptance Criteria
- That the validate method name changes to reflect the broader use of the class
- That a corresponding fix has been raised in i19-bluesky - as this will be a breaking change
- That the method leans on a cached property
- That linters and CI tests etc are all placated as per usual
** Motivation **
When AttenuatorMotorPositions was first created it was thought of only as a demand / request
for a change in motor positions within the i19 attenuation system.
The implementation is basically a dict wrapped in some validation.
Later ( #2125 ) it was realised that the same dict can store both demands and reports back regarding the
present location of each system motor - a valuable resource for answering questions like :
"What is the present attenuation of the system at x-ray energy keV ?"
When that update renamed AttenuatorMotorPositionDemands -> AttenuatorMotorPositions
it failed to update the now stranded obsolete name of the method
"validated_complete_demand"
** Task **
a) update the method name to match the move towards more generalised use of the class
b) make the method lean on a cached property - as we don't need to recalculate the result of a
smush together of the two input dict fields
every time the call is made for the combined dict
Acceptance Criteria