source $cfPath(hmm)/hmm_configuration_common_1.tcl set sim_mode [SplitReply [hmm_simulation]] proc ::histogram_memory::init_OAT_TABLE {} { if [ catch { # We don't need a MAX_CHAN parameter for time because the time channel # is scaled by calling the ::histogram_memory::clock_scale function OAT_TABLE X -setdata MAX_CHAN 192 OAT_TABLE Y -setdata MAX_CHAN 192 OAT_TABLE X -setdata BMIN -0.5 OAT_TABLE X -setdata BMAX 191.5 OAT_TABLE Y -setdata BMIN -0.5 OAT_TABLE Y -setdata BMAX 191.5 OAT_TABLE -set X { 191.5 190.5 } NXC 192 Y { -0.5 0.5 } NYC 192 T { 0 20000 } NTC 1 } message ] { if {$::errorCode=="NONE"} {return $message} return -code error $message } } proc ::histogram_memory::pre_count {} {} proc ::histogram_memory::post_count {} {} proc ::histogram_memory::isc_initialize {} { if [ catch { ::histogram_memory::init_hmm_objs if {$::sim_mode == "true"} { hmm configure oat_ntc_eff 1 hmm configure oat_nyc_eff 127 hmm configure oat_nxc_eff 127 } BAT_TABLE -init CAT_TABLE -init SAT_TABLE -init OAT_TABLE -init FAT_TABLE -init ::histogram_memory::ic_initialize detector_active_height_mm 980 detector_active_width_mm 980 # 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::upload_config Filler_defaults ::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_bin ::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_bin } message ] { if {$::errorCode=="NONE"} {return $message} return -code error $message } } proc histmem {cmd args} { eval "_histmem $cmd $args" } publish histmem user