Conversation
XAS Measurement Mode - Definition AnalysisThis document analyzes the trade-offs between different approaches for defining XAS measurement modes in NeXus. The ChallengeWe need to define approximately 15 different XAS measurement modes (Transmission, TFY, PFY, HERFD, GIXRF, EELS, etc.). The goal is to balance:
Approaches AnalyzedApproach 1: Single Monolithic Base Class (
|
|
I keep going back and forth between these three options. The last approach is the best one in terms of validation at a cost of having ~15 new base classes, which might be a bit too much considering the existing NeXus classes. If this could, however, be reused for other techniques, then it might make sense. Grouping modes avoid part of the issue, but aside from the fact that now some validation will need to be done at the application, the groups are at least partially arbitrary. Another person will come up with a different way to do it. The first approach delegates all validation at the application level. FAIRmat seems to use a simple string to indicate the type of experiment: Even though this PR goes towards approach 2 or 3, I am more favorable to using 1. |
|
@mretegan thanks for proposing this. Personally, I suggest going for the Approach 3. Having ~15 new classes in NeXus is not a huge addition. The proposed "modes" correspond to specific experimental techniques used every day at synchrotron radiation beamlines and on laboratory sources. Each mode has its own scope in terms of instrumentation and data analysis practices. It is worth to have a dedicated NeXus class for it. It will make life easier for everybody, because we can clearly state what is mandatory or recommended. @newville what do you think? |
This PR introduces distinct base classes for XAS detection modes and updates the NXxas application definition to utilize them via a choice element as suggested here: nexusformat#1352 (comment)