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

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

/**
 * Information recorded as a function of time.
 * Description of information that is recorded against
 * time. There are two common use cases for this:
 * - When logging data such as temperature during a run
 * - When data is taken in streaming mode data acquisition,
 * i.e. just timestamp, value pairs are stored and
 * correlated later in data reduction with other data,
 * In both cases, NXlog contains
 * the logged or streamed values and the times at which they were measured as elapsed time since a starting
 * time recorded in ISO8601 format. The time units are
 * specified in the units attribute. An optional scaling attribute
 * can be used to accomodate non standard clocks.
 * This method of storing logged data helps to distinguish
 * instances in which a variable is a dimension scale of the data, in which case it is stored
 * in an :ref:`NXdata` group, and instances in which it is logged during the
 * run, when it should be stored in an :ref:`NXlog` group.
 * In order to make random access to timestamped data faster there is an optional array pair of
 * ``cue_timestamp_zero`` and ``cue_index``. The ``cue_timestamp_zero`` will
 * contain coarser timestamps than in the time array, say
 * every five minutes. The ``cue_index`` will then contain the
 * index into the time,value pair of arrays for that
 * coarser ``cue_timestamp_zero``.
 * 
 */
public interface NXlog extends NXobject {

	public static final String NX_TIME = "time";
	public static final String NX_TIME_ATTRIBUTE_START = "start";
	public static final String NX_TIME_ATTRIBUTE_SCALING_FACTOR = "scaling_factor";
	public static final String NX_VALUE = "value";
	public static final String NX_RAW_VALUE = "raw_value";
	public static final String NX_DESCRIPTION = "description";
	public static final String NX_AVERAGE_VALUE = "average_value";
	public static final String NX_AVERAGE_VALUE_ERROR = "average_value_error";
	public static final String NX_MINIMUM_VALUE = "minimum_value";
	public static final String NX_MAXIMUM_VALUE = "maximum_value";
	public static final String NX_DURATION = "duration";
	public static final String NX_CUE_TIMESTAMP_ZERO = "cue_timestamp_zero";
	public static final String NX_CUE_TIMESTAMP_ZERO_ATTRIBUTE_START = "start";
	public static final String NX_CUE_TIMESTAMP_ZERO_ATTRIBUTE_SCALING_FACTOR = "scaling_factor";
	public static final String NX_CUE_INDEX = "cue_index";
	/**
	 * Time of logged entry. The times are relative to the "start" attribute
	 * and in the units specified in the "units"
	 * attribute. Please note that absolute
	 * timestamps under unix are relative to ``1970-01-01T:00:00``.
	 * The scaling_factor, when present, has to be applied to the time values in order
	 * to arrive at the units specified in the units attribute. The scaling_factor allows
	 * for arbitrary time units such as ticks of some hardware clock.
	 * 

* Type: NX_NUMBER * Units: NX_TIME *

* * @return the value. */ public IDataset getTime(); /** * Time of logged entry. The times are relative to the "start" attribute * and in the units specified in the "units" * attribute. Please note that absolute * timestamps under unix are relative to ``1970-01-01T:00:00``. * The scaling_factor, when present, has to be applied to the time values in order * to arrive at the units specified in the units attribute. The scaling_factor allows * for arbitrary time units such as ticks of some hardware clock. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @param time the time */ public DataNode setTime(IDataset time); /** * Time of logged entry. The times are relative to the "start" attribute * and in the units specified in the "units" * attribute. Please note that absolute * timestamps under unix are relative to ``1970-01-01T:00:00``. * The scaling_factor, when present, has to be applied to the time values in order * to arrive at the units specified in the units attribute. The scaling_factor allows * for arbitrary time units such as ticks of some hardware clock. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @return the value. */ public Number getTimeScalar(); /** * Time of logged entry. The times are relative to the "start" attribute * and in the units specified in the "units" * attribute. Please note that absolute * timestamps under unix are relative to ``1970-01-01T:00:00``. * The scaling_factor, when present, has to be applied to the time values in order * to arrive at the units specified in the units attribute. The scaling_factor allows * for arbitrary time units such as ticks of some hardware clock. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @param time the time */ public DataNode setTimeScalar(Number time); /** * * @return the value. */ public Date getTimeAttributeStart(); /** * * @param start the start */ public void setTimeAttributeStart(Date start); /** * * @return the value. */ public Number getTimeAttributeScaling_factor(); /** * * @param scaling_factor the scaling_factor */ public void setTimeAttributeScaling_factor(Number scaling_factor); /** * Array of logged value, such as temperature. If this is * a single value the dimensionality is * nEntries. However, NXlog can also be used to store * multi dimensional time stamped data such as images. In * this example the dimensionality of values would be value[nEntries,xdim,ydim]. *

* Units: NX_ANY * Type: NX_NUMBER *

* * @return the value. */ public IDataset getValue(); /** * Array of logged value, such as temperature. If this is * a single value the dimensionality is * nEntries. However, NXlog can also be used to store * multi dimensional time stamped data such as images. In * this example the dimensionality of values would be value[nEntries,xdim,ydim]. *

* Units: NX_ANY * Type: NX_NUMBER *

* * @param value the value */ public DataNode setValue(IDataset value); /** * Array of logged value, such as temperature. If this is * a single value the dimensionality is * nEntries. However, NXlog can also be used to store * multi dimensional time stamped data such as images. In * this example the dimensionality of values would be value[nEntries,xdim,ydim]. *

* Units: NX_ANY * Type: NX_NUMBER *

* * @return the value. */ public Number getValueScalar(); /** * Array of logged value, such as temperature. If this is * a single value the dimensionality is * nEntries. However, NXlog can also be used to store * multi dimensional time stamped data such as images. In * this example the dimensionality of values would be value[nEntries,xdim,ydim]. *

* Units: NX_ANY * Type: NX_NUMBER *

* * @param value the value */ public DataNode setValueScalar(Number value); /** * Array of raw information, such as thermocouple voltage *

* Units: NX_ANY * Type: NX_NUMBER *

* * @return the value. */ public IDataset getRaw_value(); /** * Array of raw information, such as thermocouple voltage *

* Units: NX_ANY * Type: NX_NUMBER *

* * @param raw_value the raw_value */ public DataNode setRaw_value(IDataset raw_value); /** * Array of raw information, such as thermocouple voltage *

* Units: NX_ANY * Type: NX_NUMBER *

* * @return the value. */ public Number getRaw_valueScalar(); /** * Array of raw information, such as thermocouple voltage *

* Units: NX_ANY * Type: NX_NUMBER *

* * @param raw_value the raw_value */ public DataNode setRaw_valueScalar(Number raw_value); /** * Description of logged value * * @return the value. */ public IDataset getDescription(); /** * Description of logged value * * @param description the description */ public DataNode setDescription(IDataset description); /** * Description of logged value * * @return the value. */ public String getDescriptionScalar(); /** * Description of logged value * * @param description the description */ public DataNode setDescriptionScalar(String description); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public IDataset getAverage_value(); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param average_value the average_value */ public DataNode setAverage_value(IDataset average_value); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public Double getAverage_valueScalar(); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param average_value the average_value */ public DataNode setAverage_valueScalar(Double average_value); /** * estimated uncertainty (often used: standard deviation) of average_value *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public IDataset getAverage_value_error(); /** * estimated uncertainty (often used: standard deviation) of average_value *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param average_value_error the average_value_error */ public DataNode setAverage_value_error(IDataset average_value_error); /** * estimated uncertainty (often used: standard deviation) of average_value *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public Double getAverage_value_errorScalar(); /** * estimated uncertainty (often used: standard deviation) of average_value *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param average_value_error the average_value_error */ public DataNode setAverage_value_errorScalar(Double average_value_error); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public IDataset getMinimum_value(); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param minimum_value the minimum_value */ public DataNode setMinimum_value(IDataset minimum_value); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public Double getMinimum_valueScalar(); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param minimum_value the minimum_value */ public DataNode setMinimum_valueScalar(Double minimum_value); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public IDataset getMaximum_value(); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param maximum_value the maximum_value */ public DataNode setMaximum_value(IDataset maximum_value); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public Double getMaximum_valueScalar(); /** *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param maximum_value the maximum_value */ public DataNode setMaximum_valueScalar(Double maximum_value); /** * Total time log was taken *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public IDataset getDuration(); /** * Total time log was taken *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param duration the duration */ public DataNode setDuration(IDataset duration); /** * Total time log was taken *

* Type: NX_FLOAT * Units: NX_ANY *

* * @return the value. */ public Double getDurationScalar(); /** * Total time log was taken *

* Type: NX_FLOAT * Units: NX_ANY *

* * @param duration the duration */ public DataNode setDurationScalar(Double duration); /** * Timestamps matching the corresponding cue_index into the * time, value pair. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @return the value. */ public IDataset getCue_timestamp_zero(); /** * Timestamps matching the corresponding cue_index into the * time, value pair. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @param cue_timestamp_zero the cue_timestamp_zero */ public DataNode setCue_timestamp_zero(IDataset cue_timestamp_zero); /** * Timestamps matching the corresponding cue_index into the * time, value pair. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @return the value. */ public Number getCue_timestamp_zeroScalar(); /** * Timestamps matching the corresponding cue_index into the * time, value pair. *

* Type: NX_NUMBER * Units: NX_TIME *

* * @param cue_timestamp_zero the cue_timestamp_zero */ public DataNode setCue_timestamp_zeroScalar(Number cue_timestamp_zero); /** * If missing start is assumed to be the same as for "time". * * @return the value. */ public Date getCue_timestamp_zeroAttributeStart(); /** * If missing start is assumed to be the same as for "time". * * @param start the start */ public void setCue_timestamp_zeroAttributeStart(Date start); /** * If missing start is assumed to be the same as for "time". * * @return the value. */ public Number getCue_timestamp_zeroAttributeScaling_factor(); /** * If missing start is assumed to be the same as for "time". * * @param scaling_factor the scaling_factor */ public void setCue_timestamp_zeroAttributeScaling_factor(Number scaling_factor); /** * Index into the time, value pair matching the corresponding * cue_timestamp. *

* Type: NX_INT *

* * @return the value. */ public IDataset getCue_index(); /** * Index into the time, value pair matching the corresponding * cue_timestamp. *

* Type: NX_INT *

* * @param cue_index the cue_index */ public DataNode setCue_index(IDataset cue_index); /** * Index into the time, value pair matching the corresponding * cue_timestamp. *

* Type: NX_INT *

* * @return the value. */ public Long getCue_indexScalar(); /** * Index into the time, value pair matching the corresponding * cue_timestamp. *

* Type: NX_INT *

* * @param cue_index the cue_index */ public DataNode setCue_indexScalar(Long cue_index); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy