-
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
Changes to fields and description of NXdisk_chopper #649
Changes to fields and description of NXdisk_chopper #649
Conversation
@zjttoefs I've created this as a draft PR for you to take a look at first. The |
Is there a need to make the changes breaking? I don't think we need to remove anything. And the phase in time might better be called delay. No? |
The other breaking changes were removing the |
Just realised I carefully used American spelling everywhere to be consistent with "disk" in "NXdisk_chopper" but then used the term "anticlockwise". |
Re wavelength_range, isn't there always a range of wavelengths that depends on the chopper opening size and the rotation speed? |
I suppose there is technically a low bound on the energy due to the thickness of the disk, but otherwise not really with a single disk. |
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 don't like the breaking changes being mixed in with the very valid additions and improvements proposed. (That includes the repurposing of slit_angle and phase.)
This can be easily done in two separate stages.
There is a contradiction here: in the top documentation it says that there ought to be a NXdisk_chopper group per disk. Then the pair_separation does not make any sense as it implies a chopper pair. Regarding the phase. Given there is a distance between two choppers. Then the second chopper has to open a little later then the first one in order to account for the flight time between the two choppers. This is expressed as an angular offset, the phase, in the chopper systems I had to deal with so far. This is something we read from the chopper controller, thus I want to have this field in order to record it. I do not mind the additional fields, they serve to describe the chopper in a more accurate way. |
@mkoennecke I originally removed the fields which don't make sense for a single disk, but Tobias is keen not to make breaking changes at the same time as the additions. |
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'm happy with this now.
@mkoennecke 's comments are also addressed, I would say: angular phase always existed and while the pair separation does contradict the premise of the base class, that is legacy and should be addresses separately.
Ready to merge? |
I have given my approval. If no one else comments with requests for changes in the next days, I would merge. |
Ok, then. If no additional comments by May 22, then I will merge this. |
I am mostly OK with this. But I have a minor point: There is this slits field which indicates that a chopper may have more than one slit (They usually do). Should then slit_angle and slit_edges not be arrays of length nSlits? This might apply to the radius etc. fields too. |
but I forgot to add the array description for |
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 am happy now.
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.
Ok by me
I don't like the new change. It changes existing fields and hence breaks existing files. The height is rarely different for different cut outs, I believe. And changing the slit angle to an array makes the slit_edges redundant. |
Seems this is not yet ready to merge. |
Since @mkoennecke framed his suggestions yesterday as "minor comments" I would think we're okay to merge after reverting the last commit and addressing the documentation improvement that @prjemian has highlighted. |
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.
Two small changes and I'm happy (again ;-).
base_classes/NXdisk_chopper.nxdl.xml
Outdated
<doc>chopper rotation speed</doc> | ||
<doc> | ||
Chopper rotation speed. Positive for anticlockwise rotation when | ||
facing the sample, negative otherwise. |
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 would make this "facing away from the source". Removes confusion if you ever put a chopper after the sample.
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.
👍 done
Since we have three green ticks from reviewers, I would almost feel comfortable to merge. Especially since there are no changes (let alone breaking ones) to existing definitions. |
</field> | ||
<field name="slits" type="NX_INT"> | ||
<doc>Number of slits</doc> | ||
</field> | ||
<field name="slit_angle" type="NX_FLOAT" units="NX_ANGLE"> | ||
<doc>angular opening</doc> | ||
<doc> | ||
Angle of the each edge of each slit from the position of the |
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.
change the each
to each
and I'm good overall
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.
To cut this short, while I can't edit @matthew-d-jones source for the PR, I'll merge and drop the "the" in master.
Brilliantly referenced the wrong pull request, but the deed is done in 935afe4 |
Since the existingedit: changes are now non-breakingNXdisk_chopper
definitions appeared not to be fit for purpose I have been bold in making breaking changes.Changes follow discussion of requirements for recording chopper data at the ESS.
I think the
delay
description requires further refinement.