/*- ******************************************************************************* * 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. * Generated at: 2016-09-28T15:24:07.968+01:00 *******************************************************************************/ package org.eclipse.dawnsci.nexus; import java.util.Map; import org.eclipse.dawnsci.analysis.api.tree.DataNode; import org.eclipse.january.dataset.IDataset; /** * A wavelength defining device. * This is a base class for everything which * selects a wavelength or energy, be it a * monochromator crystal, a velocity selector, * an undulator or whatever. * The expected units are: * * wavelength: angstrom * * energy: eV * * @version 1.0 */ public interface NXmonochromator extends NXobject { public static final String NX_WAVELENGTH = "wavelength"; public static final String NX_WAVELENGTH_ERROR = "wavelength_error"; public static final String NX_ENERGY = "energy"; public static final String NX_ENERGY_ERROR = "energy_error"; /** * wavelength selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @return the value. */ public IDataset getWavelength(); /** * wavelength selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @param wavelength the wavelength */ public DataNode setWavelength(IDataset wavelength); /** * wavelength selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @return the value. */ public Double getWavelengthScalar(); /** * wavelength selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @param wavelength the wavelength */ public DataNode setWavelengthScalar(Double wavelength); /** * wavelength standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @return the value. */ public IDataset getWavelength_error(); /** * wavelength standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @param wavelength_error the wavelength_error */ public DataNode setWavelength_error(IDataset wavelength_error); /** * wavelength standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @return the value. */ public Double getWavelength_errorScalar(); /** * wavelength standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * </p> * * @param wavelength_error the wavelength_error */ public DataNode setWavelength_errorScalar(Double wavelength_error); /** * energy selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @return the value. */ public IDataset getEnergy(); /** * energy selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @param energy the energy */ public DataNode setEnergy(IDataset energy); /** * energy selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @return the value. */ public Double getEnergyScalar(); /** * energy selected * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @param energy the energy */ public DataNode setEnergyScalar(Double energy); /** * energy standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @return the value. */ public IDataset getEnergy_error(); /** * energy standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @param energy_error the energy_error */ public DataNode setEnergy_error(IDataset energy_error); /** * energy standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @return the value. */ public Double getEnergy_errorScalar(); /** * energy standard deviation * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * </p> * * @param energy_error the energy_error */ public DataNode setEnergy_errorScalar(Double energy_error); /** * * @return the value. */ public NXdata getDistribution(); /** * * @param distribution the distribution */ public void setDistribution(NXdata distribution); /** * * @return the value. */ public NXgeometry getGeometry(); /** * * @param geometry the geometry */ public void setGeometry(NXgeometry geometry); /** * Use as many crystals as necessary to describe * * @return the value. */ public NXcrystal getCrystal(); /** * Use as many crystals as necessary to describe * * @param crystal the crystal */ public void setCrystal(NXcrystal crystal); /** * Get a NXcrystal node by name: * <ul> * <li> * Use as many crystals as necessary to describe</li> * </ul> * * @param name the name of the node. * @return a map from node names to the NXcrystal for that node. */ public NXcrystal getCrystal(String name); /** * Set a NXcrystal node by name: * <ul> * <li> * Use as many crystals as necessary to describe</li> * </ul> * * @param name the name of the node * @param crystal the value to set */ public void setCrystal(String name, NXcrystal crystal); /** * Get all NXcrystal nodes: * <ul> * <li> * Use as many crystals as necessary to describe</li> * </ul> * * @return a map from node names to the NXcrystal for that node. */ public Map<String, NXcrystal> getAllCrystal(); /** * Set multiple child nodes of a particular type. * <ul> * <li> * Use as many crystals as necessary to describe</li> * </ul> * * @param crystal the child nodes to add */ public void setAllCrystal(Map<String, NXcrystal> crystal); /** * * @return the value. */ public NXvelocity_selector getVelocity_selector(); /** * * @param velocity_selector the velocity_selector */ public void setVelocity_selector(NXvelocity_selector velocity_selector); /** * Get a NXvelocity_selector node by name: * <ul> * <li></li> * </ul> * * @param name the name of the node. * @return a map from node names to the NXvelocity_selector for that node. */ public NXvelocity_selector getVelocity_selector(String name); /** * Set a NXvelocity_selector node by name: * <ul> * <li></li> * </ul> * * @param name the name of the node * @param velocity_selector the value to set */ public void setVelocity_selector(String name, NXvelocity_selector velocity_selector); /** * Get all NXvelocity_selector nodes: * <ul> * <li></li> * </ul> * * @return a map from node names to the NXvelocity_selector for that node. */ public Map<String, NXvelocity_selector> getAllVelocity_selector(); /** * Set multiple child nodes of a particular type. * <ul> * <li></li> * </ul> * * @param velocity_selector the child nodes to add */ public void setAllVelocity_selector(Map<String, NXvelocity_selector> velocity_selector); /** * For diffraction grating based monochromators * * @return the value. */ public NXgrating getGrating(); /** * For diffraction grating based monochromators * * @param grating the grating */ public void setGrating(NXgrating grating); /** * Get a NXgrating node by name: * <ul> * <li> * For diffraction grating based monochromators</li> * </ul> * * @param name the name of the node. * @return a map from node names to the NXgrating for that node. */ public NXgrating getGrating(String name); /** * Set a NXgrating node by name: * <ul> * <li> * For diffraction grating based monochromators</li> * </ul> * * @param name the name of the node * @param grating the value to set */ public void setGrating(String name, NXgrating grating); /** * Get all NXgrating nodes: * <ul> * <li> * For diffraction grating based monochromators</li> * </ul> * * @return a map from node names to the NXgrating for that node. */ public Map<String, NXgrating> getAllGrating(); /** * Set multiple child nodes of a particular type. * <ul> * <li> * For diffraction grating based monochromators</li> * </ul> * * @param grating the child nodes to add */ public void setAllGrating(Map<String, NXgrating> grating); }