From f097b7f47f778d29172790b12f2788a900068132 Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Mon, 5 Mar 2012 14:20:44 +1100 Subject: [PATCH] update hmm file from Mark r3439 | jgn | 2012-03-05 14:20:44 +1100 (Mon, 05 Mar 2012) | 1 line --- .../lyrebird/config/hmm/hmm_configuration.tcl | 185 +++++++++++++----- 1 file changed, 136 insertions(+), 49 deletions(-) diff --git a/site_ansto/instrument/lyrebird/config/hmm/hmm_configuration.tcl b/site_ansto/instrument/lyrebird/config/hmm/hmm_configuration.tcl index 4f4f9e51..501747d4 100644 --- a/site_ansto/instrument/lyrebird/config/hmm/hmm_configuration.tcl +++ b/site_ansto/instrument/lyrebird/config/hmm/hmm_configuration.tcl @@ -1,49 +1,136 @@ -# Author Jing Chen (jgn@ansto.gove.au) -# Note: all following functions's bodies need to be implemented in real Taipan deployment - -source $cfPath(hmm)/hmm_configuration_common_1.tcl -set sim_mode [SplitReply [hmm_simulation]] - -proc ::histogram_memory::init_OAT_TABLE {} { -} - -proc ::histogram_memory::pre_count {} {} -proc ::histogram_memory::post_count {} {} -proc ::histogram_memory::isc_initialize {} { - # Instrument specific X and Y dimension names - #variable INST_NXC "oat_nxc_eff" - #variable INST_NYC "oat_nyc_eff" - - if [ catch { - ::histogram_memory::init_hmm_objs - if {$::sim_mode == "true"} { - #hmm configure oat_ntc_eff 1 - #hmm configure $INST_NYC 127 - #hmm configure $INST_NXC 127 - } - #BAT_TABLE -init - #CAT_TABLE -init - #SAT_TABLE -init - #OAT_TABLE -init - #FAT_TABLE -init - ::histogram_memory::ic_initialize - - #detector_active_height_mm [expr 5.08 * 192] - #detector_active_width_mm [expr 5.08 * 192] - #detector_active_height_mm lock - #detector_active_width_mm lock - - ::histogram_memory::init_OAT_TABLE - ::histogram_memory::upload_config Filler_defaults - - #set ::histogram_memory::histmem_axes(HOR) /instrument/detector/x_pixel_offset - #set ::histogram_memory::histmem_axes(VER) /instrument/detector/y_pixel_offset - } message ] { - return -code error $message - } -} - -proc histmem {cmd args} { - eval "_histmem $cmd $args" -} -publish histmem user +# Author Jing Chen (jgn@ansto.gove.au) + + +source $cfPath(hmm)/hmm_configuration_common_1.tcl +source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl +set sim_mode [SplitReply [hmm_simulation]] + +proc ::histogram_memory::init_OAT_TABLE {} { + if [ catch { + + OAT_TABLE X -setdata MAX_CHAN 30 + OAT_TABLE Y -setdata MAX_CHAN 1024 + OAT_TABLE X -setdata BMIN -0.5 + OAT_TABLE X -setdata BMAX 29.5 + OAT_TABLE Y -setdata BMIN -0.5 + OAT_TABLE Y -setdata BMAX 1023.5 + + OAT_TABLE -set X { 29.5 28.5 } NXC 30 Y { -0.5 0.5 } NYC 1024 T { 0 200000 } NTC 1 + } message ] { + if {$::errorCode=="NONE"} {return $message} + return -code error $message + } +} + +proc CAT_TABLE {args} { +return { + + + + + + + + + + + +} +} + +proc ::histogram_memory::init_CAT_TABLE {} { + CAT_TABLE -set MESYTEC_MPSD8_CHANNEL_GAINS { + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 + } + CAT_TABLE -set MESYTEC_MPSD8_THRESHOLDS { 10 10 10 10 } + CAT_TABLE -set MESYTEC_TUBE_PAIR_RESISTANCE_RATIOS { + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. + } + CAT_TABLE -set MESYTEC_TUBE_MAGNIFICATIONS { + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. + } + CAT_TABLE -set MESYTEC_TUBE_OFFSETS { + 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. + } + CAT_TABLE -set MESYTEC_TUBE_HISTOGRAM_WEIGHTS { + 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 + } +} + +## +# @brief Return the detector position +proc ::histogram_memory::detector_posn_degrees {} { + return [SplitReply [stth]] +} + +proc ::histogram_memory::pre_count {} {} +proc ::histogram_memory::post_count {} {} +proc ::histogram_memory::isc_initialize {} { + # Instrument specific X and Y dimension names + variable INST_NXC "oat_nxc_eff" + variable INST_NYC "oat_nyc_eff" + + if [ catch { + ::histogram_memory::init_hmm_objs + if {$::sim_mode == "true"} { + hmm configure oat_ntc_eff 1 + hmm configure $INST_NYC 1024 + hmm configure $INST_NXC 30 + } + BAT_TABLE -init +# CAT_TABLE -init + SAT_TABLE -init + OAT_TABLE -init + FAT_TABLE -init + ::histogram_memory::ic_initialize + ::histogram_memory::set_graphtype "two_theta" "boundaries" + +# MJL TODO detector geometry for Lyrebird TBD. Figures need revision during commissioning + # Width = 25mm spacing * 30 tubes = 5000mm (??? degree coverage) + # Height = 1015mm (tube length) + # Radius = 2400mm + detector_active_height_mm 1015 + detector_active_height_mm lock + detector_active_width_mm 5000 + detector_active_width_mm lock + detector_radius_mm 2400.0 + detector_radius_mm lock + + # hmm configure FAT_SIMULATED_EVENT_Y0 $y_bb0 + # hmm configure FAT_SIMULATED_EVENT_Y1 $ybbmax + # hmm configure FAT_SIMULATED_EVENT_X0 $x_bb0 + # hmm configure FAT_SIMULATED_EVENT_X1 $xbbmax + ::histogram_memory::init_OAT_TABLE + ::histogram_memory::init_SAT_TABLE +# ::histogram_memory::init_CAT_TABLE + ::histogram_memory::upload_config Filler_defaults + + set ::histogram_memory::histmem_axes(HOR) /instrument/detector/x_pixel_angular_offset + set ::histogram_memory::histmem_axes(VER) /instrument/detector/y_pixel_offset + } message ] { + if {$::errorCode=="NONE"} {return $message} + return -code error $message + } +} + +proc histmem {cmd args} { + eval "_histmem $cmd $args" +} +publish histmem user + +