-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fairmat 2024: additions and clarifications in NXbeam #1408
base: main
Are you sure you want to change the base?
Conversation
2c737d2
to
5b7cc87
Compare
RST wraps computer code with double backticks: * correct: ``energy``
* incorrect: `energy` This is one of the most common typos in the documentation. |
You are right, I changed it here for our new contribution where we make use of backticks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just randomly went through the file to be knowledged of the NAIC decision. I found some typos of bouble back tick
while mentioning some fields.
2529db0
to
c75d5c2
Compare
@phyy-nx I added a bit of description to this PR as well. As far as I can remember, there was a bit of discussion on this PR in the NIAC meeting, but no formal decision was taken. This PR is ready in so far as further discussion (and subsequent decision) by NIAC can be initiated. Note that when going through this PR again, I figured it could also be useful to extract the characteristics of a pulsed beam (which make up most of the changes in this PR) to its own sub-class. We would be open to doing so if that is what NIAC wants. |
c75d5c2
to
570a7e8
Compare
Comments from Telco:
Once done, based on Telco conversation, we can put this up for an online vote |
Hi all, as discussed in the Telco, now that the above points have been addressed (thanks @lukaspie), we can now move this PR to an online vote. NIAC committee members please vote on this PR using emojis. 👍 for yes, 👎 for no, anything else (for example 👀) to abstain. We need 14 votes to hit quorum so please review and vote! As you review, please make a special note of the proposal to add these fields:
As discussed on the call, these two fields allow connecting devices together. A figure was shown demonstrating the usage. We decided that the Any questions we can answer here. Otherwise, cast a vote! Thanks! |
Can the previous/next thing be an |
My thought was that this is for components hooked together. The only usage of @sanbrock @mkuehbach @lukaspie is connecting a beam to a sample directly a use case you are interested in? |
da81fb9
to
3599458
Compare
Proposal from Telco:
Implies that NXcomponent would include anything that can affect the beam A charge to the committee: go review and comment on #1525!! (consider implications of #1507) Would want a flow/class diagram showing this inheritance. Also, don't want to lose the cool figure above of the multiple beam paths! |
5eb2ceb
to
15cd321
Compare
Done here, should be ready for trying another vote.
Implemented like this in #1525
What's missing here is where to put this figure. Should the beam still have next/previous element? Or is this chaining just through the components? |
Hi all, as discussed in the Telco, we can now move this PR to an online vote. NIAC committee members please vote on this PR using emojis on this comment. 👍 for yes, 👎 for no, anything else (for example 👀) to abstain. We need 14 votes to hit quorum so please review and vote! |
@@ -245,6 +269,80 @@ | |||
<dim index="1" value="nP"/> | |||
</dimensions> | |||
</field> | |||
<field name="pulse_energy" type="NX_FLOAT" units="NX_ENERGY"> | |||
<doc> | |||
Energy of a single pulse at the diagnostic point |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First, the definition seems to restrict the location to a "diagnostic point". What is a diagnostic point? NXbeam description doesn't mention "diagnostic point".
Second, the description suggests that this field is only available for diagnostic points; it is not available for the other uses of NXbeam. Is this the intention?
These two comments also apply to average_power
, fluence
and pulse_duration
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docs of NXbeam
are talking about "properties of the beam at a given location", which to be is the same as the diagnostic point. What other use of NXbeam
than "the characteristics of the beam at a certain point" do you imagine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You say that "properties of the beam at a given location" is the same as the diagnostic point, but this definition isn't provided in the proposed changes. The term "diagnostic point" is just used.
Also, I'm also not sure your statement is true. The definition of NXBeam also lists NXsample as a place where NXbeam is used and I don't think a sample is a diagnostic point.
The existing fields seem to use "this component". As a suggestion, would the following work?
Energy of a single pulse at this component.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with you here, but this is not covered by the vote. We could just add it after the vote (since it only changes the docstring) or make a separate PR for this.
</doc> | ||
<attribute name="reference_beam" type="NX_CHAR"> | ||
<doc> | ||
A reference to the beam in relation to which the delay is. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The value is NX_CHAR, but perhaps the semantics of the value could be better described.
Is the value some facility-local specification, some internal reference to a description elsewhere within the NeXus file, ...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea here is to use it like the @depends_on
field in NXtransformations
(see also discussion about NXcomponent
), i.e., an internal reference to a description elsewhere within the NeXus file.
We could make this clearer, but not sure if that is covered by the ongoing vote.
… version of yaml. Removing unintensional comments
* Add nexus definitions/files for beam path description * Update base_classes/nyaml/NXopt_assembly.yaml Co-authored-by: Lukas Pielsticker <[email protected]> * Update base_classes/nyaml/NXopt_assembly.yaml Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * Apply suggestions from code review Co-authored-by: Lukas Pielsticker <[email protected]> * add_NX_defs_for_beam_path * modifying_yaml_files * fixing_nyaml_make_file * Adjusted files with Sandor together according to earlier hardcoded .nxs file * Added the missing nxdl.xml files via nyaml2nxdl Version=0.0.8 was used for nyaml. * moved created nxdl.xml files to correct directory * Suggestions to fix ci/cd by in NXtransfer_matrix_table.yaml Co-authored-by: Florian Dobener <[email protected]> * renaming transfer_matrix_table to beam_transfermatrix_table and opt_element to beam_device; also merging NXopt_beam to NXbeam * remove old nxdl files --------- Co-authored-by: Ron Hildebrandt <[email protected]> Co-authored-by: Lukas Pielsticker <[email protected]> Co-authored-by: Florian Dobener <[email protected]>
# Conflicts: # base_classes/nyaml/NXbeam.yaml
Co-authored-by: RubelMozumder <[email protected]>
e7a860c
to
8052de6
Compare
With this PR, the idea is:
incident_energy
field inNXbeam
is to be used. Specfically, for polychromatic beams, a single fieldincident_energy
is not sufficient, but rather one needs information about theincident_energy_spread
. In addition, for a polychromatic beam, it is useful to incidate theincident_energy_weights
, i.e., how much each each of energies contributes to the overall intensity.previous_device
to indicate that this beam originate from a given beam device. This can be useful to describe the chain of devices and beams in the description of the beam paths (e.g., in an optical spectroscopy experiment).