org.eclipse.dawnsci.nexus.NXmonochromator 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 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
*
*/
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
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @return the value.
*/
public IDataset getWavelength();
/**
* wavelength selected
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @param wavelength the wavelength
*/
public DataNode setWavelength(IDataset wavelength);
/**
* wavelength selected
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @return the value.
*/
public Double getWavelengthScalar();
/**
* wavelength selected
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @param wavelength the wavelength
*/
public DataNode setWavelengthScalar(Double wavelength);
/**
* wavelength standard deviation
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @return the value.
*/
public IDataset getWavelength_error();
/**
* wavelength standard deviation
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @param wavelength_error the wavelength_error
*/
public DataNode setWavelength_error(IDataset wavelength_error);
/**
* wavelength standard deviation
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @return the value.
*/
public Double getWavelength_errorScalar();
/**
* wavelength standard deviation
*
* Type: NX_FLOAT
* Units: NX_WAVELENGTH
*
*
* @param wavelength_error the wavelength_error
*/
public DataNode setWavelength_errorScalar(Double wavelength_error);
/**
* energy selected
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @return the value.
*/
public IDataset getEnergy();
/**
* energy selected
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @param energy the energy
*/
public DataNode setEnergy(IDataset energy);
/**
* energy selected
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @return the value.
*/
public Double getEnergyScalar();
/**
* energy selected
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @param energy the energy
*/
public DataNode setEnergyScalar(Double energy);
/**
* energy standard deviation
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @return the value.
*/
public IDataset getEnergy_error();
/**
* energy standard deviation
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @param energy_error the energy_error
*/
public DataNode setEnergy_error(IDataset energy_error);
/**
* energy standard deviation
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @return the value.
*/
public Double getEnergy_errorScalar();
/**
* energy standard deviation
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @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:
*
* -
* Use as many crystals as necessary to describe
*
*
* @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:
*
* -
* Use as many crystals as necessary to describe
*
*
* @param name the name of the node
* @param crystal the value to set
*/
public void setCrystal(String name, NXcrystal crystal);
/**
* Get all NXcrystal nodes:
*
* -
* Use as many crystals as necessary to describe
*
*
* @return a map from node names to the NXcrystal for that node.
*/
public Map getAllCrystal();
/**
* Set multiple child nodes of a particular type.
*
* -
* Use as many crystals as necessary to describe
*
*
* @param crystal the child nodes to add
*/
public void setAllCrystal(Map 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:
*
*
*
*
* @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:
*
*
*
*
* @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:
*
*
*
*
* @return a map from node names to the NXvelocity_selector for that node.
*/
public Map getAllVelocity_selector();
/**
* Set multiple child nodes of a particular type.
*
*
*
*
* @param velocity_selector the child nodes to add
*/
public void setAllVelocity_selector(Map 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:
*
* -
* For diffraction grating based monochromators
*
*
* @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:
*
* -
* For diffraction grating based monochromators
*
*
* @param name the name of the node
* @param grating the value to set
*/
public void setGrating(String name, NXgrating grating);
/**
* Get all NXgrating nodes:
*
* -
* For diffraction grating based monochromators
*
*
* @return a map from node names to the NXgrating for that node.
*/
public Map getAllGrating();
/**
* Set multiple child nodes of a particular type.
*
* -
* For diffraction grating based monochromators
*
*
* @param grating the child nodes to add
*/
public void setAllGrating(Map grating);
}