def initialiaze_as_wolter_1(cls,p1,q1,z0): theta1 = 0. alpha1 = 0. print(q1) print(2*z0) print("dof=%f" %(2*z0-q1)) oe1 = Optical_element.initialize_as_surface_conic_paraboloid_from_focal_distances(p1, 0., theta1, alpha1, "p", 2*z0-q1) oe2 = Optical_element.initialize_my_hyperboloid(p=0., q=q1, theta=90 * np.pi / 180, alpha=0, wolter=1, z0=z0,distance_of_focalization=2*z0-q1) return CompoundOpticalElement(oe_list=[oe1,oe2],oe_name="Wolter 1")
def initialiaze_as_wolter_2(cls,p1,q1,z0): #q1 = - q1 focal = q1+2*z0 print("focal=%f" %(focal)) theta1 = 0. alpha1 = 0. oe1 = Optical_element.initialize_as_surface_conic_paraboloid_from_focal_distances(p1,0.,theta1,alpha1,"p", focal) oe2 = Optical_element.initialize_my_hyperboloid(p=0. ,q=-(focal-2*z0), theta=90*np.pi/180, alpha=0, wolter=2, z0=z0, distance_of_focalization=focal) return CompoundOpticalElement(oe_list=[oe1,oe2],oe_name="Wolter 2")