org.eclipse.dawnsci.nexus.NXsource 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.Date;
import org.eclipse.dawnsci.analysis.api.tree.DataNode;
import org.eclipse.january.dataset.IDataset;
/**
* The neutron or x-ray storage ring/facility.
*
*/
public interface NXsource extends NXobject {
public static final String NX_DISTANCE = "distance";
public static final String NX_NAME = "name";
public static final String NX_NAME_ATTRIBUTE_SHORT_NAME = "short_name";
public static final String NX_TYPE = "type";
public static final String NX_PROBE = "probe";
public static final String NX_POWER = "power";
public static final String NX_EMITTANCE_X = "emittance_x";
public static final String NX_EMITTANCE_Y = "emittance_y";
public static final String NX_SIGMA_X = "sigma_x";
public static final String NX_SIGMA_Y = "sigma_y";
public static final String NX_FLUX = "flux";
public static final String NX_ENERGY = "energy";
public static final String NX_CURRENT = "current";
public static final String NX_VOLTAGE = "voltage";
public static final String NX_FREQUENCY = "frequency";
public static final String NX_PERIOD = "period";
public static final String NX_TARGET_MATERIAL = "target_material";
public static final String NX_NUMBER_OF_BUNCHES = "number_of_bunches";
public static final String NX_BUNCH_LENGTH = "bunch_length";
public static final String NX_BUNCH_DISTANCE = "bunch_distance";
public static final String NX_PULSE_WIDTH = "pulse_width";
public static final String NX_MODE = "mode";
public static final String NX_TOP_UP = "top_up";
public static final String NX_LAST_FILL = "last_fill";
public static final String NX_LAST_FILL_ATTRIBUTE_TIME = "time";
/**
* Effective distance from sample
* Distance as seen by radiation from sample. This number should be negative
* to signify that it is upstream of the sample.
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getDistance();
/**
* Effective distance from sample
* Distance as seen by radiation from sample. This number should be negative
* to signify that it is upstream of the sample.
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param distance the distance
*/
public DataNode setDistance(IDataset distance);
/**
* Effective distance from sample
* Distance as seen by radiation from sample. This number should be negative
* to signify that it is upstream of the sample.
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getDistanceScalar();
/**
* Effective distance from sample
* Distance as seen by radiation from sample. This number should be negative
* to signify that it is upstream of the sample.
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param distance the distance
*/
public DataNode setDistanceScalar(Double distance);
/**
* Name of source
*
* @return the value.
*/
public IDataset getName();
/**
* Name of source
*
* @param name the name
*/
public DataNode setName(IDataset name);
/**
* Name of source
*
* @return the value.
*/
public String getNameScalar();
/**
* Name of source
*
* @param name the name
*/
public DataNode setNameScalar(String name);
/**
* short name for source, perhaps the acronym
*
* @return the value.
*/
public String getNameAttributeShort_name();
/**
* short name for source, perhaps the acronym
*
* @param short_name the short_name
*/
public void setNameAttributeShort_name(String short_name);
/**
* type of radiation source (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - Spallation Neutron Source
* - Pulsed Reactor Neutron Source
* - Reactor Neutron Source
* - Synchrotron X-ray Source
* - Pulsed Muon Source
* - Rotating Anode X-ray
* - Fixed Tube X-ray
* - UV Laser
* - Free-Electron Laser
* - Optical Laser
* - Ion Source
* - UV Plasma Source
*
*
* @return the value.
*/
public IDataset getType();
/**
* type of radiation source (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - Spallation Neutron Source
* - Pulsed Reactor Neutron Source
* - Reactor Neutron Source
* - Synchrotron X-ray Source
* - Pulsed Muon Source
* - Rotating Anode X-ray
* - Fixed Tube X-ray
* - UV Laser
* - Free-Electron Laser
* - Optical Laser
* - Ion Source
* - UV Plasma Source
*
*
* @param type the type
*/
public DataNode setType(IDataset type);
/**
* type of radiation source (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - Spallation Neutron Source
* - Pulsed Reactor Neutron Source
* - Reactor Neutron Source
* - Synchrotron X-ray Source
* - Pulsed Muon Source
* - Rotating Anode X-ray
* - Fixed Tube X-ray
* - UV Laser
* - Free-Electron Laser
* - Optical Laser
* - Ion Source
* - UV Plasma Source
*
*
* @return the value.
*/
public String getTypeScalar();
/**
* type of radiation source (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - Spallation Neutron Source
* - Pulsed Reactor Neutron Source
* - Reactor Neutron Source
* - Synchrotron X-ray Source
* - Pulsed Muon Source
* - Rotating Anode X-ray
* - Fixed Tube X-ray
* - UV Laser
* - Free-Electron Laser
* - Optical Laser
* - Ion Source
* - UV Plasma Source
*
*
* @param type the type
*/
public DataNode setTypeScalar(String type);
/**
* type of radiation probe (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - neutron
* - x-ray
* - muon
* - electron
* - ultraviolet
* - visible light
* - positron
* - proton
*
*
* @return the value.
*/
public IDataset getProbe();
/**
* type of radiation probe (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - neutron
* - x-ray
* - muon
* - electron
* - ultraviolet
* - visible light
* - positron
* - proton
*
*
* @param probe the probe
*/
public DataNode setProbe(IDataset probe);
/**
* type of radiation probe (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - neutron
* - x-ray
* - muon
* - electron
* - ultraviolet
* - visible light
* - positron
* - proton
*
*
* @return the value.
*/
public String getProbeScalar();
/**
* type of radiation probe (pick one from the enumerated list and spell exactly)
*
*
Enumeration:
* - neutron
* - x-ray
* - muon
* - electron
* - ultraviolet
* - visible light
* - positron
* - proton
*
*
* @param probe the probe
*/
public DataNode setProbeScalar(String probe);
/**
* Source power
*
* Type: NX_FLOAT
* Units: NX_POWER
*
*
* @return the value.
*/
public IDataset getPower();
/**
* Source power
*
* Type: NX_FLOAT
* Units: NX_POWER
*
*
* @param power the power
*/
public DataNode setPower(IDataset power);
/**
* Source power
*
* Type: NX_FLOAT
* Units: NX_POWER
*
*
* @return the value.
*/
public Double getPowerScalar();
/**
* Source power
*
* Type: NX_FLOAT
* Units: NX_POWER
*
*
* @param power the power
*/
public DataNode setPowerScalar(Double power);
/**
* Source emittance (nm-rad) in X (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @return the value.
*/
public IDataset getEmittance_x();
/**
* Source emittance (nm-rad) in X (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @param emittance_x the emittance_x
*/
public DataNode setEmittance_x(IDataset emittance_x);
/**
* Source emittance (nm-rad) in X (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @return the value.
*/
public Double getEmittance_xScalar();
/**
* Source emittance (nm-rad) in X (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @param emittance_x the emittance_x
*/
public DataNode setEmittance_xScalar(Double emittance_x);
/**
* Source emittance (nm-rad) in Y (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @return the value.
*/
public IDataset getEmittance_y();
/**
* Source emittance (nm-rad) in Y (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @param emittance_y the emittance_y
*/
public DataNode setEmittance_y(IDataset emittance_y);
/**
* Source emittance (nm-rad) in Y (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @return the value.
*/
public Double getEmittance_yScalar();
/**
* Source emittance (nm-rad) in Y (horizontal) direction.
*
* Type: NX_FLOAT
* Units: NX_EMITTANCE
*
*
* @param emittance_y the emittance_y
*/
public DataNode setEmittance_yScalar(Double emittance_y);
/**
* particle beam size in x
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getSigma_x();
/**
* particle beam size in x
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param sigma_x the sigma_x
*/
public DataNode setSigma_x(IDataset sigma_x);
/**
* particle beam size in x
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getSigma_xScalar();
/**
* particle beam size in x
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param sigma_x the sigma_x
*/
public DataNode setSigma_xScalar(Double sigma_x);
/**
* particle beam size in y
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public IDataset getSigma_y();
/**
* particle beam size in y
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param sigma_y the sigma_y
*/
public DataNode setSigma_y(IDataset sigma_y);
/**
* particle beam size in y
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @return the value.
*/
public Double getSigma_yScalar();
/**
* particle beam size in y
*
* Type: NX_FLOAT
* Units: NX_LENGTH
*
*
* @param sigma_y the sigma_y
*/
public DataNode setSigma_yScalar(Double sigma_y);
/**
* Source intensity/area (example: s-1 cm-2)
*
* Type: NX_FLOAT
* Units: NX_FLUX
*
*
* @return the value.
*/
public IDataset getFlux();
/**
* Source intensity/area (example: s-1 cm-2)
*
* Type: NX_FLOAT
* Units: NX_FLUX
*
*
* @param flux the flux
*/
public DataNode setFlux(IDataset flux);
/**
* Source intensity/area (example: s-1 cm-2)
*
* Type: NX_FLOAT
* Units: NX_FLUX
*
*
* @return the value.
*/
public Double getFluxScalar();
/**
* Source intensity/area (example: s-1 cm-2)
*
* Type: NX_FLOAT
* Units: NX_FLUX
*
*
* @param flux the flux
*/
public DataNode setFluxScalar(Double flux);
/**
* Source energy.
* For storage rings, this would be the particle beam energy.
* For X-ray tubes, this would be the excitation voltage.
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @return the value.
*/
public IDataset getEnergy();
/**
* Source energy.
* For storage rings, this would be the particle beam energy.
* For X-ray tubes, this would be the excitation voltage.
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @param energy the energy
*/
public DataNode setEnergy(IDataset energy);
/**
* Source energy.
* For storage rings, this would be the particle beam energy.
* For X-ray tubes, this would be the excitation voltage.
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @return the value.
*/
public Double getEnergyScalar();
/**
* Source energy.
* For storage rings, this would be the particle beam energy.
* For X-ray tubes, this would be the excitation voltage.
*
* Type: NX_FLOAT
* Units: NX_ENERGY
*
*
* @param energy the energy
*/
public DataNode setEnergyScalar(Double energy);
/**
* Accelerator, X-ray tube, or storage ring current
*
* Type: NX_FLOAT
* Units: NX_CURRENT
*
*
* @return the value.
*/
public IDataset getCurrent();
/**
* Accelerator, X-ray tube, or storage ring current
*
* Type: NX_FLOAT
* Units: NX_CURRENT
*
*
* @param current the current
*/
public DataNode setCurrent(IDataset current);
/**
* Accelerator, X-ray tube, or storage ring current
*
* Type: NX_FLOAT
* Units: NX_CURRENT
*
*
* @return the value.
*/
public Double getCurrentScalar();
/**
* Accelerator, X-ray tube, or storage ring current
*
* Type: NX_FLOAT
* Units: NX_CURRENT
*
*
* @param current the current
*/
public DataNode setCurrentScalar(Double current);
/**
* Accelerator voltage
*
* Type: NX_FLOAT
* Units: NX_VOLTAGE
*
*
* @return the value.
*/
public IDataset getVoltage();
/**
* Accelerator voltage
*
* Type: NX_FLOAT
* Units: NX_VOLTAGE
*
*
* @param voltage the voltage
*/
public DataNode setVoltage(IDataset voltage);
/**
* Accelerator voltage
*
* Type: NX_FLOAT
* Units: NX_VOLTAGE
*
*
* @return the value.
*/
public Double getVoltageScalar();
/**
* Accelerator voltage
*
* Type: NX_FLOAT
* Units: NX_VOLTAGE
*
*
* @param voltage the voltage
*/
public DataNode setVoltageScalar(Double voltage);
/**
* Frequency of pulsed source
*
* Type: NX_FLOAT
* Units: NX_FREQUENCY
*
*
* @return the value.
*/
public IDataset getFrequency();
/**
* Frequency of pulsed source
*
* Type: NX_FLOAT
* Units: NX_FREQUENCY
*
*
* @param frequency the frequency
*/
public DataNode setFrequency(IDataset frequency);
/**
* Frequency of pulsed source
*
* Type: NX_FLOAT
* Units: NX_FREQUENCY
*
*
* @return the value.
*/
public Double getFrequencyScalar();
/**
* Frequency of pulsed source
*
* Type: NX_FLOAT
* Units: NX_FREQUENCY
*
*
* @param frequency the frequency
*/
public DataNode setFrequencyScalar(Double frequency);
/**
* Period of pulsed source
*
* Type: NX_FLOAT
* Units: NX_PERIOD
*
*
* @return the value.
*/
public IDataset getPeriod();
/**
* Period of pulsed source
*
* Type: NX_FLOAT
* Units: NX_PERIOD
*
*
* @param period the period
*/
public DataNode setPeriod(IDataset period);
/**
* Period of pulsed source
*
* Type: NX_FLOAT
* Units: NX_PERIOD
*
*
* @return the value.
*/
public Double getPeriodScalar();
/**
* Period of pulsed source
*
* Type: NX_FLOAT
* Units: NX_PERIOD
*
*
* @param period the period
*/
public DataNode setPeriodScalar(Double period);
/**
* Pulsed source target material
*
*
Enumeration:
* - Ta
* - W
* - depleted_U
* - enriched_U
* - Hg
* - Pb
* - C
*
*
* @return the value.
*/
public IDataset getTarget_material();
/**
* Pulsed source target material
*
*
Enumeration:
* - Ta
* - W
* - depleted_U
* - enriched_U
* - Hg
* - Pb
* - C
*
*
* @param target_material the target_material
*/
public DataNode setTarget_material(IDataset target_material);
/**
* Pulsed source target material
*
*
Enumeration:
* - Ta
* - W
* - depleted_U
* - enriched_U
* - Hg
* - Pb
* - C
*
*
* @return the value.
*/
public String getTarget_materialScalar();
/**
* Pulsed source target material
*
*
Enumeration:
* - Ta
* - W
* - depleted_U
* - enriched_U
* - Hg
* - Pb
* - C
*
*
* @param target_material the target_material
*/
public DataNode setTarget_materialScalar(String target_material);
/**
* any source/facility related messages/events that
* occurred during the experiment
*
* @return the value.
*/
public NXnote getNotes();
/**
* any source/facility related messages/events that
* occurred during the experiment
*
* @param notes the notes
*/
public void setNotes(NXnote notes);
/**
* For storage rings, description of the bunch pattern.
* This is useful to describe irregular bunch patterns.
*
* @return the value.
*/
public NXdata getBunch_pattern();
/**
* For storage rings, description of the bunch pattern.
* This is useful to describe irregular bunch patterns.
*
* @param bunch_pattern the bunch_pattern
*/
public void setBunch_pattern(NXdata bunch_pattern);
/**
* For storage rings, the number of bunches in use.
*
* Type: NX_INT
*
*
* @return the value.
*/
public IDataset getNumber_of_bunches();
/**
* For storage rings, the number of bunches in use.
*
* Type: NX_INT
*
*
* @param number_of_bunches the number_of_bunches
*/
public DataNode setNumber_of_bunches(IDataset number_of_bunches);
/**
* For storage rings, the number of bunches in use.
*
* Type: NX_INT
*
*
* @return the value.
*/
public Long getNumber_of_bunchesScalar();
/**
* For storage rings, the number of bunches in use.
*
* Type: NX_INT
*
*
* @param number_of_bunches the number_of_bunches
*/
public DataNode setNumber_of_bunchesScalar(Long number_of_bunches);
/**
* For storage rings, temporal length of the bunch
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @return the value.
*/
public IDataset getBunch_length();
/**
* For storage rings, temporal length of the bunch
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @param bunch_length the bunch_length
*/
public DataNode setBunch_length(IDataset bunch_length);
/**
* For storage rings, temporal length of the bunch
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @return the value.
*/
public Double getBunch_lengthScalar();
/**
* For storage rings, temporal length of the bunch
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @param bunch_length the bunch_length
*/
public DataNode setBunch_lengthScalar(Double bunch_length);
/**
* For storage rings, time between bunches
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @return the value.
*/
public IDataset getBunch_distance();
/**
* For storage rings, time between bunches
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @param bunch_distance the bunch_distance
*/
public DataNode setBunch_distance(IDataset bunch_distance);
/**
* For storage rings, time between bunches
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @return the value.
*/
public Double getBunch_distanceScalar();
/**
* For storage rings, time between bunches
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @param bunch_distance the bunch_distance
*/
public DataNode setBunch_distanceScalar(Double bunch_distance);
/**
* temporal width of source pulse
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @return the value.
*/
public IDataset getPulse_width();
/**
* temporal width of source pulse
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @param pulse_width the pulse_width
*/
public DataNode setPulse_width(IDataset pulse_width);
/**
* temporal width of source pulse
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @return the value.
*/
public Double getPulse_widthScalar();
/**
* temporal width of source pulse
*
* Type: NX_FLOAT
* Units: NX_TIME
*
*
* @param pulse_width the pulse_width
*/
public DataNode setPulse_widthScalar(Double pulse_width);
/**
* source pulse shape
*
* @return the value.
*/
public NXdata getPulse_shape();
/**
* source pulse shape
*
* @param pulse_shape the pulse_shape
*/
public void setPulse_shape(NXdata pulse_shape);
/**
* source operating mode
*
*
Enumeration:
* - Single Bunch
* for storage rings
* - Multi Bunch
* for storage rings
*
*
* @return the value.
*/
public IDataset getMode();
/**
* source operating mode
*
*
Enumeration:
* - Single Bunch
* for storage rings
* - Multi Bunch
* for storage rings
*
*
* @param mode the mode
*/
public DataNode setMode(IDataset mode);
/**
* source operating mode
*
*
Enumeration:
* - Single Bunch
* for storage rings
* - Multi Bunch
* for storage rings
*
*
* @return the value.
*/
public String getModeScalar();
/**
* source operating mode
*
*
Enumeration:
* - Single Bunch
* for storage rings
* - Multi Bunch
* for storage rings
*
*
* @param mode the mode
*/
public DataNode setModeScalar(String mode);
/**
* Is the synchrotron operating in top_up mode?
*
* Type: NX_BOOLEAN
*
*
* @return the value.
*/
public IDataset getTop_up();
/**
* Is the synchrotron operating in top_up mode?
*
* Type: NX_BOOLEAN
*
*
* @param top_up the top_up
*/
public DataNode setTop_up(IDataset top_up);
/**
* Is the synchrotron operating in top_up mode?
*
* Type: NX_BOOLEAN
*
*
* @return the value.
*/
public Boolean getTop_upScalar();
/**
* Is the synchrotron operating in top_up mode?
*
* Type: NX_BOOLEAN
*
*
* @param top_up the top_up
*/
public DataNode setTop_upScalar(Boolean top_up);
/**
* For storage rings, the current at the end of the most recent injection.
*
* Type: NX_NUMBER
* Units: NX_CURRENT
*
*
* @return the value.
*/
public IDataset getLast_fill();
/**
* For storage rings, the current at the end of the most recent injection.
*
* Type: NX_NUMBER
* Units: NX_CURRENT
*
*
* @param last_fill the last_fill
*/
public DataNode setLast_fill(IDataset last_fill);
/**
* For storage rings, the current at the end of the most recent injection.
*
* Type: NX_NUMBER
* Units: NX_CURRENT
*
*
* @return the value.
*/
public Number getLast_fillScalar();
/**
* For storage rings, the current at the end of the most recent injection.
*
* Type: NX_NUMBER
* Units: NX_CURRENT
*
*
* @param last_fill the last_fill
*/
public DataNode setLast_fillScalar(Number last_fill);
/**
* date and time of the most recent injection.
*
* @return the value.
*/
public Date getLast_fillAttributeTime();
/**
* date and time of the most recent injection.
*
* @param time the time
*/
public void setLast_fillAttributeTime(Date time);
/**
* "Engineering" location of source
*
* @return the value.
*/
public NXgeometry getGeometry();
/**
* "Engineering" location of source
*
* @param geometry the geometry
*/
public void setGeometry(NXgeometry geometry);
/**
* The wavelength or energy distribution of the source
*
* @return the value.
*/
public NXdata getDistribution();
/**
* The wavelength or energy distribution of the source
*
* @param distribution the distribution
*/
public void setDistribution(NXdata distribution);
}