All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.dawnsci.nexus.impl.NXmonochromatorImpl 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.impl;

import java.util.EnumSet;
import java.util.Map;
import java.util.Set;

import org.eclipse.dawnsci.analysis.api.tree.DataNode;
import org.eclipse.dawnsci.nexus.NXcrystal;
import org.eclipse.dawnsci.nexus.NXdata;
import org.eclipse.dawnsci.nexus.NXgeometry;
import org.eclipse.dawnsci.nexus.NXgrating;
import org.eclipse.dawnsci.nexus.NXmonochromator;
import org.eclipse.dawnsci.nexus.NXobject;
import org.eclipse.dawnsci.nexus.NXvelocity_selector;
import org.eclipse.dawnsci.nexus.NexusBaseClass;
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 class NXmonochromatorImpl extends NXobjectImpl implements NXmonochromator {

	private static final long serialVersionUID = 1L;  // no state in this class, so always compatible


	public static final Set PERMITTED_CHILD_GROUP_CLASSES = EnumSet.of(
		NexusBaseClass.NX_DATA,
		NexusBaseClass.NX_GEOMETRY,
		NexusBaseClass.NX_CRYSTAL,
		NexusBaseClass.NX_VELOCITY_SELECTOR,
		NexusBaseClass.NX_GRATING);

	public NXmonochromatorImpl() {
		super();
	}

	public NXmonochromatorImpl(final long oid) {
		super(oid);
	}
	
	@Override
	public Class getNXclass() {
		return NXmonochromator.class;
	}
	
	@Override
	public NexusBaseClass getNexusBaseClass() {
		return NexusBaseClass.NX_MONOCHROMATOR;
	}
	
	@Override
	public Set getPermittedChildGroupClasses() {
		return PERMITTED_CHILD_GROUP_CLASSES;
	}
	

	@Override
	public IDataset getWavelength() {
		return getDataset(NX_WAVELENGTH);
	}

	@Override
	public Double getWavelengthScalar() {
		return getDouble(NX_WAVELENGTH);
	}

	@Override
	public DataNode setWavelength(IDataset wavelength) {
		return setDataset(NX_WAVELENGTH, wavelength);
	}

	@Override
	public DataNode setWavelengthScalar(Double wavelength) {
		return setField(NX_WAVELENGTH, wavelength);
	}

	@Override
	public IDataset getWavelength_error() {
		return getDataset(NX_WAVELENGTH_ERROR);
	}

	@Override
	public Double getWavelength_errorScalar() {
		return getDouble(NX_WAVELENGTH_ERROR);
	}

	@Override
	public DataNode setWavelength_error(IDataset wavelength_error) {
		return setDataset(NX_WAVELENGTH_ERROR, wavelength_error);
	}

	@Override
	public DataNode setWavelength_errorScalar(Double wavelength_error) {
		return setField(NX_WAVELENGTH_ERROR, wavelength_error);
	}

	@Override
	public IDataset getEnergy() {
		return getDataset(NX_ENERGY);
	}

	@Override
	public Double getEnergyScalar() {
		return getDouble(NX_ENERGY);
	}

	@Override
	public DataNode setEnergy(IDataset energy) {
		return setDataset(NX_ENERGY, energy);
	}

	@Override
	public DataNode setEnergyScalar(Double energy) {
		return setField(NX_ENERGY, energy);
	}

	@Override
	public IDataset getEnergy_error() {
		return getDataset(NX_ENERGY_ERROR);
	}

	@Override
	public Double getEnergy_errorScalar() {
		return getDouble(NX_ENERGY_ERROR);
	}

	@Override
	public DataNode setEnergy_error(IDataset energy_error) {
		return setDataset(NX_ENERGY_ERROR, energy_error);
	}

	@Override
	public DataNode setEnergy_errorScalar(Double energy_error) {
		return setField(NX_ENERGY_ERROR, energy_error);
	}

	@Override
	public NXdata getDistribution() {
		return getChild("distribution", NXdata.class);
	}

	@Override
	public void setDistribution(NXdata distribution) {
		putChild("distribution", distribution);
	}

	@Override
	public NXgeometry getGeometry() {
		return getChild("geometry", NXgeometry.class);
	}

	@Override
	public void setGeometry(NXgeometry geometry) {
		putChild("geometry", geometry);
	}

	@Override
	public NXcrystal getCrystal() {
		return getChild("crystal", NXcrystal.class);
	}

	@Override
	public void setCrystal(NXcrystal crystal) {
		putChild("crystal", crystal);
	}

	@Override
	public NXcrystal getCrystal(String name) {
		return getChild(name, NXcrystal.class);
	}

	@Override
	public void setCrystal(String name, NXcrystal crystal) {
		putChild(name, crystal);
	}

	@Override
	public Map getAllCrystal() {
		return getChildren(NXcrystal.class);
	}
	
	@Override
	public void setAllCrystal(Map crystal) {
		setChildren(crystal);
	}

	@Override
	public NXvelocity_selector getVelocity_selector() {
		return getChild("velocity_selector", NXvelocity_selector.class);
	}

	@Override
	public void setVelocity_selector(NXvelocity_selector velocity_selector) {
		putChild("velocity_selector", velocity_selector);
	}

	@Override
	public NXvelocity_selector getVelocity_selector(String name) {
		return getChild(name, NXvelocity_selector.class);
	}

	@Override
	public void setVelocity_selector(String name, NXvelocity_selector velocity_selector) {
		putChild(name, velocity_selector);
	}

	@Override
	public Map getAllVelocity_selector() {
		return getChildren(NXvelocity_selector.class);
	}
	
	@Override
	public void setAllVelocity_selector(Map velocity_selector) {
		setChildren(velocity_selector);
	}

	@Override
	public NXgrating getGrating() {
		return getChild("grating", NXgrating.class);
	}

	@Override
	public void setGrating(NXgrating grating) {
		putChild("grating", grating);
	}

	@Override
	public NXgrating getGrating(String name) {
		return getChild(name, NXgrating.class);
	}

	@Override
	public void setGrating(String name, NXgrating grating) {
		putChild(name, grating);
	}

	@Override
	public Map getAllGrating() {
		return getChildren(NXgrating.class);
	}
	
	@Override
	public void setAllGrating(Map grating) {
		setChildren(grating);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy