diff --git a/base_classes/NXhistory.nxdl.xml b/base_classes/NXhistory.nxdl.xml new file mode 100644 index 0000000000..9dfa25d722 --- /dev/null +++ b/base_classes/NXhistory.nxdl.xml @@ -0,0 +1,74 @@ + + + + + + A set of activities that occurred to a physical entity prior/during experiment. + + Ideally, a full report of the previous operations (or links to a chain of operations). + Alternatively, notes allow for additional descriptors in any format. + + + + Any activity that was performed on the physical entity prior or during the experiment. In + the future, if there is base class inheritance, this can describe any activity, + including processes and measurements. + + + + + + Any physical process that was performed on the physical entity prior or during the + experiment. + + + + + Any chemical process that was performed on the physical entity prior or during the + experiment. + + + + + An ID or reference to the location or a unique (globally + persistent) identifier of e.g. another file which gives + as many as possible details of the history event. + + + + + + A descriptor to keep track of the treatment of the physical entity before or during the + experiment (NXnote allows to add pictures, audio, movies). Alternatively, a + reference to the location or a unique identifier or other metadata file. In the + case these are not available, free-text description. + This should only be used in case that there is no rigorous description + using the base classes above. This field can also be used to pull in any activities + that are not well described by an existing base class definition. + + + diff --git a/contributed_definitions/NXsample_surface_dopant.nxdl.xml b/base_classes/NXidentifier.nxdl.xml similarity index 51% rename from contributed_definitions/NXsample_surface_dopant.nxdl.xml rename to base_classes/NXidentifier.nxdl.xml index d6df21d1f6..ce05800f9e 100644 --- a/contributed_definitions/NXsample_surface_dopant.nxdl.xml +++ b/base_classes/NXidentifier.nxdl.xml @@ -1,10 +1,10 @@ - + - + - Description of a dopant material embedded in a sample surface. + An identifier for a (persistent) resource, e.g., a DOI or orcid. - + + + The service by which the resource can be resolved. + + Examples: doi, urn, hdl, purl, orcid, iso, url + + + - Element of evaporated surface dopant such as alkali or other + The unique code, IRI or hash to resolve this reference. + Typically, this is stated by the service which is considered a complete + identifier, e.g., for a DOI it's something of the form `10.1107/S1600576714027575` + or `https://doi.org/10.1107/S1600576714027575`, which are both resolvable. - + - Nominal thickness of the evaporated dopant. + True if the identifier is persistent (i.e., unique and available indefinitely), + False otherwise. diff --git a/base_classes/NXsample.nxdl.xml b/base_classes/NXsample.nxdl.xml old mode 100755 new mode 100644 index 1ac42099ce..4b15f3b8fa --- a/base_classes/NXsample.nxdl.xml +++ b/base_classes/NXsample.nxdl.xml @@ -1,10 +1,10 @@ - - + + - - - - symbolic array lengths to be coordinated between various fields - - - - number of compositions - - - - - number of temperatures - - - - - number of values in applied electric field - - - - - number of values in applied magnetic field - - - - - number of values in applied pressure field - - - - - number of values in applied stress field - - - - - Any information on the sample. - - This could include scanned variables that - are associated with one of the data dimensions, e.g. the magnetic field, or - logged data, e.g. monitored temperature vs elapsed time. - - - - Descriptive name of sample - - + + + + symbolic array lengths to be coordinated between various fields + number of compositions + number of temperatures + number of values in applied electric field + number of values in applied magnetic field + number of values in applied pressure field + number of values in applied stress field + + + + Any information on the sample. + + This could include scanned variables that + are associated with one of the data dimensions, e.g. the magnetic field, or + logged data, e.g. monitored temperature vs elapsed time. + + + Descriptive name of sample + - - Identification number or signatures of the sample used. - - - - - The chemical formula specified using CIF conventions. - Abbreviated version of CIF standard: - - * Only recognized element symbols may be used. - * Each element symbol is followed by a 'count' number. A count of '1' may be omitted. - * A space or parenthesis must separate each cluster of (element symbol + count). - * Where a group of elements is enclosed in parentheses, the multiplier for the - group must follow the closing parentheses. That is, all element and group - multipliers are assumed to be printed as subscripted numbers. - * Unless the elements are ordered in a manner that corresponds to their chemical - structure, the order of the elements within any group or moiety depends on - whether or not carbon is present. - * If carbon is present, the order should be: - - - C, then H, then the other elements in alphabetical order of their symbol. - - If carbon is not present, the elements are listed purely in alphabetic order of their symbol. - - * This is the *Hill* system used by Chemical Abstracts. - - - - - Sample temperature. This could be a scanned variable - - - - - - - - - Applied electric field - - - - - + Identification number or signatures of the sample used. + + + + The chemical formula specified using CIF conventions. + Abbreviated version of CIF standard: + + * Only recognized element symbols may be used. + * Each element symbol is followed by a 'count' number. A count of '1' may be omitted. + * A space or parenthesis must separate each cluster of (element symbol + count). + * Where a group of elements is enclosed in parentheses, the multiplier for the + group must follow the closing parentheses. That is, all element and group + multipliers are assumed to be printed as subscripted numbers. + * Unless the elements are ordered in a manner that corresponds to their chemical + structure, the order of the elements within any group or moiety depends on + whether or not carbon is present. + * If carbon is present, the order should be: + + - C, then H, then the other elements in alphabetical order of their symbol. + - If carbon is not present, the elements are listed purely in alphabetic order of their symbol. + + * This is the *Hill* system used by Chemical Abstracts. + + + + Sample temperature. This could be a scanned variable + + + + + + Applied electric field + + + - - - - - + + + + + - - - - Applied magnetic field - - - - - + + + Applied magnetic field + + + - - - - - + + + + + - - - - Applied external stress field - - - - - + + + Applied external stress field + + + - - - - - + + + + + - - - - Applied pressure - - - - - - - - - Sample changer position - - - - - Crystallography unit cell parameters a, b, and c - - - - - - - - Crystallography unit cell parameters alpha, beta, and gamma - - - - - - - - Unit cell parameters (lengths and angles) - - - - - - - - - Volume of the unit cell - - - - - - - - This will follow the Busing-Levy convention: - W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464 - - - - - - - - Orientation matrix of single crystal sample using Busing-Levy convention: - W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464 - - - - - - - - - - UB matrix of single crystal sample using Busing-Levy convention: - W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464. This is - the multiplication of the orientation_matrix, given above, - with the :math:`B` matrix which - can be derived from the lattice constants. - - - - - - - - - - Mass of sample - - - - - - - - Density of sample - - - - - - - - Relative Molecular Mass of sample - - - - - - - - - - - - - - - - - - - - - - The atmosphere will be one of the components, which is where - its details will be stored; the relevant components will be - indicated by the entry in the sample_component member. - - - - - - - - - - - - - - Description of the sample - - - - - Date of preparation of the sample - - - - - The position and orientation of the center of mass of the sample - - - - - Details of beam incident on sample - used to calculate sample/beam interaction - point - - - - - One group per sample component - This is the perferred way of recording per component information over the n_comp arrays - - - - - Details of the component of the sample and/or can - - - - - - - - Type of component - - - - - - - - - - - - - - Concentration of each component - - - - - - - - Volume fraction of each component - - - + + + Applied pressure + + + + + + Sample changer position + + + Crystallography unit cell parameters a, b, and c + + + + + + Crystallography unit cell parameters alpha, beta, and gamma + + + + + + Unit cell parameters (lengths and angles) + + + + + + + Volume of the unit cell + + + + + + + This will follow the Busing-Levy convention: + W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464 + + + + + + + + Orientation matrix of single crystal sample using Busing-Levy convention: + W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464 + + + + + + + + + + UB matrix of single crystal sample using Busing-Levy convention: + W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464. This is + the multiplication of the orientation_matrix, given above, + with the :math:`B` matrix which + can be derived from the lattice constants. + + + + + + + + + Mass of sample + + + + + + Density of sample + + + + + + Relative Molecular Mass of sample + + + + + + + + + + + + + + + + + + + + + The atmosphere will be one of the components, which is where + its details will be stored; the relevant components will be + indicated by the entry in the sample_component member. + + + + + + + + + + + + + + Description of the sample + + + + Date of preparation of the sample + + + The position and orientation of the center of mass of the sample + + + Details of beam incident on sample - used to calculate sample/beam interaction point + + + + One group per sample component + This is the perferred way of recording per component information over the n_comp arrays + + + + Details of the component of the sample and/or can + + + + + + Type of component + + + + + + + + + + + + Concentration of each component + + + + + + Volume fraction of each component + + + + + + Scattering length density of each component + + + + + + + In case it is all we know and we want to record/document it + + + + + + + + + + + + + Crystallographic space group + + + + + + Crystallographic point group, deprecated if space_group present + + - - - - Scattering length density of each component - - - - - - - - In case it is all we know and we want to record/document it - - - - - - - - - - - - - - Crystallographic space group - - - - - - - - Crystallographic point group, deprecated if space_group present - - - - - - - - Path length through sample/can for simple case when - it does not vary with scattering direction - - - - - Thickness of a beam entry/exit window on the can (mm) - - assumed same for entry and exit - - - - - sample thickness - - - - - As a function of Wavelength - - - - - temperature_log.value is a link to e.g. temperature_env.sensor1.value_log.value - - - - - Additional sample temperature environment information - + + + + Path length through sample/can for simple case when + it does not vary with scattering direction + + + + + Thickness of a beam entry/exit window on the can (mm) + - assumed same for entry and exit + + + + sample thickness + + + As a function of Wavelength + + + temperature_log.value is a link to e.g. temperature_env.sensor1.value_log.value + + + Additional sample temperature environment information + + + magnetic_field.value is a link to e.g. magnetic_field_env.sensor1.value + + + magnetic_field_log.value is a link to e.g. magnetic_field_env.sensor1.value_log.value + + + Additional sample magnetic environment information + + + value sent to user's sample setup + + + logged value (or logic state) read from user's setup + + + 20 character fixed length sample description for legends + + + + + Optional rotation angle for the case when the powder diagram has + been obtained through an omega-2theta scan like from a traditional + single detector powder diffractometer. + Note, it is recommended to use NXtransformations instead. + + + + + Translation of the sample along the X-direction of the laboratory coordinate system + Note, it is recommended to use NXtransformations instead. + + + + + Translation of the sample along the Z-direction of the laboratory coordinate system. + Note, it is recommended to use NXtransformations instead. + + + + Any positioner (motor, PZT, ...) used to locate the sample - + - magnetic_field.value is a link to e.g. magnetic_field_env.sensor1.value - - - - - magnetic_field_log.value is a link to e.g. - magnetic_field_env.sensor1.value_log.value - - - - - Additional sample magnetic environment information - - - - - value sent to user's sample setup - - - - - logged value (or logic state) read from user's setup - - - - - 20 character fixed length sample description for legends - - - - - - Optional rotation angle for the case when the powder diagram has - been obtained through an omega-2theta scan like from a traditional - single detector powder diffractometer. - Note, it is recommended to use NXtransformations instead. - - - - - Translation of the sample along the X-direction of the laboratory coordinate system - Note, it is recommended to use NXtransformations instead. - - - - - Translation of the sample along the Z-direction of the laboratory coordinate system. - Note, it is recommended to use NXtransformations instead. - - - - - Any positioner (motor, PZT, ...) used to locate the sample - - - - - - This group describes the shape of the sample + This group describes the shape of the sample @@ -525,9 +426,7 @@ exists: ['min', '0'] - + Any environmental or external stimuli/measurements. These can include, among others: @@ -542,33 +441,33 @@ eventually, this should be stored in the application definitions - .. index:: plotting - - Declares which child group contains a path leading - to a :ref:`NXdata` group. - - It is recommended (as of NIAC2014) to use this attribute - to help define the path to the default dataset to be plotted. - See https://www.nexusformat.org/2014_How_to_find_default_data.html - for a summary of the discussion. + .. index:: plotting + + Declares which child group contains a path leading + to a :ref:`NXdata` group. + + It is recommended (as of NIAC2014) to use this attribute + to help define the path to the default dataset to be plotted. + See https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. - + - NeXus positions components by applying a set of translations and rotations - to apply to the component starting from 0, 0, 0. The order of these operations - is critical and forms what NeXus calls a dependency chain. The depends_on - field defines the path to the top most operation of the dependency chain or the - string "." if located in the origin. Usually these operations are stored in a - NXtransformations group. But NeXus allows them to be stored anywhere. + NeXus positions components by applying a set of translations and rotations + to apply to the component starting from 0, 0, 0. The order of these operations + is critical and forms what NeXus calls a dependency chain. The depends_on + field defines the path to the top most operation of the dependency chain or the + string "." if located in the origin. Usually these operations are stored in a + NXtransformations group. But NeXus allows them to be stored anywhere. - This is the group recommended for holding the chain of translation - and rotation operations necessary to position the component within - the instrument. The dependency chain may however traverse similar groups in - other component groups. + This is the group recommended for holding the chain of translation + and rotation operations necessary to position the component within + the instrument. The dependency chain may however traverse similar groups in + other component groups. diff --git a/base_classes/NXsample_component.nxdl.xml b/base_classes/NXsample_component.nxdl.xml index 1b5a282613..3c4670a148 100644 --- a/base_classes/NXsample_component.nxdl.xml +++ b/base_classes/NXsample_component.nxdl.xml @@ -38,11 +38,16 @@ - One group like this per component can be recorded For a sample consisting of multiple components. + One group like this per component can be recorded for a sample consisting of multiple components. Descriptive name of sample component + + + Identification number or signatures of the sample component used. + + The chemical formula specified using CIF conventions. @@ -139,6 +144,48 @@ As a function of Wavelength + + + If the component is a single crystal, add description of single crystal and unit + cell. + + + + + Set of sub-components and their configuration. + There can only be one NXsample_component_set in one component. + + + + + + If the component is made from a pure substance and cannot be further divided + using NXsample_component. + + + + + + Details about the sample component vendor (company or research group) + + + + + An (ideally) globally unique identifier for the sample component. + + + + + A set of physical processes that occurred to the sample component prior/during + experiment. + + + + + Any NXsample_component depends on the instance of NXsample_component_set, at the same level of + description granularity where the component is located. + + .. index:: plotting @@ -152,4 +199,4 @@ for a summary of the discussion. - + \ No newline at end of file diff --git a/base_classes/NXsample_component_set.nxdl.xml b/base_classes/NXsample_component_set.nxdl.xml new file mode 100644 index 0000000000..aa3a0e794f --- /dev/null +++ b/base_classes/NXsample_component_set.nxdl.xml @@ -0,0 +1,78 @@ + + + + + + + + number of components + + + + + Set of sample components and their configuration. + + The idea here is to have a united place for all materials descriptors that are not + part of the individual sample components, but rather their configuration. + + + + Array of strings referring to the names of the NXsample_components. + The order of these components serves as an index (starting at 1). + + + + + Concentration of each component + + + + + + + + Volume fraction of each component + + + + + + + + Scattering length density of each component + + + + + + + + Each component set can contain multiple components. + + + + + For description of a sub-component set. Can contain multiple components itself. + + + diff --git a/base_classes/NXsingle_crystal.nxdl.xml b/base_classes/NXsingle_crystal.nxdl.xml new file mode 100644 index 0000000000..44f6e92c30 --- /dev/null +++ b/base_classes/NXsingle_crystal.nxdl.xml @@ -0,0 +1,72 @@ + + + + + + Description of a single crystal material or a single crystalline phase in a material. + + There is the option of using Busing-Levy convention (as orginally designed in NXsample) + or using a more detailed description with NXrotation_set. + + + + This will follow the Busing-Levy convention: + W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464 + + + + + + + + Orientation matrix of single crystal sample using Busing-Levy convention: + W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464 + + + + + + + + + UB matrix of single crystal sample using Busing-Levy convention: + W. R. Busing and H. A. Levy (1967). Acta Cryst. 22, 457-464. This is + the multiplication of the orientation_matrix, given above, + with the :math:`B` matrix which can be derived from the lattice constants. + + + + + + + + + Detailed description of single crystal orientation and misorientation. + + + + + Unit cell of the single crystal. + + + diff --git a/base_classes/NXsubstance.nxdl.xml b/base_classes/NXsubstance.nxdl.xml new file mode 100644 index 0000000000..6d246ca224 --- /dev/null +++ b/base_classes/NXsubstance.nxdl.xml @@ -0,0 +1,119 @@ + + + + + + A form of matter with a constant, definite chemical composition. + + Examples can be single chemical elements, chemical compunds, or alloys. + For further information, see https://en.wikipedia.org/wiki/Chemical_substance. + + + + User-defined chemical name of the substance + + + + + Molecular mass of the substance + + + + + Unique numeric CAS REGISTRY number of the sample chemical content + For further information, see https://www.cas.org/. + + + + + CAS REGISTRY name of the sample chemical content + + + + + CAS REGISTRY URI + + + + + CAS REGISTRY image + + + + + Synonyms in the CAS system. + + + + + String InChi identifier. + The InChI identifier expresses chemical structures in terms of atomic connectivity, + tautomeric state, isotopes, stereochemistry and electronic charge in order to + produce a string of machine-readable characters unique to the respective molecule. + For further information, see https://iupac.org/who-we-are/divisions/division-details/inchi/. + + + + + Condensed, 27 character InChI key. + Hashed version of the full InChI (using the SHA-256 algorithm). + + + + + Name according to the IUPAC system (standard). + For further information, see https://iupac.org/. + + + + + Identifier in the SMILES (Simplified Molecular Input Line Entry System) system + For further information, see https://www.daylight.com/smiles/. + + + + + Canonical version of the smiles identifier + + + + + The chemical formula specified using CIF conventions. + Abbreviated version of CIF standard:107 + This is the *Hill* system used by Chemical Abstracts. + + * Only recognized element symbols may be used. + * Each element symbol is followed by a 'count' number. A count of '1' may be omitted. + * A space or parenthesis must separate each cluster of (element symbol + count). + * Where a group of elements is enclosed in parentheses, the multiplier for the + group must follow the closing parentheses. That is, all element and group + multipliers are assumed to be printed as subscripted numbers. + * Unless the elements are ordered in a manner that corresponds to their chemical + structure, the order of the elements within any group or moiety depends on + whether or not carbon is present. + * If carbon is present, the order should be: + - C, then H, then the other elements in alphabetical order of their symbol. + - If carbon is not present, the elements are listed purely in alphabetic order of their symbol. + + + diff --git a/contributed_definitions/NXsample_substrate.nxdl.xml b/contributed_definitions/NXsample_substrate.nxdl.xml deleted file mode 100644 index 00bcf4adf1..0000000000 --- a/contributed_definitions/NXsample_substrate.nxdl.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - Any information on the sample substrate. - - - - Material of the substrate in direct contact with the sample. - - - - - Physical state of the substrate, similar options to sample state - - - - - Further notes. - - - - - Any substance contained in the sample substrate. - - - - - Name of the sample substrate vendor (company or research group) - - - - - NeXus positions components by applying a set of translations and rotations - to apply to the component starting from 0, 0, 0. The order of these operations - is critical and forms what NeXus calls a dependency chain. The depends_on - field defines the path to the top most operation of the dependency chain or the - string "." if located in the origin. Usually these operations are stored in a - NXtransformations group. But NeXus allows them to be stored anywhere. - - - - - This is the group recommended for holding the chain of translation - and rotation operations necessary to position the component within - the instrument. The dependency chain may however traverse similar groups in - other component groups - - - diff --git a/contributed_definitions/nyaml/NXactivity.yaml b/contributed_definitions/nyaml/NXactivity.yaml deleted file mode 100644 index c20e81f971..0000000000 --- a/contributed_definitions/nyaml/NXactivity.yaml +++ /dev/null @@ -1,16 +0,0 @@ -category: base -doc: | - A planned or unplanned action that has a temporal extension and for some time depends on some entity. - This class is planned be used in the future as the super class for all other activities if inheritance - in base classes is supported in NeXus. -type: group -NXactivity(NXobject): - start_time(NX_DATE_TIME): - doc: | - ISO 8601 formatted time code (with local time zone offset to UTC information included) when this activity started. - end_time(NX_DATE_TIME): - doc: | - ISO 8601 formatted time code (with local time zone offset to UTC information included) when this activity ended. - description: - doc: | - Short description of the activity. \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXchemical_process.yaml b/contributed_definitions/nyaml/NXchemical_process.yaml deleted file mode 100644 index 4b62f03914..0000000000 --- a/contributed_definitions/nyaml/NXchemical_process.yaml +++ /dev/null @@ -1,20 +0,0 @@ -category: base -doc: | - A planned or unplanned process which results in chemical changes (i.e., changes in the chemical bonds) - in a specified material. - Examples include any chemical reactions (addition, subtraction, replacement, ...). -type: group -NXphysical_process(NXobject): - start_time(NX_DATE_TIME): - doc: | - ISO 8601 formatted time code (with local time zone offset to UTC information included) when this process started. - end_time(NX_DATE_TIME): - doc: | - ISO 8601 formatted time code (with local time zone offset to UTC information included) when this process ended. - description: - doc: | - Short description of the chemical process. - method: - doc: | - Method by which this process was performed. - \ No newline at end of file