32 lines
812 B
Python
32 lines
812 B
Python
from typing import Literal
|
|
|
|
from finesse.model import Node
|
|
from finesse.components.general import borrows_nodes
|
|
|
|
from finesse.components.readout import ReadoutDC
|
|
from finesse.detectors.general import MaskedDetector
|
|
|
|
|
|
@borrows_nodes()
|
|
class MaskedReadoutDC(ReadoutDC, MaskedDetector):
|
|
def __init__(
|
|
self,
|
|
name: str,
|
|
optical_node: Node,
|
|
*,
|
|
output_detectors: bool = False,
|
|
pdtype: None | str | dict[str, str] = None,
|
|
):
|
|
super().__init__(
|
|
name,
|
|
optical_node,
|
|
output_detectors=output_detectors,
|
|
pdtype=pdtype,
|
|
)
|
|
MaskedDetector.__init__(self, name)
|
|
|
|
@property
|
|
def has_mask(
|
|
self,
|
|
) -> Literal[False]: # should return true here, but cannot override
|
|
return False
|