NSLS-II-SST/rsoxs_scans

Transmission NEXAFS with detectors retracted is not allowed

Closed this issue · 3 comments

Context: Wanting to run transmission nexafs with discrete energy steps (not fly-scanning). Goal is to take higher exposures (1 second), but these saturate the detector a bit. Since I don't 'need' the RSoXS data I was planning to run in WAXSNEXAFS mode with detectors withdrawn.

Problem:
Right now choosing 'configuration'=WAXSNEXAFS and type='rsoxs' is disallowed:

Dryrun gives:
TypeError: WAXSNEXAFS on line 10 is not a valid configuration for an rsoxs scan

Reason is that valid configs are searched from:

rsoxs_configurations = [
"WAXS",
"SAXS",
"SAXS_liquid",
"WAXS_liquid",
]

Do we want this capability to be enabled?
If so, adding 'WAXSNEXAFS' and 'SAXSNEXAFS' to the list of valid rsoxs scans bypasses the error and the dryrun will be a success. Not sure if it would break something else downstream though.

Decision for now is to leave out 'configuration'=WAXSNEXAFS and type='rsoxs' because of extra overhead (~4 seconds per energy) that wastes time.

In the short term - just use 'configuration'=WAXSNEXAFS and type='nexafs' to do slow fly scans.

In the long term, we may implement a type 'nexafs_stepscan' which copies the type 'rsoxs' framework, but without detectors.

I think making the NEXAFS position allowed for RSoXS does make sense now that I've thought about it more. Making the RSoXS configurations valid for NEXAFS however is dangerous (and allowed currently)... so I might change the logic there. The solution for transmission NEXAFS is to make a step NEXAFS scan type (in NEXAFS configurations)

I think this is answered with the nexafs_scans option?