Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
 def Filter(self, val):
     self._Filter = _Polarization(val)
Пример #4
0
 def Polarization(self, val):
     self._Polarization = _Polarization(val)