NXellipsometry¶
Status:
application definition, extends NXobject
Description:
Ellipsometry, complex systems, up to variable angle spectroscopy.
Symbols:
Variables used throughout the document, e.g. dimensions and important parameters
N_wavelength: Size of the energy / wavelength vector used
N_variables: How many variables are saved in a measurement (e.g. Psi and Delta, Mueller matrix)
N_angles: Number of incident angles used
N_p1: Number of sample parameters scanned
N_time: Number of time points measured
- Groups cited:
NX_TIME, NXaperture, NXcollection, NXdata, NXdetector, NXentry, NXinstrument, NXsample, NXsubentry, NXtransformations, NXuser
Structure:
ENTRY: (required) NXentry
This is the application definition describing ellipsometry experiments. Such experiments may be as simple as identifying how a reflected beam of light with a single wavelength changes its polarization state, to a variable angle spectroscopic ellipsometry experiment. The application definition defines: - elements of the experimental instrument - calibration information if available - parameters used to tune the state of the sample - sample description
definition: (required) NX_CHAR
FAIRmat-specific candidate proposal for an application definition exemplifying ellipsometry. For example: https://gitlab.mpcdf.mpg.de/nomad-lab/areab- appdef/-/blob/spectroscopic-ellipsometry- consolidation/optical_spectroscopy
@version: (required) NX_CHAR
Ideally version with build number are commit hash of the application definition. If not available a free-text description.
@url: (required) NX_CHAR
URL where to find further material (documentation, examples) relevant to the application definition
experiment_identifier: (required) NX_CHAR
Unique identifier of the experiment, such as a (globally persistent) unique identifier. i) The identifier is usually defined by the facility or principle investigator. ii) The identifier enables to link experiments to e.g. proposals.
experiment_description: (required) NX_CHAR
start_time: (required) NX_DATE_TIME
program: (optional) NX_CHAR
Commercial or otherwise defined given name to the program that was used to generate the results file(s) with measured data and metadata (or a link to the instrument software).
@version: (required) NX_CHAR
Either version with build number, commit hash, or description of a (online) repository where the source code of the program and build instructions can be found so that the program can be configured in such a way that result files can be created ideally in a deterministic manner.
@url: (required) NX_CHAR
Website of the software.
operator: (required) NXuser
Contact information of at least the user of the instrument or the investigator who performed this experiment. Adding multiple users if relevant is recommended.
name: (required) NX_CHAR
affiliation: (required) NX_CHAR
Name of the affiliation of the user at the point in time when the experiment was performed.
address: (required) NX_CHAR
email: (required) NX_CHAR
orcid: (recommended) NX_CHAR
telephone_number: (recommended) NX_CHAR
INSTRUMENT: (required) NXinstrument
General properties of the ellipsometry equipment
model: (required) NX_CHAR
The name of the instrument
@version: (required) NX_CHAR
The used version of the hardware if available. If not a commercial instrument use date of completion of the hardware.
company: (optional) NX_CHAR
Name of the company which build the instrument
construction_year: (optional) NX_DATE_TIME {units=NX_TIME}
ISO8601 date when the instrument was constructed
software: (required) NX_CHAR
light_source: (required) NX_CHAR
Specify the used light source. Multiple selection possible.
Any of these values:
UV light
quartz tungsten halogen lamp
xenon arc lamp
deuterium lamp
silicon carbide globar
other
other_light_source: (optional) NX_CHAR
If you specified ‘other’ as light source type, please write down what it is.
focussing_probes: (required) NX_BOOLEAN
Were focussing probes (lenses) used or not?
data_correction: (optional) NX_BOOLEAN
Were the recorded data corrected by the window effects of the lenses or not?
angular_spread: (optional) NX_NUMBER {units=NX_ANGLE}
Specify the angular spread caused by the focussing probes
ellipsometry_type: (required) NX_CHAR
What type of ellipsometry was used? See Fujiwara Table 4.2
Any of these values:
rotating analyzer
rotating analyzer with analyzer compensator
rotating analyzer with polarizer compensator
rotating polarizer
rotating compensator on polarizer side
rotating compensator on analyzer side
modulator on polarizer side
modulator on analyzer side
dual compensator
phase modulation
imaging ellipsometry
null ellipsometry
angle_of_incidence[N_angles]: (required) NX_NUMBER {units=NX_ANGLE}
Incident angle of the beam vs. the normal of the bottom reflective (substrate) surface in the sample
calibration: (recommended) NXsubentry
Ellipsometers require regular calibration to adjust the hardware parameters for proper zero values and background light compensation.
calibration_time: (required) NX_DATE_TIME
ISO8601 datum when calibration was last performed before this measurement
calibration_sample: (required) NX_CHAR
Free-text to describe which sample was used for calibration, e.g. silicon wafer with 25 nm thermal oxide layer.
calibration_data: (required) NXsubentry
Arrays which provide the measured calibration data. Multiple sets are possible, e.g. Psi and delta measured on an e.g. silicon calibration waver, and the straight-through data. We recommend to provide data that is measured under the same settings as the measurement was performed, that is if Psi and delta are measured for your data, also provide Psi and delta here. And use the same wavelenghts as there.
calibration_data_type: (required) NX_CHAR
What data was recorded for the calibration, The number of variables (N_variables) have to be set to the number of provided data columns accordingly, e.g. psi/delta -> N_variables= 2, Jones vector: N_variables = 4, Mueller martix -> N_variables= 16, etc.
Any of these values:
psi/delta
tan(psi)/cos(delta)
Jones matrix
Mueller matrix
not provided
calibration_angle_of_incidence[N_calibration_angles]: (required) NX_NUMBER {units=NX_ANGLE}
angle(s) of incidence used during the calibration measurement (excluding straight through mode)
calibration_wavelength[N_calibration_wavelength]: (required) NX_NUMBER
The wavelength or equivalent values (which are inter-convertible). The importer should convert all to one unit, and make the others accessible. Historically, energy is used in eV, but for visible spectroscopy wavelength is more common, for IR wave numbers in 1/cm units. Possibly use the same type of data as for the measurement!
calibration_data[N_calibration_angles+1, N_variables, N_calibration_wavelength]: (required) NX_NUMBER {units=NX_UNITLESS}
Calibration is performed on a reference surface (usually silicon wafer with well defined oxide layer) at a number of angles, then in a straight through mode (transmission in air).
stage: (recommended) NXsubentry
Sample stage, holding the sample at a specific position in X,Y,Z (Cartesian) coordinate system and at an orientation defined by three Euler angles (alpha, beta, gamma). The stage may be motorized or manual, special for liquids or gas environment.
description: (recommended) NX_CHAR
TRANSFORMATIONS: (recommended) NXtransformations
The stage coordinate system vs. the incident beam. The Z-axis of the stage is considered to point along the normal of the substrate (bottom reflecting surface) from the stage towards the general direction of the light source. The beam comes with angle of incidence towards this Z-axis, but in opposite direction, thus they are connected with a rotation of 180 - angle of incidence (in degrees). This transformation brings us from the NEXUS coordinates to the stage coordinates. Then provide the set of translations (if there are any). These all have a vector defining their relative direction in the current coordinate system. (This current coordinate system changes with every transformation if you set the parameter ‘depends’ to the name of the previous step.) Last, provide the rotations of the sample
alternative: (optional) NX_CHAR
If there is no motorized stage, we should at least qualify where the beam hits the sample and in what direction the sample stands in a free-text description, e.g. ‘center of sample, long edge parallel to plane of incidence’.
window: (optional) NXaperture
For environmental measurements, the environment (liquid, vapor etc.) is enclosed in a cell, which has windows both in the direction of the source and the detector (looking from the sample). These windows also add a phase shift to the light altering the measured signal. This shift has to be corrected based on measuring a known sample in the environmental cell.
material: (required) NX_CHAR
the material of the window
thickness: (required) NX_NUMBER {units=NX_LENGTH}
Thickness of the window
orientation_angle: (required) NX_NUMBER {units=NX_ANGLE}
Angle of the window normal (outer) vs. the substrate normal (similar to the angle of incidence).
reference_data: (required) NXsubentry
Recorded data that can be used to calculate the window effect. Typically this is the substrate (e.g. silicon with thermal oxide layer) in air without window and in a known medium with the window.
reference_sample: (required) NX_CHAR
What sample was used to estimate the window effect.
reference_wavelength[N_wavelength]: (required) NX_NUMBER {units=NX_LENGTH}
Use the same wavelengths at which all other measurements are recorded
data[2, N_angles, N_variables, N_wavelength]: (required) NX_NUMBER {units=NX_UNITLESS}
Recorded data of a reference surface with and without window / medium.
DETECTOR: (required) NXdetector
Which type of detector was used, and what is known about it? A detector can be a photomultiplier (PMT), a CCD in a camera, an array in a spectrometer. If so, the whole detector unit goes in here.
detector_type: (required) NX_CHAR
What kind of detector module is used, e.g. CCD-spectrometer, CCD camera, PMT, photodiode, etc.
Any of these values:
PMT
photodiode
avalanche diode
CCD camera
CCD spectrometer
other
other_detector: (optional) NX_CHAR
If you specified ‘other’ as detector type, please write down what it is.
integration_time: (required) NX_NUMBER {units=NX_TIME}
Integration time for the measurement. Single number or array if it was varied.
revolution: (optional) NX_NUMBER {units=NX_ANY}
Define how many rotations of the rotating element were taken into account per spectrum.
rotating_element: (required) NX_CHAR
Define which elements rotates, e.g. polarizer or analyzer.
Any of these values:
polarizer (source side)
analyzer (detector side)
compensator (source side)
compensator (detector side)
fixed_revolution: (optional) NX_NUMBER {units=NX_FREQUENCY}
rotation rate, if the revolution does not change during the measurement.
variable_revolution[2]: (optional) NX_NUMBER
Specify maximum and minimum values for the revolution.
SAMPLE: (required) NXsample
Properties of the sample, its history, the sample environment and experimental conditions (e.g. surrounding medium, temperature, pressure etc.), along with the data (data type, wavelength array, measured data).
atom_types: (required) NX_CHAR
Use Hill’s system for listing elements of the periodic table which are inside or attached to the surface of the specimen and thus relevant from a scientific point. The purpose of this field is to allow materials database to parse the relevant elements without having to interpret the sample history or other fields.
sample_name: (required) NX_CHAR
sample_history: (required) NX_CHAR
Ideally, a reference to the location or a unique (globally persistent) identifier (e.g.) of e.g. another file which gives as many as possible details of the material, its microstructure, and its thermo-chemo- mechanical processing/preparation history. In the case that such a detailed history of the sample is not available, use this field as a free-text description to specify details of the sample and its preparation.
preparation_date: (recommended) NX_DATE_TIME
ISO 8601 date with time zone specified.
layer_structure: (required) NX_CHAR
Qualitative description of the layer structure for the sample. For example: Si/native oxide/thermal oxide/polymer/peptide
data_identifier: (required) NX_NUMBER
A identifier to correlate data to the experimental conditions, if several were used in this measurement; typically an index of 0 - N
data_type: (required) NX_CHAR
Select which type of data was recorded, for example Psi and Delta (see: https://en.wikipedia.org/wiki/Ellipsometry#Data_acquisition). It is possible to have multiple selections. Data types may also be converted to each other, e.g. a Mueller matrix contains N,C,S data as well. This selection defines how many columns (N_variables) are stored in the data array.
Any of these values:
psi / delta
tan(psi)/cos(delta)
Mueller matrix
Jones matrix
N/C/S
raw data
wavelength[N_wavelength]: (required) NX_NUMBER {units=NX_LENGTH}
Wavelength value(s) used for the measurement. An array of 1 or more elements. Length defines N_wavelength
measured_data[N_time, N_p1, N_angles, N_variables, N_wavelength]: (required) NX_NUMBER
Resulting data from the measurement, described by data type. Minimum two columns containing Psi and delta, or for the normalized Mueller matrix, it may be 16 (or 15 if 1,1 is all 1).
uncertainty[N_time, N_p1, N_angles, N_variables, N_wavelength]: (recommended) NX_NUMBER
Specified uncertainties (errors) of the data described by data type. The structure is the same as for the measured data.
time_points: (optional) NX_NUMBER {units=NX_TIME}
An array of relative time points if a time series was recorded
medium: (required) NX_CHAR
Describe what was the medium above or around the sample. The common model is built up from substrate to the medium on the other side. Both boundaries are assumed infinite in the model. Here define the name of the material (e.g. water, air, etc.).
medium_refractive_indices[N_wavelength]: (optional) NX_NUMBER {units=NX_UNITLESS}
Array of pairs of complex refractive indices of the medium for every measured wavelength. Only necessary if the measurement was performed not in air, or something very well known, e.g. high purity water. Specify the complex refractive index: n + ik
environment_conditions: (optional) NX_CHAR
External parameters that have influenced the sample.
number_of_runs: (optional) NX_UINT {units=NX_DIMENSIONLESS}
How many measurements were done varying the parameters? This forms an extra dimension beyond incident angle, time points and energy / wavelength (this is the length of the 4th dimension of the data). Defaults to 1.
varied_parameters: (optional) NX_CHAR
Indicates which parameter was changed. Its definition must exist below. The specified variable has to be number_of_runs long, providing the parameters for each data set.
Any of these values:
optical excitation
voltage
temperature
pH
stress
stage positions
voltage: (optional) NX_NUMBER {units=NX_VOLTAGE}
Specify the voltage if the spectra were taken under bias
temperature: (optional) NX_NUMBER {units=NX_TEMPERATURE}
Temperature of the sample (sample holder, medium)
pH: (optional) NX_NUMBER {units=NX_UNITLESS}
pH of medium (measured or set)
pressure: (optional) NX_NUMBER {units=NX_PRESSURE}
Pressure of the environment of the sample.
optical_excitation: (optional) NXsubentry
Was the sample modified using an optical source? Describe in this group the parameters of the optical excitation used.
excitation_source: (required) NX_CHAR
Specify the source for the external excitation
excitation_wavelength: (required) NX_NUMBER {units=NX_LENGTH}
Wavelength value(s) or the range used for excitation. In cases of continuous laser radiation a value or a set of values may do but for other illumination types, such as pulsed lasers, or lamps, a range may describe the source better.
broadening: (optional) NX_NUMBER {units=NX_LENGTH}
Specify the FWHM of the excitation
excitation_type: (required) NX_CHAR
CW or pulsed excitation
Any of these values:
cw
|pulsed
pulse_length: (optional) NX_NUMBER {units=NX_TIME}
repetition_rate: (optional) NX_NUMBER {units=NX_FREQUENCY}
pulse_energy: (optional) NX_NUMBER {units=NX_ENERGY}
The integrated energy of light pulse.
excitation_power: (optional) NX_NUMBER {units=NX_ENERGY}
excitation_duration: (optional) NX_TIME
How long was the sample excited.
derived_parameters: (optional) NXcollection
What parameters are derived from the above data
depolarization: (required) NX_NUMBER {units=NX_UNITLESS}
light loss due to depolarization as a value in [0-1]
plot: (optional) NXdata
A default view of the data, in this case Psi vs. wavelength and the angles of incidence. If Psi does not exist, use other Müller matrix elements, such as N, C and S.
Hypertext Anchors¶
Table of hypertext anchors for all groups, fields, attributes, and links defined in this class.