source $cfPath(hmm)/hmm_configuration_common_1.tcl source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl set sim_mode [SplitReply [hmm_simulation]] ##\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::initialize {} { if {$::sim_mode == "true"} { hmm configure oat_ntc_eff 1 hmm configure oat_nyc_eff 512 hmm configure oat_nxc_eff [expr 480*8 - 1] } ::histogram_memory::_initialize ::histogram_memory::two_theta -boundaries detector_active_height_mm 200 detector_active_width_mm 500 detector_radius_mm 700.0 set x_bb0 991.5; set xbbmax -0.5 set y_bb0 0; set ybbmax 511.5 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 set x_binwidth 1 if {[expr {$xbbmax - $x_bb0}] > 0} { set x_bb1 [expr {$x_bb0+$x_binwidth}] } else { set x_bb1 [expr {$x_bb0-$x_binwidth}] } set y_binwidth 1 if {[expr {$ybbmax - $y_bb0}] > 0} { set y_bb1 [expr {$y_bb0+$y_binwidth}] } else { set y_bb1 [expr {$y_bb0-$y_binwidth}] } OAT_TABLE -init X_MIN $x_bb0 X_MAX $xbbmax Y_MIN $y_bb0 Y_MAX $ybbmax # We default to one big bin for time set t_bb0 [OAT_TABLE -get T_MIN] set t_bb1 [OAT_TABLE -get T_MAX] OAT_TABLE X "$x_bb0 $x_bb1" Y "$y_bb0 $y_bb1" T "$t_bb0 $t_bb1" ::histogram_memory::upload_config Filler_defaults ::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset ::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta } proc histmem {cmd args} { eval "_histmem $cmd $args" } publish histmem user