Definition at line 488 of file general_optics_example.py. 00488 : 00489 my=blue_compressor 00490 y_offset=my.y_offset 00491 grate=grating(my.GRATE, angle=theta1, center=(0,y_offset/2, 0), pitch=pitch, order=1, justify=-.8, height=0.05, width=0.1) 00492 littrow, beta=grate.degree_angles(theta1, lam0) 00493 vertex_dist=(clen-grating_spot_offset*sin(beta*deg))*0.5 00494 retro_beam_offset=grating_spot_offset*math.cos(beta*deg)*0.5 00495 beam=basebeam.clone().set_lambda(lam0) 00496 grate.transport_to_here(beam) 00497 grate.transform(beam) 00498 return_x=-grating_spot_offset*math.cos(theta1*deg) 00499 vretvertex=Numeric.array((return_x, y_offset/2, -0.22)) 00500 yvec=Numeric.array((0.,y_offset,0.)) 00501 ir1, ir2 = self.setup_retro_standard(beam, vertex_dist, retro_beam_offset, inside_retro_err, y_offset/2) 00502 vr1=reflector('vert retro 1', angle=0, center=vretvertex-yvec/2, width=0.025, height=0.05, thickness=0.01) 00503 vr2=reflector('vert retro 2', angle=0, center=vretvertex+yvec/2, width=0.025, height=0.05) 00504 vr1.set_direction((return_x,0,0), vr2) 00505 vr2.set_direction(vr1, (return_x, y_offset, 0)) 00506 return {my.GRATE:grate, my.IR1:ir1, my.IR2:ir2, my.VR1:vr1, my.VR2:vr2 } 00507 def __init__(self, theta1, clen, lambda0, center=(0,0,0), angle=0, **extras):
|