Files
sics/site_ansto/instrument/rsd/config/hmm/hmm_configuration.tcl
Ferdi Franceschini a173158d0e Create extra hmm objects to fetch xy, yt, t, ..., etc. data from the histogram server.
r2166 | ffr | 2007-09-26 16:22:43 +1000 (Wed, 26 Sep 2007) | 2 lines
2012-11-15 13:25:03 +11:00

129 lines
4.2 KiB
Tcl

set sim_mode [SplitReply [hmm_simulation]]
if {$sim_mode == "true"} {
MakeHM hmm SIM
MakeHM hmm_xy SIM
MakeHM hmm_xt SIM
MakeHM hmm_yt SIM
MakeHM hmm_x SIM
MakeHM hmm_y SIM
MakeHM hmm_t SIM
hmm configure daq Stopped
hmm configure statuscheck false
namespace eval histogram_memory {
proc hmc {_start _preset _mode _pause} {
bm mode $_mode;
bm preset $_preset;
hmm countblock;
}
}
} else {
MakeHM hmm anstohttp;
MakeHM hmm_xy anstohttp;
MakeHM hmm_xt anstohttp;
MakeHM hmm_yt anstohttp;
MakeHM hmm_x anstohttp;
MakeHM hmm_y anstohttp;
MakeHM hmm_t anstohttp;
MakeHMControl_ANSTO hmc bm hmm;
}
source $cfPath(hmm)/hmm_configuration_common_1.tcl
if {$sim_mode == "true"} {
proc ::histogram_memory::initialize {} {
hmm configure hmaddress http://das1-[SplitReply [instrument]]:8080;
hmm configure username spy;
hmm configure password 007;
hmm configure hmDataPath ../HMData;
}
}
# Configure to upload a complete configuration to the histogram server.
# In this case it's the main config file plus the FAT, BAT and OAT files
# in the same direcory as the SICS executable (for this example).
# Alternatives:
# - A partial config could be uploaded instead - e.g. just the main config file,
# in that case the main config file points to a set of FAT, BAT OAT files
# located on the server.
# - The histogram server could configure itself from a config file set
# kept on the local file system (not automated presently, manual control only)
# - Or, no configuration at all could be uploaded, the
# histogram server can configure itself using its default config files.
proc ::histogram_memory::setmode {mode} {
hmm_mode $mode;
set sim_mode [SplitReply [hmm_simulation]];
switch $mode {
pulser {
if {$sim_mode == "true"} {
hmm configure oat_nyc_eff 1024;
hmm configure oat_nxc_eff 64;
hmm configure oat_ntc_eff 1;
}
_hmm_hor_channel_name tube_pair_number
_hmm_hor_axis tube_pair_number
_hmm_hor_axis_alias dcolindex
_hmm_vert_axis vertical_channel_number
_hmm_vert_axis_alias drowindex
hmm configure hmconfigscript "returnconfigfile [SplitReply [hmm_user_configpath]]/anstohm_full_MESYTEC_PULSER.xml"
}
calibration {
if {$sim_mode == "true"} {
hmm configure oat_nyc_eff 1024;
hmm configure oat_nxc_eff 64;
hmm configure oat_ntc_eff 1;
}
_hmm_hor_channel_name tube_pair_number
_hmm_hor_axis tube_pair_number
_hmm_hor_axis_alias dcolindex
_hmm_vert_axis vertical_channel_number
_hmm_vert_axis_alias drowindex
hmm configure hmconfigscript "returnconfigfile [SplitReply [hmm_user_configpath]]/anstohm_full_nofolding.xml"
}
normal -
default {
if {$sim_mode == "true"} {
hmm configure oat_nyc_eff 512;
hmm configure oat_nxc_eff 128;
hmm configure oat_ntc_eff 1;
}
_hmm_hor_channel_name horizontal_channel_number
_hmm_hor_axis polar_angle
_hmm_hor_axis_alias dtheta
_hmm_vert_axis vertical_channel_number
_hmm_vert_axis_alias drowindex
::histogram_memory::configure_server Filler_defaults
}
}
}
proc ::histogram_memory::initialize {} {
::histogram_memory::_initialize
detector_active_height_mm 500
detector_active_width_mm 500
set x_bin0 -210.5; set x_binmax 210.5
set y_bin0 -210.5; set y_binmax 210.5
set x_binwidth 1
if {[expr {$x_binmax - $x_bin0}] > 0} {
set x_bin1 [expr {$x_bin0+$x_binwidth}]
} else {
set x_bin1 [expr {$x_bin0-$x_binwidth}]
}
set y_binwidth 1
if {[expr {$y_binmax - $y_bin0}] > 0} {
set y_bin1 [expr {$y_bin0+$y_binwidth}]
} else {
set y_bin1 [expr {$y_bin0-$y_binwidth}]
}
OAT_TABLE -init X_MIN $x_bin0 X_MAX $x_binmax Y_MIN $y_bin0 Y_MAX $y_binmax
# We default to one big bin for time
set t_bin0 [OAT_TABLE -get T_MIN]
set t_bin1 [OAT_TABLE -get T_MAX]
OAT_TABLE X "$x_bin0 $x_bin1" Y "$y_bin0 $y_bin1" T "$t_bin0 $t_bin1"
::histogram_memory::configure_server Filler_defaults
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_pixel_offset
}