/*- ******************************************************************************* * 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; /** * Properties of the neutron or X-ray beam at a given location. * It will be referenced * by beamline component groups within the :ref:`NXinstrument` group or by the :ref:`NXsample` group. Note * that variables such as the incident energy could be scalar values or arrays. This group is * especially valuable in storing the results of instrument simulations in which it is useful * to specify the beam profile, time distribution etc. at each beamline component. Otherwise, * its most likely use is in the :ref:`NXsample` group in which it defines the results of the neutron * scattering by the sample, e.g., energy transfer, polarizations. * * @version 1.0 */ public interface NXbeam extends NXobject { public static final String NX_DISTANCE = "distance"; public static final String NX_INCIDENT_ENERGY = "incident_energy"; public static final String NX_FINAL_ENERGY = "final_energy"; public static final String NX_ENERGY_TRANSFER = "energy_transfer"; public static final String NX_INCIDENT_WAVELENGTH = "incident_wavelength"; public static final String NX_INCIDENT_WAVELENGTH_SPREAD = "incident_wavelength_spread"; public static final String NX_INCIDENT_BEAM_DIVERGENCE = "incident_beam_divergence"; public static final String NX_FINAL_WAVELENGTH = "final_wavelength"; public static final String NX_INCIDENT_POLARIZATION = "incident_polarization"; public static final String NX_FINAL_POLARIZATION = "final_polarization"; public static final String NX_FINAL_WAVELENGTH_SPREAD = "final_wavelength_spread"; public static final String NX_FINAL_BEAM_DIVERGENCE = "final_beam_divergence"; public static final String NX_FLUX = "flux"; /** * Distance from sample * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * </p> * * @return the value. */ public IDataset getDistance(); /** * Distance from sample * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * </p> * * @param distance the distance */ public DataNode setDistance(IDataset distance); /** * Distance from sample * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * </p> * * @return the value. */ public Double getDistanceScalar(); /** * Distance from sample * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * </p> * * @param distance the distance */ public DataNode setDistanceScalar(Double distance); /** * Energy on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getIncident_energy(); /** * Energy on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @param incident_energy the incident_energy */ public DataNode setIncident_energy(IDataset incident_energy); /** * Energy on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getIncident_energyScalar(); /** * Energy on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @param incident_energy the incident_energy */ public DataNode setIncident_energyScalar(Double incident_energy); /** * Energy on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getFinal_energy(); /** * Energy on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @param final_energy the final_energy */ public DataNode setFinal_energy(IDataset final_energy); /** * Energy on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getFinal_energyScalar(); /** * Energy on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @param final_energy the final_energy */ public DataNode setFinal_energyScalar(Double final_energy); /** * Energy change caused by beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getEnergy_transfer(); /** * Energy change caused by beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @param energy_transfer the energy_transfer */ public DataNode setEnergy_transfer(IDataset energy_transfer); /** * Energy change caused by beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getEnergy_transferScalar(); /** * Energy change caused by beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ENERGY * <b>Dimensions:</b> 1: i; * </p> * * @param energy_transfer the energy_transfer */ public DataNode setEnergy_transferScalar(Double energy_transfer); /** * Wavelength on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getIncident_wavelength(); /** * Wavelength on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param incident_wavelength the incident_wavelength */ public DataNode setIncident_wavelength(IDataset incident_wavelength); /** * Wavelength on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getIncident_wavelengthScalar(); /** * Wavelength on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param incident_wavelength the incident_wavelength */ public DataNode setIncident_wavelengthScalar(Double incident_wavelength); /** * Wavelength spread FWHM on entering component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getIncident_wavelength_spread(); /** * Wavelength spread FWHM on entering component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param incident_wavelength_spread the incident_wavelength_spread */ public DataNode setIncident_wavelength_spread(IDataset incident_wavelength_spread); /** * Wavelength spread FWHM on entering component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getIncident_wavelength_spreadScalar(); /** * Wavelength spread FWHM on entering component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param incident_wavelength_spread the incident_wavelength_spread */ public DataNode setIncident_wavelength_spreadScalar(Double incident_wavelength_spread); /** * Divergence of beam entering this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public IDataset getIncident_beam_divergence(); /** * Divergence of beam entering this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param incident_beam_divergence the incident_beam_divergence */ public DataNode setIncident_beam_divergence(IDataset incident_beam_divergence); /** * Divergence of beam entering this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public Double getIncident_beam_divergenceScalar(); /** * Divergence of beam entering this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param incident_beam_divergence the incident_beam_divergence */ public DataNode setIncident_beam_divergenceScalar(Double incident_beam_divergence); /** * Wavelength on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getFinal_wavelength(); /** * Wavelength on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param final_wavelength the final_wavelength */ public DataNode setFinal_wavelength(IDataset final_wavelength); /** * Wavelength on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getFinal_wavelengthScalar(); /** * Wavelength on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param final_wavelength the final_wavelength */ public DataNode setFinal_wavelengthScalar(Double final_wavelength); /** * Polarization vector on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public IDataset getIncident_polarization(); /** * Polarization vector on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param incident_polarization the incident_polarization */ public DataNode setIncident_polarization(IDataset incident_polarization); /** * Polarization vector on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public Double getIncident_polarizationScalar(); /** * Polarization vector on entering beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param incident_polarization the incident_polarization */ public DataNode setIncident_polarizationScalar(Double incident_polarization); /** * Polarization vector on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public IDataset getFinal_polarization(); /** * Polarization vector on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param final_polarization the final_polarization */ public DataNode setFinal_polarization(IDataset final_polarization); /** * Polarization vector on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public Double getFinal_polarizationScalar(); /** * Polarization vector on leaving beamline component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANY * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param final_polarization the final_polarization */ public DataNode setFinal_polarizationScalar(Double final_polarization); /** * Wavelength spread FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getFinal_wavelength_spread(); /** * Wavelength spread FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param final_wavelength_spread the final_wavelength_spread */ public DataNode setFinal_wavelength_spread(IDataset final_wavelength_spread); /** * Wavelength spread FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getFinal_wavelength_spreadScalar(); /** * Wavelength spread FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_WAVELENGTH * <b>Dimensions:</b> 1: i; * </p> * * @param final_wavelength_spread the final_wavelength_spread */ public DataNode setFinal_wavelength_spreadScalar(Double final_wavelength_spread); /** * Divergence FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public IDataset getFinal_beam_divergence(); /** * Divergence FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param final_beam_divergence the final_beam_divergence */ public DataNode setFinal_beam_divergence(IDataset final_beam_divergence); /** * Divergence FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @return the value. */ public Double getFinal_beam_divergenceScalar(); /** * Divergence FWHM of beam leaving this component * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_ANGLE * <b>Dimensions:</b> 1: 2; 2: j; * </p> * * @param final_beam_divergence the final_beam_divergence */ public DataNode setFinal_beam_divergenceScalar(Double final_beam_divergence); /** * flux incident on beam plane area * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_FLUX * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public IDataset getFlux(); /** * flux incident on beam plane area * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_FLUX * <b>Dimensions:</b> 1: i; * </p> * * @param flux the flux */ public DataNode setFlux(IDataset flux); /** * flux incident on beam plane area * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_FLUX * <b>Dimensions:</b> 1: i; * </p> * * @return the value. */ public Double getFluxScalar(); /** * flux incident on beam plane area * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_FLUX * <b>Dimensions:</b> 1: i; * </p> * * @param flux the flux */ public DataNode setFluxScalar(Double flux); /** * Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly * useful for simulations which need to store plottable information at each beamline * component. * * @return the value. */ public NXdata getData(); /** * Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly * useful for simulations which need to store plottable information at each beamline * component. * * @param data the data */ public void setData(NXdata data); /** * Get a NXdata node by name: * <ul> * <li> * Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly * useful for simulations which need to store plottable information at each beamline * component.</li> * </ul> * * @param name the name of the node. * @return a map from node names to the NXdata for that node. */ public NXdata getData(String name); /** * Set a NXdata node by name: * <ul> * <li> * Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly * useful for simulations which need to store plottable information at each beamline * component.</li> * </ul> * * @param name the name of the node * @param data the value to set */ public void setData(String name, NXdata data); /** * Get all NXdata nodes: * <ul> * <li> * Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly * useful for simulations which need to store plottable information at each beamline * component.</li> * </ul> * * @return a map from node names to the NXdata for that node. */ public Map<String, NXdata> getAllData(); /** * Set multiple child nodes of a particular type. * <ul> * <li> * Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly * useful for simulations which need to store plottable information at each beamline * component.</li> * </ul> * * @param data the child nodes to add */ public void setAllData(Map<String, NXdata> data); }