2020-04-16 09:35:24 +02:00
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from .SpectralQty import SpectralQty
|
2020-04-28 17:21:26 +02:00
|
|
|
from typing import Tuple
|
2020-04-16 09:35:24 +02:00
|
|
|
|
|
|
|
|
|
|
|
class IRadiant(ABC):
|
|
|
|
"""
|
2020-04-24 17:11:53 +02:00
|
|
|
Interface for getting the signal and the background radiation of a emitting, reflecting or transmitting component
|
|
|
|
in the beam.
|
2020-04-16 09:35:24 +02:00
|
|
|
"""
|
|
|
|
@abstractmethod
|
2020-05-08 17:21:33 +02:00
|
|
|
def calcSignal(self) -> Tuple[SpectralQty, str, float]:
|
2020-04-16 09:35:24 +02:00
|
|
|
"""
|
|
|
|
Calculate the signal coming from the component
|
|
|
|
|
|
|
|
Returns
|
|
|
|
-------
|
|
|
|
signal : SpectralQty
|
|
|
|
The emitted, reflected or transmitted signal
|
2020-04-28 17:21:26 +02:00
|
|
|
size : str
|
|
|
|
The size of the target.
|
2020-05-08 17:21:33 +02:00
|
|
|
obstruction : float
|
|
|
|
The obstruction factor.
|
2020-04-16 09:35:24 +02:00
|
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
|
|
@abstractmethod
|
2020-04-24 17:11:53 +02:00
|
|
|
def calcBackground(self) -> SpectralQty:
|
2020-04-16 09:35:24 +02:00
|
|
|
"""
|
2020-04-24 17:11:53 +02:00
|
|
|
Calculate the background radiation coming from the component
|
2020-04-16 09:35:24 +02:00
|
|
|
|
|
|
|
Returns
|
|
|
|
-------
|
|
|
|
signal : SpectralQty
|
2020-04-24 17:11:53 +02:00
|
|
|
The emitted, reflected or transmitted background radiation
|
2020-04-16 09:35:24 +02:00
|
|
|
"""
|
|
|
|
pass
|