def analysis.general_optics_example.show_table (  ) 

Definition at line 709 of file general_optics_example.py.

00709                 :
00710     inch=0.0254
00711     lambda0=1.054e-6
00712     spitfire_exit=Numeric.array((2*inch, 5*inch, -0.65))
00713     compressor_entrance=Numeric.array((45.5*inch, 2.5*inch, 46.5*inch))
00714     
00715     optics={}
00716     BLUELINE='bl'
00717     SPLIT='split'
00718     START='start'
00719     COMP='compressor'
00720     QUAD='quadrupler'
00721     IR='ir'
00722     IR_COMP='ir compressor'
00723     BE_TURN='be_turn'
00724     IZ_SCREEN='iz'
00725     
00726     optics[START]=null_optic("start", spitfire_exit)
00727     optics[BLUELINE]=blueline=blue_through_ylf()    
00728     optics[SPLIT]=split1=reflector("splitter1", center=(2*inch, 5*inch, 3*inch))
00729     optics[IR]=irline=ir_line()
00730     
00731     comp=optics[COMP]=blue_compressor(38.5, 1.28, lambda0, center=compressor_entrance, angle=270)
00732     mainbeam=beam( spitfire_exit, qtens(lambda0, spitfire.q0), lambda0)
00733     #print mainbeam.q
00734     split1.set_direction(spitfire_exit, blueline)
00735     blueline.set_entrance_direction(split1)
00736     blueline.set_exit_direction(comp)
00737     comp.rotate_to_axis(blueline)
00738     q=optics[QUAD]=quadrupler(center=(40*inch, 2.5*inch, 34.5*inch), from_optic=comp[blue_compressor.TM1])
00739     comp.set_exit_direction(q)
00740     q.set_entrance_direction(comp)
00741     blue_sys=composite_optic("blue_sys", optics, [START, SPLIT, BLUELINE, COMP, QUAD], (0,0,0), (0,0,0), 0)
00742     irline.set_entrance_direction(spitfire_exit)
00743     
00744     #align compressor table to output of main IR line
00745     ir_sys=composite_optic("ir_sys", optics, [START, IR], (0,0,0), (0,0,0), 0).clone()
00746     pointer=trace_path(ir_sys, mainbeam.clone())[-1]
00747     pointer.free_drift(1.0)
00748     optics[IR_COMP]=ircomp=ir_compressor(center=pointer.x0, angle=math.atan(0.2)/deg)
00749     ircomp.set_entrance_direction(irline)
00750 
00751     #now, align IZ
00752     ir_sys=composite_optic("ir_sys", optics, [START, IR, IR_COMP], (0,0,0), (0,0,0), 0).clone()
00753     pointer=trace_path(ir_sys, mainbeam.clone())[-1]
00754     pointer.free_drift(1.0)
00755     bemir=optics[BE_TURN]=reflector("be turn mirror", center=pointer.x0, angle=45.0)
00756     bemir.transport_to_here(pointer).transform(pointer)
00757     pointer.free_drift(0.1)
00758     dz=pointer.q.next_waist()
00759     pointer.free_drift(dz)
00760     optics[IZ_SCREEN]=null_optic("IZ", pointer.x0)
00761     ir_sys=composite_optic("ir_sys", optics, [START, IR, IR_COMP, BE_TURN, IZ_SCREEN], (0,0,0), (0,0,0), 0)
00762     
00763     whole_table=composite_optic("whole table", optics, [START, SPLIT, BLUELINE, COMP, QUAD, IR, IR_COMP, BE_TURN, IZ_SCREEN], (0,0,0), (0,0,0), 0)
00764     
00765     
00766     ir_trace=trace_path(ir_sys, mainbeam.clone())
00767     ir_trace.color=graphite.red
00768     blue_trace=trace_path(blue_sys, mainbeam.clone())
00769     blue_trace.color=graphite.blue
00770     
00771     if table_layout:
00772         g=draw_everything({"sys":whole_table}, ir_trace, (-.25,5), (0,2.5), three_d=0)
00773         draw_trace(g, blue_trace)
00774         
00775         #g=draw_everything({"sys":sys}, trace, (0.5,1.1), (0.8,1.1), three_d=0)
00776         #g=draw_everything({"sys":sys}, trace, (0.7,1.3), (0.9,1.2), three_d=0)
00777         if show_qd:
00778             graphite.genOutput(g,'QD',canvasname="Compressor layout", size=(900,500))
00779         if show_pdf:
00780             graphite.genOutput(g,'PDF',canvasname="Tablelayout", size=(900,500))
00781     #print trace[0]
00782     plotq(blue_trace)
00783     
00784     if 0:
00785         glabel=ircomp.mark_label(ircomp.INPUT)
00786         m=ir_trace[(glabel,0)]
00787         print "\n\n**start**\n\n"
00788         print m.incoming_direction, m.direction()
00789         print m.incoming_q
00790         print m.incoming_q.qi_moments()[1:3]
00791         print m.incoming_q.q_moments()[1:3]
00792         print m.incoming_q.qit, "\n"
00793         print m.localize_transform_tensor
00794         print m.footprint_q
00795         print m.footprint_q.qi_moments()[1:3]
00796         print m.footprint_q.q_moments()[1:3]
00797         print m.footprint_q.qit, "\n"
00798         print m.globalize_transform_tensor
00799         print m.q
00800         print m.q.qi_moments()[1:3]
00801         print m.q.q_moments()[1:3]
00802         print m.q.qit, "\n"
00803 
00804     glabel=ircomp.mark_label(ircomp.INPUT)
00805     #endpoint=ir_trace[(glabel,0)]  #get first hit on optic <glabel>
00806     endpoint=ir_trace[-1]
00807     q=endpoint.q
00808     
00809     t, qx0, qy0=q.qi_moments()
00810     theta=math.atan2(t[0,1].real, t[0,0].real)/deg
00811     qxx, qyy = endpoint.transform_q_to_table(q)
00812     dzx, dzy = (1e6/qxx).real, (1e6/qyy).real
00813     print ("qxx = %.1f, dzx = %.0f, qyy=%.1f, dzy=%.0f, (in um), theta=%.1f deg" % 
00814             (q.rw(qxx)[1]*1e6, dzx, q.rw(qyy)[1]*1e6, dzy, theta ) )
00815 
00816 show_pdf=0
00817 show_qd=1
00818 table_layout=1
00819 
00820 show_table()
00821     
00822 #doit_bc(38.5, 1.28, 1.054e-6, 1)
#doit_bc(38.5, 1.28, 1.054e-6, 1)


Generated on Wed Nov 21 10:18:32 2007 for analysis by  doxygen 1.5.4