pre_count does nothing now. Added function to set hmm freq to match chopper freq and extended _histmem with a tochfreq subcommand. r2216 | ffr | 2007-11-01 13:01:39 +1100 (Thu, 01 Nov 2007) | 4 lines
76 lines
2.2 KiB
Tcl
76 lines
2.2 KiB
Tcl
source $cfPath(hmm)/hmm_configuration_common_1.tcl
|
|
|
|
proc ::histogram_memory::pre_count {} {}
|
|
proc ::histogram_memory::post_count {} {}
|
|
proc ::histogram_memory::initialize {} {
|
|
::histogram_memory::_initialize
|
|
|
|
detector_active_height_mm 257.5
|
|
detector_active_width_mm 500
|
|
|
|
set x_bb0 -210.5; set xbbmax 210.5
|
|
set y_bb0 -110.5; set ybbmax 110.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::configure_server Filler_defaults
|
|
|
|
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_bin
|
|
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_bin
|
|
}
|
|
|
|
##
|
|
# @brief Set histogram memory frame frequency to match the current chopper frequency
|
|
proc ::histogram_memory::tochfreq {} {
|
|
if [ catch {
|
|
::chopper::ready?
|
|
set chfreq [::chopper::get_frequency]
|
|
::histogram_memory::set_frame_freq $chfreq EXTERNAL
|
|
} errmsg ] {
|
|
return -code error $errmsg
|
|
}
|
|
}
|
|
|
|
##
|
|
# @brief Extends the core _histmem command with platypus specific subcommands
|
|
#
|
|
# @param tochfreq updates chopper status and then sets histmem frame frequency to match
|
|
# the chopper frequency.
|
|
#
|
|
# NOTE: If the chopper is stopped (ie freq=0) then the histogram frequency will be set to
|
|
# 50Hz with an internal frame_source.\n
|
|
# @see ::histogram_memory::set_frame_freq
|
|
proc histmem {cmd args} {
|
|
if [ catch {
|
|
switch $cmd {
|
|
"tochfreq" {
|
|
::histogram_memory::tochfreq
|
|
}
|
|
default {
|
|
eval "_histmem $cmd $args"
|
|
}
|
|
}
|
|
} errmsg ] {
|
|
return -code error $errmsg
|
|
}
|
|
}
|
|
publish histmem user
|