org.eclipse.dawnsci.nexus.NXbeam 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;
/**
* 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.
*
*/
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
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getDistance();
/**
* Distance from sample
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param distance the distance
*/
public DataNode setDistance(IDataset distance);
/**
* Distance from sample
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getDistanceScalar();
/**
* Distance from sample
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param distance the distance
*/
public DataNode setDistanceScalar(Double distance);
/**
* Energy on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getIncident_energy();
/**
* Energy on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @param incident_energy the incident_energy
*/
public DataNode setIncident_energy(IDataset incident_energy);
/**
* Energy on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getIncident_energyScalar();
/**
* Energy on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @param incident_energy the incident_energy
*/
public DataNode setIncident_energyScalar(Double incident_energy);
/**
* Energy on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getFinal_energy();
/**
* Energy on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @param final_energy the final_energy
*/
public DataNode setFinal_energy(IDataset final_energy);
/**
* Energy on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getFinal_energyScalar();
/**
* Energy on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @param final_energy the final_energy
*/
public DataNode setFinal_energyScalar(Double final_energy);
/**
* Energy change caused by beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getEnergy_transfer();
/**
* Energy change caused by beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @param energy_transfer the energy_transfer
*/
public DataNode setEnergy_transfer(IDataset energy_transfer);
/**
* Energy change caused by beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getEnergy_transferScalar();
/**
* Energy change caused by beamline component
*
* Type: NX_FLOAT
* Units: NX_ENERGY
* Dimensions: 1: i;
*
*
* @param energy_transfer the energy_transfer
*/
public DataNode setEnergy_transferScalar(Double energy_transfer);
/**
* Wavelength on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getIncident_wavelength();
/**
* Wavelength on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param incident_wavelength the incident_wavelength
*/
public DataNode setIncident_wavelength(IDataset incident_wavelength);
/**
* Wavelength on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getIncident_wavelengthScalar();
/**
* Wavelength on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param incident_wavelength the incident_wavelength
*/
public DataNode setIncident_wavelengthScalar(Double incident_wavelength);
/**
* Wavelength spread FWHM on entering component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getIncident_wavelength_spread();
/**
* Wavelength spread FWHM on entering component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param incident_wavelength_spread the incident_wavelength_spread
*/
public DataNode setIncident_wavelength_spread(IDataset incident_wavelength_spread);
/**
* Wavelength spread FWHM on entering component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getIncident_wavelength_spreadScalar();
/**
* Wavelength spread FWHM on entering component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param incident_wavelength_spread the incident_wavelength_spread
*/
public DataNode setIncident_wavelength_spreadScalar(Double incident_wavelength_spread);
/**
* Divergence of beam entering this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public IDataset getIncident_beam_divergence();
/**
* Divergence of beam entering this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @param incident_beam_divergence the incident_beam_divergence
*/
public DataNode setIncident_beam_divergence(IDataset incident_beam_divergence);
/**
* Divergence of beam entering this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public Double getIncident_beam_divergenceScalar();
/**
* Divergence of beam entering this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @param incident_beam_divergence the incident_beam_divergence
*/
public DataNode setIncident_beam_divergenceScalar(Double incident_beam_divergence);
/**
* Wavelength on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getFinal_wavelength();
/**
* Wavelength on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param final_wavelength the final_wavelength
*/
public DataNode setFinal_wavelength(IDataset final_wavelength);
/**
* Wavelength on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getFinal_wavelengthScalar();
/**
* Wavelength on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param final_wavelength the final_wavelength
*/
public DataNode setFinal_wavelengthScalar(Double final_wavelength);
/**
* Polarization vector on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public IDataset getIncident_polarization();
/**
* Polarization vector on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @param incident_polarization the incident_polarization
*/
public DataNode setIncident_polarization(IDataset incident_polarization);
/**
* Polarization vector on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public Double getIncident_polarizationScalar();
/**
* Polarization vector on entering beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @param incident_polarization the incident_polarization
*/
public DataNode setIncident_polarizationScalar(Double incident_polarization);
/**
* Polarization vector on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public IDataset getFinal_polarization();
/**
* Polarization vector on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @param final_polarization the final_polarization
*/
public DataNode setFinal_polarization(IDataset final_polarization);
/**
* Polarization vector on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public Double getFinal_polarizationScalar();
/**
* Polarization vector on leaving beamline component
*
* Type: NX_FLOAT
* Units: NX_ANY
* Dimensions: 1: 2; 2: j;
*
*
* @param final_polarization the final_polarization
*/
public DataNode setFinal_polarizationScalar(Double final_polarization);
/**
* Wavelength spread FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getFinal_wavelength_spread();
/**
* Wavelength spread FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @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
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getFinal_wavelength_spreadScalar();
/**
* Wavelength spread FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
* Dimensions: 1: i;
*
*
* @param final_wavelength_spread the final_wavelength_spread
*/
public DataNode setFinal_wavelength_spreadScalar(Double final_wavelength_spread);
/**
* Divergence FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public IDataset getFinal_beam_divergence();
/**
* Divergence FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @param final_beam_divergence the final_beam_divergence
*/
public DataNode setFinal_beam_divergence(IDataset final_beam_divergence);
/**
* Divergence FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @return the value.
*/
public Double getFinal_beam_divergenceScalar();
/**
* Divergence FWHM of beam leaving this component
*
* Type: NX_FLOAT
* Units: NX_ANGLE
* Dimensions: 1: 2; 2: j;
*
*
* @param final_beam_divergence the final_beam_divergence
*/
public DataNode setFinal_beam_divergenceScalar(Double final_beam_divergence);
/**
* flux incident on beam plane area
*
* Type: NX_FLOAT
* Units: NX_FLUX
* Dimensions: 1: i;
*
*
* @return the value.
*/
public IDataset getFlux();
/**
* flux incident on beam plane area
*
* Type: NX_FLOAT
* Units: NX_FLUX
* Dimensions: 1: i;
*
*
* @param flux the flux
*/
public DataNode setFlux(IDataset flux);
/**
* flux incident on beam plane area
*
* Type: NX_FLOAT
* Units: NX_FLUX
* Dimensions: 1: i;
*
*
* @return the value.
*/
public Double getFluxScalar();
/**
* flux incident on beam plane area
*
* Type: NX_FLOAT
* Units: NX_FLUX
* Dimensions: 1: i;
*
*
* @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:
*
* -
* 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 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:
*
* -
* 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 name the name of the node
* @param data the value to set
*/
public void setData(String name, NXdata data);
/**
* Get all NXdata nodes:
*
* -
* 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 a map from node names to the NXdata for that node.
*/
public Map getAllData();
/**
* Set multiple child nodes of a particular type.
*
* -
* 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 child nodes to add
*/
public void setAllData(Map data);
}