# Author Jing Chen (jgn@ansto.gove.au) fileeval $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 16 OAT_TABLE Y -setdata MAX_CHAN 1024 OAT_TABLE X -setdata BMIN -0.5 OAT_TABLE X -setdata BMAX 15.5 OAT_TABLE Y -setdata BMIN -0.5 OAT_TABLE Y -setdata BMAX 1023.5 set clock_scale 1000 set freq 50 hmm configure fat_clock_scale $clock_scale hmm configure fat_frame_frequency $freq hmm configure fat_frame_source INTERNAL OAT_TABLE -set X { -0.5 0.5 } NXC 16 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 } CAT_TABLE -set MESYTEC_MPSD8_THRESHOLDS { 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. } CAT_TABLE -set MESYTEC_TUBE_MAGNIFICATIONS { 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. } CAT_TABLE -set MESYTEC_TUBE_HISTOGRAM_WEIGHTS { 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 16 } 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 Kookaburra TBD. Figures need revision during commissioning # Width = 25mm spacing * 16 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 ] { clientput ERROR:([info level 0]) $message if {$::errorCode=="NONE"} {return $message} return -code error $message } } proc histmem {cmd args} { eval "_histmem $cmd $args" } publish histmem user