bliss: Multiple default chain with tags + hook to select one of them
After a discussion with @muzelle and @papillon here is a proposal to simplify the code from our projets.
- There is a need to configure a lima detector in single or in accumulation (use a master, use a internal/external trigger)
- For some lima detectors (PCO) there is a timeout after 3 seconds, for some slow scans (actually "return scans" and "tiling scans"), we dont need fast acquisition but we have to make sure the scan works -> basically enforce internal trigger
So we propose something like:
- Multiple
DefaultAcquisitionChain
with tags (for examplelima-single
,lima-accumulation
,lima-slow
, but it could be anything) - A hook called before the creation of the chain to allow to filter tag chains per detector
- Could be something like
def before_chain_creation(self, detector) -> tag
- Could be something like
- A programmatic way for a scan to tell that it needs some tags, with a priority.
- Could be something like
ascan(..., chain_tags=['lima-slow', 'default'])
, or awith chain_tags('lima-slow', 'default'):
- Could be something like
This still have to be checked.
It would be nice to have something in BLISS 2.0 in order to drop over complex code from bliss-tomo.