def __init__(self, NA: Union[int, float], Sampling: int = 400, CouplingMode: str = 'Centered', GammaOffset: Union[int, float] = 0, PhiOffset: Union[int, float] = 0, Filter: Union[int, float, bool] = None): self.isDetector = True self.CouplingMode = ('Intensity', CouplingMode) self._GammaOffset, self._PhiOffset = GammaOffset, PhiOffset self._Filter = _Polarization(Filter) self._NA = NA2Angle(NA).Radian self.Mesh = self.SphericalMesh(Sampling=Sampling, MaxAngle=self._NA, PhiOffset=PhiOffset, GammaOffset=GammaOffset, Structured=False) self.Scalar = self.FarField(Num=self.Mesh.Sampling, Structured=False)
def __init__(self, Mode: Union[tuple, list], NA: float, Rotation: Union[int, float] = 0, Sampling: int = 401, GammaOffset: Union[int, float] = 0, PhiOffset: Union[int, float] = 0, Filter: Union[int, float, bool] = None, CouplingMode: str = 'Centered'): self.isDetector = True assert CouplingMode in ['Centered', 'Mean'], Error_MeanCentered if NA > 1 or NA < 0: logging.warning(warning_NAHigh) self.CouplingMode = ('Amplitude', CouplingMode) self._Filter = _Polarization(Filter) self.ModeNumber = Mode self._NA = NA2Angle(NA).Radian self.Mesh = self.SphericalMesh(Sampling=Sampling, MaxAngle=NA2Angle(NA).Radian, PhiOffset=PhiOffset, GammaOffset=GammaOffset, Structured=False) self.Scalar = self.FarField(Num=self.Mesh.Sampling, Structured=False, Rotation=Rotation)
def Filter(self, val): self._Filter = _Polarization(val)
def Polarization(self, val): self._Polarization = _Polarization(val)