Source code for semi_cr.core.lab.pins.pins
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from semi_cr.core.lab.devices.rf_device import BaseRFDevice
from semi_cr.core.lab.devices.semiconductor import BaseSemiConductingDevice
from semi_cr.core.lab.pins.base import BasePinChannel
[docs]
class DCPinChannel(BasePinChannel):
def __post_init__(self):
try:
super().__post_init__()
except AttributeError:
pass
self.parent = BaseSemiConductingDevice
[docs]
class Gate(DCPinChannel):
pass
[docs]
class Ohmic(DCPinChannel):
pass
[docs]
class Source(Ohmic):
def __init__(
self,
parent,
name: str,
instruments=None,
**kwargs
):
super().__init__(
parent,
name,
instruments=instruments,
**kwargs,
)
[docs]
class Drain(Ohmic):
def __init__(
self,
parent,
name: str,
instruments=None,
**kwargs,
):
super().__init__(
parent,
name,
instruments=instruments,
**kwargs,
)
[docs]
class Plunger(Gate):
pass
[docs]
class Screening(Gate):
pass
[docs]
class Cutter(Gate):
pass
[docs]
class Barrier(Gate):
pass
[docs]
class RFPinChannel(BasePinChannel):
def __post_init__(self):
try:
super().__post_init__()
except AttributeError:
pass
self.parent = BaseRFDevice
[docs]
class RFOutput(RFPinChannel):
pass