from enum import Enum


class ExposureCategory(Enum):
    B = 'B'
    C = 'C'
    D = 'D'
    B_C = 'B to C'
    C_B = 'C to B'

    def z_g(self):
        return {
            ExposureCategory.B: 1200.,
            ExposureCategory.C: 900.,
            ExposureCategory.D: 700.,
            ExposureCategory.B_C: (1273., 906.),
            ExposureCategory.C_B: (906., 1273.)
        }[self]

    def alpha(self):
        return {
            ExposureCategory.B: 7.,
            ExposureCategory.C: 9.5,
            ExposureCategory.D: 11.5,
            ExposureCategory.B_C: (6.62, 9.5),
            ExposureCategory.C_B: (9.5, 6.62)
        }[self]

    def is_interpolated(self):
        return self in [ExposureCategory.B_C, ExposureCategory.C_B]

    @classmethod
    def default_value(cls):
        return cls.C.value
