diff --git a/src/aind_data_schema/components/devices.py b/src/aind_data_schema/components/devices.py index af739013d..4c1fbfdb4 100644 --- a/src/aind_data_schema/components/devices.py +++ b/src/aind_data_schema/components/devices.py @@ -560,6 +560,20 @@ class Lamp(Device): temperature_unit: Optional[TemperatureUnit] = Field(default=None, title="Temperature unit") +class LightAssembly(DataModel): + """Named assembly of a light source and lens""" + + device_type: Literal["Light assembly"] = "Light assembly" + + # required fields + name: str = Field(..., title="Light assembly name") + light: Annotated[Union[Laser, LightEmittingDiode, Lamp], Field(discriminator="device_type")] + lens: Lens = Field(..., title="Lens") + + # optional fields + filter: Optional[Filter] = Field(default=None, title="Filter") + + class ProbePort(DataModel): """Port for a probe connection"""