Files
sics/site_ansto/instrument/reflectometer/config/hmm/hmm_configuration.tcl
Ferdi Franceschini 3a40ea5693 Merged release 2.0 patch-set 1 (RELEASE-2_0P1 )
r2624 | ffr | 2008-06-12 09:05:36 +1000 (Thu, 12 Jun 2008) | 2 lines
2012-11-15 13:39:10 +11:00

94 lines
2.8 KiB
Tcl

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 421
OAT_TABLE Y -setdata MAX_CHAN 221
OAT_TABLE X -setdata BMIN -210.5
OAT_TABLE X -setdata BMAX 210.5
OAT_TABLE Y -setdata BMIN -110.5
OAT_TABLE Y -setdata BMAX 110.5
OAT_TABLE -set X { -210.5 -209.5 } NXC 421 Y { -110.5 -109.5 } NYC 221 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::initialize {} {
if [ catch {
if {$::sim_mode == "true"} {
hmm configure oat_ntc_eff 1
hmm configure oat_nyc_eff 210
hmm configure oat_nxc_eff 210
}
BAT_TABLE -init
CAT_TABLE -init
SAT_TABLE -init
OAT_TABLE -init
FAT_TABLE -init
::histogram_memory::_initialize
detector_active_height_mm 230
detector_active_width_mm 480
# 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
}
}
##
# @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
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
##
# @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 {
set reply [eval "_histmem $cmd $args"]
}
}
return $reply
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
publish histmem user