def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01, curvature_s3= 0.01, thickness_l1= 5, thickness_l2= 5, material_l1=1., material_l2=1.,*args,**kwarks): System.__init__(self,*args,**kwarks) self.radius=radius self.curvature_as= curvature_s1 self.curvature_ms=curvature_s2 self.curvature_ps=curvature_s3 self.thickness_al=thickness_l1 self.thickness_pl=thickness_l2 self.material_al=material_l1 self.material_pl=material_l2 __a_lens= SphericalLens(curvature_s1=self.curvature_as, curvature_s2=self.curvature_ms, thickness=self.thickness_al, radius =self.radius, material=self.material_al) __p_lens= SphericalLens(curvature_s1=self.curvature_ms, curvature_s2=self.curvature_ps, thickness=self.thickness_pl, radius =self.radius, material=self.material_pl) self.complist["C1"]=(__a_lens,(0,0,-self.thickness_pl/2.),(0,0,0)) self.complist["C2"]=(__p_lens,(0,0, self.thickness_al/2.),(0,0,0))
def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01, curvature_s3= 0.01, thickness_l1= 5, thickness_l2= 5, material_l1=1., material_l2=1.,*args,**kwarks): System.__init__(self,*args,**kwarks) self.radius=radius self.curvature_as= curvature_s1 self.curvature_ms=curvature_s2 self.curvature_ps=curvature_s3 self.thickness_al=thickness_l1 self.thickness_pl=thickness_l2 self.material_al=material_l1 self.material_pl=material_l2 __a_lens= SphericalLens(curvature_s1=self.curvature_as, curvature_s2=self.curvature_ms, thickness=self.thickness_al, radius =self.radius, material=self.material_al) __p_lens= SphericalLens(curvature_s1=self.curvature_ms, curvature_s2=self.curvature_ps, thickness=self.thickness_pl, radius =self.radius, material=self.material_pl) self.complist["C1"]=(__a_lens,(0,0,-self.thickness_pl/2.),(0,0,0)) self.complist["C2"]=(__p_lens,(0,0, self.thickness_al/2.),(0,0,0))
def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01, curvature_s3= 0.01,curvature_s4= 0.01, thickness_l1= 5,air_gap=5 , thickness_l2= 5, material_l1=1., material_l2=1.,*args,**kwarks): System.__init__(self,*args,**kwarks) self.radius=radius self.curvature_as1= curvature_s1 self.curvature_ps1=curvature_s2 self.curvature_as2=curvature_s3 self.curvature_ps2=curvature_s4 self.thickness_l1=thickness_l1 self.thickness_l2=thickness_l2 self.air_gap=air_gap self.material_l1=material_l1 self.material_l2=material_l2 __a_lens= SphericalLens(curvature_s1=self.curvature_as1, curvature_s2=self.curvature_ps1, thickness=self.thickness_l1, radius =self.radius, material=self.material_l1) __p_lens= SphericalLens(curvature_s1=self.curvature_as2, curvature_s2=self.curvature_ps2, thickness=self.thickness_l2, radius =self.radius, material=self.material_l2) self.complist["C1"]=(__a_lens,(0,0,-(self.thickness_l2+self.air_gap)/2.),(0,0,0)) self.complist["C2"]=(__p_lens,(0,0, (self.thickness_l1+self.air_gap)/2.),(0,0,0))
def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01, curvature_s3= 0.01,curvature_s4= 0.01, thickness_l1= 5,air_gap=5 , thickness_l2= 5, material_l1=1., material_l2=1.,*args,**kwarks): System.__init__(self,*args,**kwarks) self.radius=radius self.curvature_as1= curvature_s1 self.curvature_ps1=curvature_s2 self.curvature_as2=curvature_s3 self.curvature_ps2=curvature_s4 self.thickness_l1=thickness_l1 self.thickness_l2=thickness_l2 self.air_gap=air_gap self.material_l1=material_l1 self.material_l2=material_l2 __a_lens= SphericalLens(curvature_s1=self.curvature_as1, curvature_s2=self.curvature_ps1, thickness=self.thickness_l1, radius =self.radius, material=self.material_l1) __p_lens= SphericalLens(curvature_s1=self.curvature_as2, curvature_s2=self.curvature_ps2, thickness=self.thickness_l2, radius =self.radius, material=self.material_l2) self.complist["C1"]=(__a_lens,(0,0,-(self.thickness_l2+self.air_gap)/2.),(0,0,0)) self.complist["C2"]=(__p_lens,(0,0, (self.thickness_l1+self.air_gap)/2.),(0,0,0))
def __init__(self, size=50.,reflectivity=0.5,material=1., **traits): System.__init__(self,**traits) self.size=size self.reflectivity=reflectivity self.material=material __prism1= RightAnglePrism(width=self.size,height=self.size, material=self.material, reflectivity=self.reflectivity) __prism2= RightAnglePrism(width=self.size,height=self.size, material=self.material,reflectivity=0) self.complist["C1"]=(__prism1,(0,0,0),(0,-pi/2,0)) self.complist["C2"]=(__prism2,(0,0,0),(0,-3*pi/2,0))
def __init__(self, size=50.,reflectivity=0.5,material=1., **traits): System.__init__(self,**traits) self.size=size self.reflectivity=reflectivity self.material=material __prism1= RightAnglePrism(width=self.size,height=self.size, material=self.material, reflectivity=self.reflectivity) __prism2= RightAnglePrism(width=self.size,height=self.size, material=self.material,reflectivity=0) self.complist["C1"]=(__prism1,(0,0,0),(0,-pi/2,0)) self.complist["C2"]=(__prism2,(0,0,0),(0,-3*pi/2,0))
def __init__(self, sd, *args, **kwarks): System.__init__(self, *args, **kwarks) # Calculate the lens total thickness TT = 0 for s in sd[:-1]: TT = TT + s[2] p = -TT / 2 nn = 1 for n in range(1, len(sd)): t0, r0, th0, s0, mc0, mt0 = sd[n - 1] t1, r1, th1, s1, mc1, mt1 = sd[n] if isnan(r0) or r0 == 0: c0 = 0 else: c0 = 1 / r0 if isnan(r1) or r1 == 0: c1 = 0 else: c1 = 1 / r1 if mt0 != "": if mc0 == "Value": mat = float(mt0.replace(",", ".")) else: mat = getattr(material, mc0)[mt0] lens = SphericalLens( curvature_s1=c0, curvature_s2=c1, thickness=th0, radius=s0, material=mat, ) 0, 0, p + th0 / 2 self.complist["C{}".format(nn)] = (lens, (0, 0, p + th0 / 2), (0, 0, 0)) nn = nn + 1 p = p + th0