## # @file # A guide configuration table where each line describes the setup # for a mode of operation. # The table will have a corresponding interpretation list which provides # commands to setup the instrument. namespace eval optics { ## # @brief These arrays map the component identifiers (G, MT, etc) to the # position index for each guide motor (c1, c2 ... c9) array set c1_map {G 1 MT 2 P 3} array set c2_map {MT 1 G 2 A 3} array set c3_map {MT 1 G 2 A 3} array set c4_map {MT 1 G 2 A 3} array set c5_map {MT 1 G 2 A 3} array set c6_map {MT 1 G 2 A 3} array set c7_map {MT 1 G 2 A 3} array set c8_map {MT 1 G 2 A 3} array set c9_map {L 1 MT 2 G 3 A 4 LP 5} # The guide configuration table is indexed by a configuration # identifier (ga, mt, lp, etc). Each row has two elements, # 1. A list of components selected for each guide (MT A ... etc) # 2. The entrance aperature position in mm # Eg $guide_configuration(p2) returns the following list # {{P G A A A A A A A } 6934} array set guide_configuration { ga {{MT A A A A A A A A } 675} mt {{MT MT MT MT MT MT MT MT MT} 675} lp {{MT MT MT MT MT MT MT MT LP} 675} lens {{MT A A A A A A A L } 675} p1 {{P A MT MT MT MT MT MT MT} 4621} p1lp {{P A MT MT MT MT MT MT LP} 4621} p1lens {{P A MT MT MT MT MT MT L } 4621} g1 {{G A A A A A A A A } 4929} p2 {{P G A A A A A A A } 6934} g2 {{G G A A A A A A A } 6934} p3 {{P G G A A A A A A } 8949} g3 {{G G G A A A A A A } 8949} p4 {{P G G G A A A A A } 10955} g4 {{G G G G A A A A A } 10955} p5 {{P G G G G A A A A } 12943} g5 {{G G G G G A A A A } 12943} p6 {{P G G G G G A A A } 14970} g6 {{G G G G G G A A A } 14970} p7 {{P G G G G G G A A } 16971} g7 {{G G G G G G G A A } 16971} p8 {{P G G G G G G G A } 18937} g8 {{G G G G G G G G A } 18937} p9 {{P G G G G G G G G } 19925} g9 {{G G G G G G G G G } 19925} } # This list maps the motor names to columns of the # guide_configuration table. set guide_configuration_columns { c1 c2 c3 c4 c5 c6 c7 c8 c9 } } namespace eval optics { variable guide_configuration variable guide_configuration_columns }