"""CTAO.Science.R1 data model."""

__all__ = ["LocalRunType"]

from enum import StrEnum, auto, nonmember

_NAMESPACE = "CTAO.Science.R1"


class LocalRunType(StrEnum):
    """Local RUN_TYPE from the R1.Event data model specifiation."""

    _namespace = nonmember(_NAMESPACE)

    #: Shower data, with muon candidates, and interleaved calibration events.
    OBSERVATION = auto()

    #: Externally induced pedestals, random acquisition on the sky.
    PEDESTAL_EXTERNAL = auto()

    #: Using the calibration box in the structure.
    PEDESTAL_TELESCOPE = auto()

    #: Using the trigger interface board, or measurements of the dark current of the PMTs.
    PEDESTAL_INTERNAL = auto()

    #: DRS4 and similarDRS4, Electronic Pedestal (measurements of the base line).
    PEDESTAL_ANALOG_BUFFER = auto()

    #: Using a flasher inside the camera or pulse injection, gain measurement.
    CAL_INTERNAL_CAMERA = auto()

    #: Using a flasher in the structure, dedicated flat fielding, linearity scan.
    CAL_INTERNAL_TELESCOPE = auto()

    #: Using the external Illuminator, via White Rabbit forced triggers, dedicated muon runs.
    CAL_EXTERNAL = auto()
