Extend current sim framework to allow e.g. edge scans or slit scans.
Feature Summary
Extend the current framework to allow simulation of edge scans -> relevant for SimWaveform
and SimCamera
.
Problem Description
For the sprint with Tomcat, we might need to reply data within the simulation framework. For this purpose, we would like to simulate an edge scan or a pinhole scan.
Use Case
Test BEC and introduce simple DAP processes to the framework to have quick access to data from cameras.
Proposed Solution
Couple the readback from devices to other devices: Option A
- A simple solution would be to introduce dependencies, similar like the ref_motor for the
SimMonitor
also forSimCamera
andSimWaveform
- Advantage: easily implemented...
- Required would be a 'ref_motor' and parameters to define e.g. a function like a sigmoidal (0..1) with customisable
width
. The intensity ofSimCamera
andSimWaveform
could simply be multiplied by the value of the sigmoidal function depending on the position of theref_motor
. Option B - Introduce new class that patches the computation of the image for the
SimCamera
. - Advantage: more complicated, but more flexible in the long run.
- The new class could patch the
_compute_sim_state
fromSimulatedDataCamera
to allow more complicated computations. E.G. the image readback ofSimCamera
depends on the position of several motors,samx
&samy
&samz
.
Benefits
Simulation will be more powerful
Alternatives Considered
Option A and B need to be evaluate, in particular in perspective of the user interface and how easily they could be configured!
Impact on Existing Functionality
None
Priority
At least Option A will be needed for sprint with tomcat, option B is nice to have.