ESBO-ETC/esbo_etc/classes/IRadiant.py

38 lines
1002 B
Python
Raw Normal View History

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):
"""
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
2020-05-15 14:34:16 +02:00
The obstruction factor as A_ob / A_ap.
2020-04-16 09:35:24 +02:00
"""
pass
@abstractmethod
def calcBackground(self) -> SpectralQty:
2020-04-16 09:35:24 +02:00
"""
Calculate the background radiation coming from the component
2020-04-16 09:35:24 +02:00
Returns
-------
signal : SpectralQty
The emitted, reflected or transmitted background radiation
2020-04-16 09:35:24 +02:00
"""
pass