<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Yes, the "features" approach has to prove itself fully feasible
    before we can rely on it. Also, we just ratified an NXgrating
    definition:<br>
<a class="moz-txt-link-freetext" href="https://github.com/nexusformat/definitions/blob/master/base_classes/NXgrating.nxdl.xml">https://github.com/nexusformat/definitions/blob/master/base_classes/NXgrating.nxdl.xml</a><br>
    <br>
    I just haven't updated NXmonochromator to include it as an option
    yet.<br>
    <br>
    Cheers,<br>
    Ben<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 10/03/15 13:13, Pete Jemian wrote:<br>
    </div>
    <blockquote
cite="mid:CA+JrzyPM5L14Q8Yffp9_NgGEQK-tTq6sxhvm5pdws3HsHsWyaA@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <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 moz-do-not-send="true"
          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
            moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
          >>>> <a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
          >>> <a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
          >> <a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:eugen.wintersberger@desy.de">eugen.wintersberger@desy.de</a><br>
          > Telefon: <a moz-do-not-send="true"
            href="tel:%2B49-40-8998-1917" value="+494089981917">+49-40-8998-1917</a><br>
          > -----------------------------------<br>
          > _______________________________________________<br>
          > NeXus-committee mailing list<br>
          > <a moz-do-not-send="true"
            href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
          > <a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a><br>
          <a moz-do-not-send="true"
            href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee"
            target="_blank">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
NeXus-committee mailing list
<a class="moz-txt-link-abbreviated" href="mailto:NeXus-committee@nexusformat.org">NeXus-committee@nexusformat.org</a>
<a class="moz-txt-link-freetext" href="http://lists.nexusformat.org/mailman/listinfo/nexus-committee">http://lists.nexusformat.org/mailman/listinfo/nexus-committee</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>