org.eclipse.dawnsci.nexus.NXgrating Maven / Gradle / Ivy
/*-
*******************************************************************************
* Copyright (c) 2015 Diamond Light Source Ltd.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* This file was auto-generated from the NXDL XML definition.
*******************************************************************************/
package org.eclipse.dawnsci.nexus;
import java.util.Map;
import org.eclipse.dawnsci.analysis.api.tree.DataNode;
import org.eclipse.january.dataset.IDataset;
/**
* A diffraction grating, as could be used in a soft X-ray monochromator
*
*/
public interface NXgrating extends NXobject {
public static final String NX_ANGLES = "angles";
public static final String NX_PERIOD = "period";
public static final String NX_DUTY_CYCLE = "duty_cycle";
public static final String NX_DEPTH = "depth";
public static final String NX_DIFFRACTION_ORDER = "diffraction_order";
public static final String NX_DEFLECTION_ANGLE = "deflection_angle";
public static final String NX_INTERIOR_ATMOSPHERE = "interior_atmosphere";
public static final String NX_SUBSTRATE_MATERIAL = "substrate_material";
public static final String NX_SUBSTRATE_DENSITY = "substrate_density";
public static final String NX_SUBSTRATE_THICKNESS = "substrate_thickness";
public static final String NX_COATING_MATERIAL = "coating_material";
public static final String NX_SUBSTRATE_ROUGHNESS = "substrate_roughness";
public static final String NX_COATING_ROUGHNESS = "coating_roughness";
public static final String NX_LAYER_THICKNESS = "layer_thickness";
/**
* Blaze or trapezoidal angles, with the angle of the upstream facing edge listed first. Blazed gratings can be identified by the low value of the first-listed angle.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2;
*
*
* @return the value.
*/
public IDataset getAngles();
/**
* Blaze or trapezoidal angles, with the angle of the upstream facing edge listed first. Blazed gratings can be identified by the low value of the first-listed angle.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2;
*
*
* @param angles the angles
*/
public DataNode setAngles(IDataset angles);
/**
* Blaze or trapezoidal angles, with the angle of the upstream facing edge listed first. Blazed gratings can be identified by the low value of the first-listed angle.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2;
*
*
* @return the value.
*/
public Double getAnglesScalar();
/**
* Blaze or trapezoidal angles, with the angle of the upstream facing edge listed first. Blazed gratings can be identified by the low value of the first-listed angle.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2;
*
*
* @param angles the angles
*/
public DataNode setAnglesScalar(Double angles);
/**
* List of polynomial coefficients describing the spatial separation of lines/grooves as a function of position along the grating, in increasing powers of position. Gratings which do not have variable line spacing will only have a single coefficient (constant).
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions:
*
*
* @return the value.
*/
public IDataset getPeriod();
/**
* List of polynomial coefficients describing the spatial separation of lines/grooves as a function of position along the grating, in increasing powers of position. Gratings which do not have variable line spacing will only have a single coefficient (constant).
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions:
*
*
* @param period the period
*/
public DataNode setPeriod(IDataset period);
/**
* List of polynomial coefficients describing the spatial separation of lines/grooves as a function of position along the grating, in increasing powers of position. Gratings which do not have variable line spacing will only have a single coefficient (constant).
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions:
*
*
* @return the value.
*/
public Double getPeriodScalar();
/**
* List of polynomial coefficients describing the spatial separation of lines/grooves as a function of position along the grating, in increasing powers of position. Gratings which do not have variable line spacing will only have a single coefficient (constant).
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions:
*
*
* @param period the period
*/
public DataNode setPeriodScalar(Double period);
/**
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
*
*
* @return the value.
*/
public IDataset getDuty_cycle();
/**
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
*
*
* @param duty_cycle the duty_cycle
*/
public DataNode setDuty_cycle(IDataset duty_cycle);
/**
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
*
*
* @return the value.
*/
public Double getDuty_cycleScalar();
/**
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
*
*
* @param duty_cycle the duty_cycle
*/
public DataNode setDuty_cycleScalar(Double duty_cycle);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getDepth();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param depth the depth
*/
public DataNode setDepth(IDataset depth);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getDepthScalar();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param depth the depth
*/
public DataNode setDepthScalar(Double depth);
/**
*
* Type: NX_INT
* Units: NX_UNITLESS
*
*
* @return the value.
*/
public IDataset getDiffraction_order();
/**
*
* Type: NX_INT
* Units: NX_UNITLESS
*
*
* @param diffraction_order the diffraction_order
*/
public DataNode setDiffraction_order(IDataset diffraction_order);
/**
*
* Type: NX_INT
* Units: NX_UNITLESS
*
*
* @return the value.
*/
public Long getDiffraction_orderScalar();
/**
*
* Type: NX_INT
* Units: NX_UNITLESS
*
*
* @param diffraction_order the diffraction_order
*/
public DataNode setDiffraction_orderScalar(Long diffraction_order);
/**
* Angle between the incident beam and the utilised outgoing beam.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
*
*
* @return the value.
*/
public IDataset getDeflection_angle();
/**
* Angle between the incident beam and the utilised outgoing beam.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
*
*
* @param deflection_angle the deflection_angle
*/
public DataNode setDeflection_angle(IDataset deflection_angle);
/**
* Angle between the incident beam and the utilised outgoing beam.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
*
*
* @return the value.
*/
public Double getDeflection_angleScalar();
/**
* Angle between the incident beam and the utilised outgoing beam.
*
* Type: NX_FLOAT
* Units: NX_ANGLE
*
*
* @param deflection_angle the deflection_angle
*/
public DataNode setDeflection_angleScalar(Double deflection_angle);
/**
*
*
Enumeration:
* - vacuum
* - helium
* - argon
*
*
* @return the value.
*/
public IDataset getInterior_atmosphere();
/**
*
*
Enumeration:
* - vacuum
* - helium
* - argon
*
*
* @param interior_atmosphere the interior_atmosphere
*/
public DataNode setInterior_atmosphere(IDataset interior_atmosphere);
/**
*
*
Enumeration:
* - vacuum
* - helium
* - argon
*
*
* @return the value.
*/
public String getInterior_atmosphereScalar();
/**
*
*
Enumeration:
* - vacuum
* - helium
* - argon
*
*
* @param interior_atmosphere the interior_atmosphere
*/
public DataNode setInterior_atmosphereScalar(String interior_atmosphere);
/**
*
* @return the value.
*/
public IDataset getSubstrate_material();
/**
*
* @param substrate_material the substrate_material
*/
public DataNode setSubstrate_material(IDataset substrate_material);
/**
*
* @return the value.
*/
public String getSubstrate_materialScalar();
/**
*
* @param substrate_material the substrate_material
*/
public DataNode setSubstrate_materialScalar(String substrate_material);
/**
*
* Type: NX_FLOAT
* Units: NX_MASS_DENSITY
*
*
* @return the value.
*/
public IDataset getSubstrate_density();
/**
*
* Type: NX_FLOAT
* Units: NX_MASS_DENSITY
*
*
* @param substrate_density the substrate_density
*/
public DataNode setSubstrate_density(IDataset substrate_density);
/**
*
* Type: NX_FLOAT
* Units: NX_MASS_DENSITY
*
*
* @return the value.
*/
public Double getSubstrate_densityScalar();
/**
*
* Type: NX_FLOAT
* Units: NX_MASS_DENSITY
*
*
* @param substrate_density the substrate_density
*/
public DataNode setSubstrate_densityScalar(Double substrate_density);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getSubstrate_thickness();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param substrate_thickness the substrate_thickness
*/
public DataNode setSubstrate_thickness(IDataset substrate_thickness);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getSubstrate_thicknessScalar();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param substrate_thickness the substrate_thickness
*/
public DataNode setSubstrate_thicknessScalar(Double substrate_thickness);
/**
*
* @return the value.
*/
public IDataset getCoating_material();
/**
*
* @param coating_material the coating_material
*/
public DataNode setCoating_material(IDataset coating_material);
/**
*
* @return the value.
*/
public String getCoating_materialScalar();
/**
*
* @param coating_material the coating_material
*/
public DataNode setCoating_materialScalar(String coating_material);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getSubstrate_roughness();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param substrate_roughness the substrate_roughness
*/
public DataNode setSubstrate_roughness(IDataset substrate_roughness);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getSubstrate_roughnessScalar();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param substrate_roughness the substrate_roughness
*/
public DataNode setSubstrate_roughnessScalar(Double substrate_roughness);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getCoating_roughness();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param coating_roughness the coating_roughness
*/
public DataNode setCoating_roughness(IDataset coating_roughness);
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getCoating_roughnessScalar();
/**
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param coating_roughness the coating_roughness
*/
public DataNode setCoating_roughnessScalar(Double coating_roughness);
/**
* An array describing the thickness of each layer
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getLayer_thickness();
/**
* An array describing the thickness of each layer
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param layer_thickness the layer_thickness
*/
public DataNode setLayer_thickness(IDataset layer_thickness);
/**
* An array describing the thickness of each layer
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getLayer_thicknessScalar();
/**
* An array describing the thickness of each layer
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param layer_thickness the layer_thickness
*/
public DataNode setLayer_thicknessScalar(Double layer_thickness);
/**
* A NXshape group describing the shape of the mirror
*
* @return the value.
*/
public NXshape getShape();
/**
* A NXshape group describing the shape of the mirror
*
* @param shape the shape
*/
public void setShape(NXshape shape);
/**
* Numerical description of the surface figure of the mirror.
*
* @return the value.
*/
public NXdata getFigure_data();
/**
* Numerical description of the surface figure of the mirror.
*
* @param figure_data the figure_data
*/
public void setFigure_data(NXdata figure_data);
/**
* "Engineering" position of the grating
*
* @return the value.
*/
public NXtransformations getTransformations();
/**
* "Engineering" position of the grating
*
* @param transformations the transformations
*/
public void setTransformations(NXtransformations transformations);
/**
* Get a NXtransformations node by name:
*
* -
* "Engineering" position of the grating
*
*
* @param name the name of the node.
* @return a map from node names to the NXtransformations for that node.
*/
public NXtransformations getTransformations(String name);
/**
* Set a NXtransformations node by name:
*
* -
* "Engineering" position of the grating
*
*
* @param name the name of the node
* @param transformations the value to set
*/
public void setTransformations(String name, NXtransformations transformations);
/**
* Get all NXtransformations nodes:
*
* -
* "Engineering" position of the grating
*
*
* @return a map from node names to the NXtransformations for that node.
*/
public Map getAllTransformations();
/**
* Set multiple child nodes of a particular type.
*
* -
* "Engineering" position of the grating
*
*
* @param transformations the child nodes to add
*/
public void setAllTransformations(Map transformations);
}