Definition at line 225 of file general_optics_example.py. 00225 : 00226 inch=0.0254 00227 entrance_y=5.0*inch 00228 y0=2.5*inch #height of main line off table) 00229 my=blue_through_ylf 00230 optics={} 00231 00232 #first, list all mirrors, and point them at each other 00233 optics[my.UVM1]=mir("UVM1", (13*inch, entrance_y, 7.5*inch)) 00234 optics[my.UVM2]=mir("UVM2", (7.5*inch, entrance_y, 7.5*inch)) 00235 optics[my.PS1u]=mir("Blue Peri 1 upper", (8*inch, entrance_y, 37*inch)) 00236 optics[my.PS1d]=mir("Blue Peri 1 lower", (8*inch, y0, 37*inch)) 00237 optics[my.UVM3]=mir("UVM3", (36*inch, y0, 38*inch)) 00238 optics[my.UVM4]=mir("UVM4", (36*inch, y0, 137.5*inch)) 00239 optics[my.UVM5]=mir("UVM5", (43.5*inch, y0, 49.5*inch)) 00240 optics[my.UVM6]=mir("UVM6", (46.5*inch, y0, 137.5*inch)) 00241 optics[my.UVM7]=mir("UVM7", (38*inch, y0, 38*inch)) 00242 optics[my.UVM8]=mir("UVM8", (41.5*inch, y0, 136*inch)) 00243 optics[my.UVM9]=mir("UVM9", (53*inch, y0, 136*inch)) 00244 optics[my.UVM10]=mir("UVM10", (53*inch, y0, 41*inch)) 00245 optics[my.UVM11]=mir("UVM11", (48*inch, y0, 41*inch)) 00246 optics[my.UVM12]=mir("YLF retro", (48*inch, y0,80.5*inch)) 00247 optics[my.YLF_SPLIT]=mir("YLF exit splitter", (48*inch, y0, 47.8*inch)) 00248 00249 optics[my.UVL1]=lens("UVL1", f=+0.75).place_between(optics[my.UVM3], optics[my.UVM4], 4.0*inch) 00250 optics[my.UVL2]=lens("UVL2", f=+1.00).place_between(optics[my.UVL1], optics[my.UVM4], 83*inch-0.0*inch) 00251 00252 optics[my.DEMAG1]=lens("UVL3", f=+0.75).place_between(optics[my.UVM9], optics[my.UVM10], 23.0*inch) 00253 optics[my.DEMAG2]=lens("UVL4", f=+1.00).place_between(optics[my.DEMAG1], optics[my.UVM10], 1.7+5.0*inch) 00254 00255 optics[my.SERR]=null_optic("Serr. Aperture", width=1.0*inch, thickness=0.1*inch).place_between(optics[my.DEMAG1], optics[my.DEMAG2], 3*inch) 00256 optics[my.FILTER]=null_optic("Filter Aperture", width=1.0*inch, thickness=0.1*inch).place_between(optics[my.DEMAG1], optics[my.DEMAG2], 0.75) 00257 00258 looks=[my.UVM1, my.UVM2, my.PS1u, my.PS1d, my.UVM3, my.UVM4, my.UVM5, my.UVM6, my.UVM7, 00259 my.UVM8, my.UVM9, my.UVM10, my.UVM11, my.UVM12, my.YLF_SPLIT] 00260 #align all mirrors 00261 for i in range(1, len(looks)-1): 00262 optics[looks[i]].set_direction(optics[looks[i-1]], optics[looks[i+1]]) 00263 00264 order=[my.UVM1, my.UVM2, my.PS1u, my.PS1d, my.UVM3, my.UVL1, my.UVL2, my.UVM4, my.UVM5, my.UVM6, my.UVM7, 00265 my.UVM8, my.UVM9, my.DEMAG1, my.SERR, my.FILTER, my.DEMAG2, my.UVM10, my.UVM11, my.UVM12, my.YLF_SPLIT] 00266 00267 #specify center and reference as (0,0,0) to make our coordinates absolute 00268 composite_optic.init(self, "blue line", optics, order, (0,0,0), (0,0,0), 0, extras=extras ) 00269 class ir_line(composite_optic):
|