Data structures

Spectrum class

class EVA.core.data_structures.spectrum.Spectrum(detector=None, run_number=None, x=None, y=None, bin_range=None)

The ‘Spectrum’ dataclass holds the data from a single detector for a single run.

Parameters:
  • detector (str) – string, name of detector.

  • run_number (str) – string, run number for the spectrum.

  • x (ndarray) – numpy array, containing the x-data measured by the detector (histogram bins).

  • y (ndarray) – numpy array, containing y-data measured by the detector (counts per bin).

Run class

class EVA.core.data_structures.run.MetaQObjectABC(name, bases, namespace, /, **kwargs)

Metaclass combining QObject and ABC compatibility.

class EVA.core.data_structures.run.Run(raw, loaded_detectors, run_num, momentum)

Abstract base class for experiment runs. Provides shared logic and enforces a consistent interface for RunNexus and RunBiriani.

get_nonzero_data()

Return list of non-empty Spectrum objects.

Return type:

list[Spectrum]

get_raw()

Return a deep copy of raw data.

Return type:

dict[Spectrum]

is_empty()

Return True if all detectors have no data.

Return type:

bool

abstractmethod read_comment_data()

Return formatted metadata (comment, start time, end time, etc.).

abstractmethod set_corrections(*args, **kwargs)

Reapply all corrections, normalisation, and binning in correct order.

Detector class

class EVA.core.data_structures.detector.DetectorIndices(*values)

Enum class to map detector names to indices.