Source code for elli.result

# Encoding: utf-8


[docs]class Result: """Record of a simulation result.""" __result = None @property def psi(self): return self.__result.psi @property def delta(self): return self.__result.delta @property def rho(self): return self.__result.rho @property def rho_matrix(self): return self.__result.rho_matrix @property def psi_matrix(self): return self.__result.psi_matrix @property def delta_matrix(self): return self.__result.delta_matrix @property def mueller_matrix(self): return self.__result.mueller_matrix @property def jones_matrix_r(self): return self.__result.jones_matrix_r @property def jones_matrix_t(self): return self.__result.jones_matrix_t @property def jones_matrix_rc(self): return self.__result.jones_matrix_rc @property def jones_matrix_tc(self): return self.__result.jones_matrix_tc @property def R(self): return self.__result.R @property def T(self): return self.__result.T @property def Rc(self): return self.__result.Rc @property def Tc(self): return self.__result.Tc def __init__(self, solver: "Solver") -> None: """ """ self.__result = solver
# def get(self, name): # """Return the data for the requested coefficient 'name'. # # Examples for 'name'... # 'r_sp' : Amplitude reflection coefficient from 's' to 'p' polarization. # 'r_LR' : Reflection from circular right to circular left polarization. # 'T_pp' : Power transmission coefficient from 'p' to 'p' polarization. # 'Ψ_ps', 'Δ_pp' : Ellipsometry parameters. # # Note : 'Ψ', 'Δ' are shortcuts for 'Ψ_pp' and 'Δ_pp', which are the only # non zero parameters for samples with isotropic layers. # # For more information about the definition of the... # * ellipsomtery parameters see getEllipsometryParameters() # * circular polarization, see getCircularJones() # # Returns : array of values # """ # param = name[0] # # # Read the requested indices... # (i, j) = map(self._polarIndex, name[2:4]) if len(name) > 1 else (0, 0) # # # Select the requested array... # if param == 'r': # M = self.Tc_ri if self.circular else self.T_ri # elif param == 't': # M = self.Tc_ti if self.circular else self.T_ti # elif param == 'R': # M = self.Rc if self.circular else self.R # elif param == 'T': # M = self.Tc if self.circular else self.T # elif param == 'Ψ' or param == 'psi': # M = self.Psi # elif param == 'Δ' or param == 'delta': # M = self.Delta # # # Return the requested data... # return M[..., i, j] # # def _polarIndex(self, char): # """Return polarization index for character 'char'. # # Returned value : 'p', 'L' -> 0 # 's', 'R' -> 1 # """ # if char in ['p', 'L']: # return 0 # elif char in ['s', 'R']: # return 1