28 lines
719 B
Python
28 lines
719 B
Python
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) -> int:
|
|
return len(self.mask)
|