<p dir="ltr">Until we ratify the proposed "features" or "interfaces", any new classes should be implemented using NXDL.</p>
<div class="gmail_quote">On Mar 10, 2015 7:09 AM, "Koennecke Mark (PSI)" <<a href="mailto:mark.koennecke@psi.ch">mark.koennecke@psi.ch</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi,<br>
<br>
<br>
<br>
> Am 10.03.2015 um 12:13 schrieb Eugen Wintersberger <<a href="mailto:eugen.wintersberger@desy.de">eugen.wintersberger@desy.de</a>>:<br>
><br>
> Hi Ben<br>
>  extending NXmonochromator for soft x-rays is definitely a good idea.<br>
> However, instead of using all this funny fields I would rather use<br>
> Tobias's "features"-feature and define new class NXgrating.<br>
> Then we could have three NXmonochromator related features<br>
> 1.) NXmonochromator for Neutrons<br>
>    whatever is required here - I have no idea about Neutrons<br>
> 2.) NXmonochromator for hard x-rays<br>
>    NXmonochromator must comprise NXcrystal, type, etc.<br>
> 3.) NXmonochromator for soft x-rays<br>
>    NXmonochromator must comprise NXgrating, NXslit, etc.<br>
><br>
> One could think about this as an application definition restricted<br>
> to NXmonochromator ;)<br>
><br>
><br>
<br>
Again there is a little bit of history here. NXmonochromator came about when we were discussing OO NeXus.<br>
And it became our first NeXus OO base class: with NXmonochromator being the base class to NXcrystal and NXvelocity_selector.<br>
To stay in line then new classes NXgrating of NXdouble_crystal would be in order to define these different types of<br>
monochromators. I do not care if they are implemented as Tobias features or as interfaces or as new classes.<br>
Otherwise NXmonochromator or NXcrystal would become as big as Nxdetector in order to cover all<br>
different monochromator types.<br>
<br>
Regards,<br>
<br>
     Mark<br>
<br>
<br>
<br>
> regards<br>
>  Eugen<br>
><br>
><br>
> On Tue, 2015-03-10 at 11:54 +0100, Benjamin Watts wrote:<br>
>> Hi Eugen & Pete,<br>
>>   If you want to move the "usage" field into NXmonochromator, then<br>
>> maybe we should rethink NXmonochromator and consider a larger<br>
>> overhaul. We currently have the "crystal" and "velocity_selector" as<br>
>> optional fields for hard X-rays and neutron, respectively, and I want<br>
>> to add "grating" to that set of optional fields for the soft X-ray<br>
>> case. For soft X-rays, the situation is actually even more complicated<br>
>> as the geometry set by entrance and exit slits are also a fundamental<br>
>> part of the monochromator (and the entrance slit is also optional,<br>
>> since some beamlines simply consider the source size and position<br>
>> stable and small enough).<br>
>> Can you think of a better way to achieve all this? One option would be<br>
>> to set it up so that one looks at the "usage" field first and then<br>
>> uses its value to decide which optional fields to looks for next. This<br>
>> would mean including values such as "grating" and "velocity_selector"<br>
>> in the list of possibilities for the "usage" field, which would then<br>
>> make the name "type" more appropriate.<br>
>><br>
>> Cheers,<br>
>> Ben<br>
>><br>
>><br>
>> On 09/03/15 21:41, Eugen Wintersberger wrote:<br>
>><br>
>>>> The choice of Bragg or Laue orientation is important when calculating<br>
>>>> the rocking curve profile, whether or not the crystal is used as part of<br>
>>>> a monochromator.<br>
>>> I entirely agree with you here. However, this is a particular use case<br>
>>> for a crystal in connection with a monochromator. Thus, at least in my<br>
>>> opinion, the "usage" field belongs to NXmonochromator.<br>
>>><br>
>>>> On 03/09/2015 03:14 PM, Eugen Wintersberger wrote:<br>
>>>>> Hi Pete<br>
>>>>><br>
>>>>> On Sun, 2015-03-08 at 11:48 -0500, Pete Jemian wrote:<br>
>>>>>> Eugen:<br>
>>>>>><br>
>>>>>> You propose to:<br>
>>>>>> * rename "usage" field to "type"<br>
>>>>> I propose to remove the "usage" field entirely from NXcrystal.<br>
>>>>><br>
>>>>>> * add "channel_cut" as another possible value<br>
>>>>> And I propose to add a "type" field to NXmonochromator. The possible<br>
>>>>> values for "type" could be "Laue", "Bragg", "Pseudo Channel Cut", and<br>
>>>>> "Channel Cut". Or something in this way.<br>
>>>>><br>
>>>>>> As I said before, "channel_cut" is not an alternative to "Bragg" or<br>
>>>>>> "Laue" in its description of crystal orientation.  Most channel cut<br>
>>>>>> crystals use Bragg orientation.  I suggest a new field could be added to<br>
>>>>>> describe "channel_cut".  Another similar term could be<br>
>>>>>> "pseudo_channel_cut" which describes the crystal arrangement of most<br>
>>>>>> synchrotron X-ray monochromators.<br>
>>>>> This would be the "type" field for NXmonochromator. It should identify<br>
>>>>> what type of mono we talk about.<br>
>>>>><br>
>>>>>> Like many things in NeXus, the field name "usage" does not seem to fit<br>
>>>>>> so well, as you point out.<br>
>>>>>><br>
>>>>>> Rather than disrupt the historical use of the "usage" field in NeXus<br>
>>>>>> data files and however many data files have been written with this<br>
>>>>>> field, would it be acceptable to improve the documentation for the<br>
>>>>>> "usage" field?<br>
>>>>> In the best case I would declare it as deprecated. At least from my<br>
>>>>> point of view NXcrystal describes a crystal and not its particular<br>
>>>>> application. But we can leave it there for compatibility reasons and<br>
>>>>> declare it as deprecated.<br>
>>>>><br>
>>>>> I am not sure if, what I propose, is really the best approach. But for<br>
>>>>> the time being I have no better idea how to deal with the situation.<br>
>>>>><br>
>>>>> regards<br>
>>>>>   Eugen<br>
>>>>><br>
>>>>><br>
>>>>>> Pete<br>
>>>>>><br>
>>>>>> On 3/8/2015 10:56 AM, Eugen Wintersberger wrote:<br>
>>>>>>> Hi folks<br>
>>>>>>>    as a result of the recent discussion I would like to propose the<br>
>>>>>>> following changes to NXcrystal:<br>
>>>>>>><br>
>>>>>>> remove the "usage" field from NXcrystal<br>
>>>>>>><br>
>>>>>>> It makes no sense there as the way the crystal is used in a particular<br>
>>>>>>> application is entirely unimportant for the particular crystal itself.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> Furthermore I would like to suggest the following change to<br>
>>>>>>> NXmonochromator<br>
>>>>>>><br>
>>>>>>> add a "type" field to NXmonochromator<br>
>>>>>>><br>
>>>>>>> This field should basically hold the values of "usage" from the current<br>
>>>>>>> NXcrystal class. I would also suggest to have an additional possible<br>
>>>>>>> value "channel_cut" available for this field.<br>
>>>>>>><br>
>>>>>>> Best regards<br>
>>>>>>> Eugen<br>
>>>>>>><br>
>>>> _______________________________________________<br>
>>>> NeXus-committee mailing list<br>
>>>> <a href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
>>>> <a href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee" target="_blank">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> NeXus-committee mailing list<br>
>>> <a href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
>>> <a href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee" target="_blank">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a><br>
>><br>
>> _______________________________________________<br>
>> NeXus-committee mailing list<br>
>> <a href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
>> <a href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee" target="_blank">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a><br>
><br>
> --<br>
> ------------------------------------<br>
> DI. Dr. Eugen Wintersberger<br>
><br>
> FS-EC<br>
> DESY<br>
> Notkestrasse 85<br>
> D-22607 Hamburg<br>
> Germany<br>
><br>
> E-Mail: <a href="mailto:eugen.wintersberger@desy.de">eugen.wintersberger@desy.de</a><br>
> Telefon: <a href="tel:%2B49-40-8998-1917" value="+494089981917">+49-40-8998-1917</a><br>
> -----------------------------------<br>
> _______________________________________________<br>
> NeXus-committee mailing list<br>
> <a href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
> <a href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee" target="_blank">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a><br>
<br>
<br>
_______________________________________________<br>
NeXus-committee mailing list<br>
<a href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
<a href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee" target="_blank">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a><br>
</blockquote></div>