Add fel_shutter/ppl_shutter arguments to PumpProbePulses#326
Add fel_shutter/ppl_shutter arguments to PumpProbePulses#326
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #326 +/- ##
==========================================
- Coverage 57.36% 57.35% -0.02%
==========================================
Files 30 30
Lines 4539 4561 +22
==========================================
+ Hits 2604 2616 +12
- Misses 1935 1945 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Thanks, this looks like a neat extension. Unfortunately I suspect the shutter state is not normally saved, so we'd have to try to push them to include it in the DAQ. I'm unsure if this would work when people use fast shutter manipulation to do train-alternating pump-probe, as happened in one experiment; I think that was also with a different laser from normal. But it would still be useful to know when the PP laser is blocked entirely. I think there's also >1 shutter which can block each laser, although there's probably a specific one in each case that's normally used for that purpose, so we can avoid having to deal with that. |
That will depend on the implementation, though something changing every train will likely include some form of chopper wheel. At least the one I'm familiar with (HED's PPU) does not simply have a boolean key for its stage per train. Anything implemented via some form of PLC switch should work though.
We could turn this into a list... Alternatively, either one creates a custom FXE-specific version of |
|
Apart from future ideas, is this current implementation of any operational use? Then I would finish it up by adding tests. |
|
Definitely useful! Just need to tell them to save that source in the DAQ at FXE :'). IIRC we don't have data with it yet. |
I was discussing with @bermudei how to deal with arbitrary shutter blocking pulses in a pulse pattern, as occuring at FXE as well as SQS.
This is a proof-of-principle how one could integrate such support directly into
PumpProbePulsesvia optionalfel_shutter/ppl_shutterarguments that expect anextra_data.KeyDataobject (either directly or via alias). With this, one could do:As an extra bonus, this can avoid the "cannot infer PPL pulse position from FEL pulses" for PPL-only runs as long as the FEL was blocked and is not without pulses, which is generally often the case for such runs.
FYI @takluyver