Add convenience histmem command wrapper for command line users.
Improve simulation support. r2226 | ffr | 2007-11-05 13:25:15 +1100 (Mon, 05 Nov 2007) | 3 lines
This commit is contained in:
committed by
Douglas Clowes
parent
008249dc18
commit
e8982428e0
@@ -1,106 +1,13 @@
|
|||||||
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
|
source $cfPath(hmm)/hmm_configuration_common_1.tcl
|
||||||
source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl
|
source $cfPath(hmm)/hmm_cylindrical_detector_configuration.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 stitch_nyc 512;
|
|
||||||
hmm configure stitch_nxc [expr 480*8 - 1];
|
|
||||||
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 y_pixel_offset;
|
|
||||||
_hmm_vert_axis_alias dvaxis;
|
|
||||||
hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_pulser.xml";
|
|
||||||
}
|
|
||||||
calibration {
|
|
||||||
if {$sim_mode == "true"} {
|
|
||||||
hmm configure stitch_nyc 512;
|
|
||||||
hmm configure stitch_nxc [expr 480*8 - 1];
|
|
||||||
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 y_pixel_offset;
|
|
||||||
_hmm_vert_axis_alias dvaxis;
|
|
||||||
hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_calibration.xml";
|
|
||||||
}
|
|
||||||
normal -
|
|
||||||
default {
|
|
||||||
if {$sim_mode == "true"} {
|
|
||||||
hmm configure stitch_nyc 512;
|
|
||||||
hmm configure stitch_nxc [expr 480*8 - 1];
|
|
||||||
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 y_pixel_offset;
|
|
||||||
_hmm_vert_axis_alias dvaxis;
|
|
||||||
::histogram_memory::configure_server Filler_defaults
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
##\brief Return the detector position
|
##\brief Return the detector position
|
||||||
proc ::histogram_memory::detector_posn_degrees {} {
|
proc ::histogram_memory::detector_posn_degrees {} {
|
||||||
return [SplitReply [stth]]
|
return [SplitReply [stth]]
|
||||||
}
|
}
|
||||||
|
proc ::histogram_memory::pre_count {} {}
|
||||||
|
proc ::histogram_memory::post_count {} {}
|
||||||
proc ::histogram_memory::initialize {} {
|
proc ::histogram_memory::initialize {} {
|
||||||
::histogram_memory::_initialize
|
::histogram_memory::_initialize
|
||||||
::histogram_memory::two_theta -centres
|
::histogram_memory::two_theta -centres
|
||||||
@@ -108,27 +15,36 @@ proc ::histogram_memory::initialize {} {
|
|||||||
detector_active_height_mm 200
|
detector_active_height_mm 200
|
||||||
detector_active_width_mm 500
|
detector_active_width_mm 500
|
||||||
detector_radius_mm 700.0
|
detector_radius_mm 700.0
|
||||||
set x_bin0 991.5; set x_binmax -0.5
|
set x_bb0 991.5; set xbbmax -0.5
|
||||||
set y_bin0 0; set y_binmax 511.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
|
set x_binwidth 1
|
||||||
if {[expr {$x_binmax - $x_bin0}] > 0} {
|
if {[expr {$xbbmax - $x_bb0}] > 0} {
|
||||||
set x_bin1 [expr {$x_bin0+$x_binwidth}]
|
set x_bb1 [expr {$x_bb0+$x_binwidth}]
|
||||||
} else {
|
} else {
|
||||||
set x_bin1 [expr {$x_bin0-$x_binwidth}]
|
set x_bb1 [expr {$x_bb0-$x_binwidth}]
|
||||||
}
|
}
|
||||||
set y_binwidth 1
|
set y_binwidth 1
|
||||||
if {[expr {$y_binmax - $y_bin0}] > 0} {
|
if {[expr {$ybbmax - $y_bb0}] > 0} {
|
||||||
set y_bin1 [expr {$y_bin0+$y_binwidth}]
|
set y_bb1 [expr {$y_bb0+$y_binwidth}]
|
||||||
} else {
|
} else {
|
||||||
set y_bin1 [expr {$y_bin0-$y_binwidth}]
|
set y_bb1 [expr {$y_bb0-$y_binwidth}]
|
||||||
}
|
}
|
||||||
OAT_TABLE -init X_MIN $x_bin0 X_MAX $x_binmax Y_MIN $y_bin0 Y_MAX $y_binmax
|
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
|
# We default to one big bin for time
|
||||||
set t_bin0 [OAT_TABLE -get T_MIN]
|
set t_bb0 [OAT_TABLE -get T_MIN]
|
||||||
set t_bin1 [OAT_TABLE -get T_MAX]
|
set t_bb1 [OAT_TABLE -get T_MAX]
|
||||||
OAT_TABLE X "$x_bin0 $x_bin1" Y "$y_bin0 $y_bin1" T "$t_bin0 $t_bin1"
|
OAT_TABLE X "$x_bb0 $x_bb1" Y "$y_bb0 $y_bb1" T "$t_bb0 $t_bb1"
|
||||||
::histogram_memory::configure_server Filler_defaults
|
::histogram_memory::configure_server Filler_defaults
|
||||||
|
|
||||||
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
||||||
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
|
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc histmem {cmd args} {
|
||||||
|
eval "_histmem $cmd $args"
|
||||||
|
}
|
||||||
|
publish histmem user
|
||||||
|
|||||||
@@ -1,121 +1,55 @@
|
|||||||
set sim_mode [SplitReply [hmm_simulation]]
|
|
||||||
if {$sim_mode == "true"} {
|
|
||||||
MakeHM hmm 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;
|
|
||||||
MakeHMControl_ANSTO hmc bm hmm;
|
|
||||||
}
|
|
||||||
|
|
||||||
source $cfPath(hmm)/hmm_configuration_common_1.tcl
|
source $cfPath(hmm)/hmm_configuration_common_1.tcl
|
||||||
source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl
|
source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl
|
||||||
if {$sim_mode == "true"} {
|
set sim_mode [SplitReply [hmm_simulation]]
|
||||||
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 $cfPath(hmm)/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 $cfPath(hmm)/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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
##\brief Return the detector position
|
##\brief Return the detector position
|
||||||
proc ::histogram_memory::detector_posn_degrees {} {
|
proc ::histogram_memory::detector_posn_degrees {} {
|
||||||
return [SplitReply [stth]]
|
return [SplitReply [stth]]
|
||||||
}
|
}
|
||||||
|
proc ::histogram_memory::pre_count {} {}
|
||||||
|
proc ::histogram_memory::post_count {} {}
|
||||||
proc ::histogram_memory::initialize {} {
|
proc ::histogram_memory::initialize {} {
|
||||||
|
if {$::sim_mode == "true"} {
|
||||||
|
hmm configure oat_ntc_eff 1
|
||||||
|
hmm configure oat_nyc_eff 1024
|
||||||
|
hmm configure oat_nxc_eff 64
|
||||||
|
}
|
||||||
::histogram_memory::_initialize
|
::histogram_memory::_initialize
|
||||||
::histogram_memory::two_theta -centres
|
::histogram_memory::two_theta -boundaries
|
||||||
|
|
||||||
detector_active_height_mm 335
|
detector_active_height_mm 335
|
||||||
detector_active_width_mm 500
|
detector_active_width_mm 500
|
||||||
detector_radius_mm 1250.0
|
detector_radius_mm 1250.0
|
||||||
set x_bin0 63.5; set x_binmax -0.5
|
set x_bb0 -0.5; set xbbmax 63.5
|
||||||
set y_bin0 -0.5; set y_binmax 1023.5
|
set y_bb0 -0.5; set ybbmax 1023.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
|
set x_binwidth 1
|
||||||
if {[expr {$x_binmax - $x_bin0}] > 0} {
|
if {[expr {$xbbmax - $x_bb0}] > 0} {
|
||||||
set x_bin1 [expr {$x_bin0+$x_binwidth}]
|
set x_bb1 [expr {$x_bb0+$x_binwidth}]
|
||||||
} else {
|
} else {
|
||||||
set x_bin1 [expr {$x_bin0-$x_binwidth}]
|
set x_bb1 [expr {$x_bb0-$x_binwidth}]
|
||||||
}
|
}
|
||||||
set y_binwidth 1
|
set y_binwidth 1
|
||||||
if {[expr {$y_binmax - $y_bin0}] > 0} {
|
if {[expr {$ybbmax - $y_bb0}] > 0} {
|
||||||
set y_bin1 [expr {$y_bin0+$y_binwidth}]
|
set y_bb1 [expr {$y_bb0+$y_binwidth}]
|
||||||
} else {
|
} else {
|
||||||
set y_bin1 [expr {$y_bin0-$y_binwidth}]
|
set y_bb1 [expr {$y_bb0-$y_binwidth}]
|
||||||
}
|
}
|
||||||
OAT_TABLE -init X_MIN $x_bin0 X_MAX $x_binmax Y_MIN $y_bin0 Y_MAX $y_binmax
|
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
|
# We default to one big bin for time
|
||||||
set t_bin0 [OAT_TABLE -get T_MIN]
|
set t_bb0 [OAT_TABLE -get T_MIN]
|
||||||
set t_bin1 [OAT_TABLE -get T_MAX]
|
set t_bb1 [OAT_TABLE -get T_MAX]
|
||||||
OAT_TABLE X "$x_bin0 $x_bin1" Y "$y_bin0 $y_bin1" T "$t_bin0 $t_bin1"
|
OAT_TABLE X "$x_bb0 $x_bb1" Y "$y_bb0 $y_bb1" T "$t_bb0 $t_bb1"
|
||||||
::histogram_memory::configure_server Filler_defaults
|
::histogram_memory::configure_server Filler_defaults
|
||||||
|
|
||||||
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
||||||
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
|
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc histmem {cmd args} {
|
||||||
|
eval "_histmem $cmd $args"
|
||||||
|
}
|
||||||
|
publish histmem user
|
||||||
|
|||||||
@@ -1,128 +1,45 @@
|
|||||||
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
|
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::pre_count {} {}
|
||||||
|
proc ::histogram_memory::post_count {} {}
|
||||||
proc ::histogram_memory::initialize {} {
|
proc ::histogram_memory::initialize {} {
|
||||||
::histogram_memory::_initialize
|
::histogram_memory::_initialize
|
||||||
|
|
||||||
detector_active_height_mm 500
|
detector_active_height_mm 500
|
||||||
detector_active_width_mm 500
|
detector_active_width_mm 500
|
||||||
|
|
||||||
set x_bin0 -210.5; set x_binmax 210.5
|
set x_bb0 -210.5; set xbbmax 210.5
|
||||||
set y_bin0 -210.5; set y_binmax 210.5
|
set y_bb0 -210.5; set ybbmax 210.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
|
set x_binwidth 1
|
||||||
if {[expr {$x_binmax - $x_bin0}] > 0} {
|
if {[expr {$xbbmax - $x_bb0}] > 0} {
|
||||||
set x_bin1 [expr {$x_bin0+$x_binwidth}]
|
set x_bb1 [expr {$x_bb0+$x_binwidth}]
|
||||||
} else {
|
} else {
|
||||||
set x_bin1 [expr {$x_bin0-$x_binwidth}]
|
set x_bb1 [expr {$x_bb0-$x_binwidth}]
|
||||||
}
|
}
|
||||||
set y_binwidth 1
|
set y_binwidth 1
|
||||||
if {[expr {$y_binmax - $y_bin0}] > 0} {
|
if {[expr {$ybbmax - $y_bb0}] > 0} {
|
||||||
set y_bin1 [expr {$y_bin0+$y_binwidth}]
|
set y_bb1 [expr {$y_bb0+$y_binwidth}]
|
||||||
} else {
|
} else {
|
||||||
set y_bin1 [expr {$y_bin0-$y_binwidth}]
|
set y_bb1 [expr {$y_bb0-$y_binwidth}]
|
||||||
}
|
}
|
||||||
OAT_TABLE -init X_MIN $x_bin0 X_MAX $x_binmax Y_MIN $y_bin0 Y_MAX $y_binmax
|
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
|
# We default to one big bin for time
|
||||||
set t_bin0 [OAT_TABLE -get T_MIN]
|
set t_bb0 [OAT_TABLE -get T_MIN]
|
||||||
set t_bin1 [OAT_TABLE -get T_MAX]
|
set t_bb1 [OAT_TABLE -get T_MAX]
|
||||||
OAT_TABLE X "$x_bin0 $x_bin1" Y "$y_bin0 $y_bin1" T "$t_bin0 $t_bin1"
|
OAT_TABLE X "$x_bb0 $x_bb1" Y "$y_bb0 $y_bb1" T "$t_bb0 $t_bb1"
|
||||||
::histogram_memory::configure_server Filler_defaults
|
::histogram_memory::configure_server Filler_defaults
|
||||||
|
|
||||||
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
||||||
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_pixel_offset
|
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_pixel_offset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc histmem {cmd args} {
|
||||||
|
eval "_histmem $cmd $args"
|
||||||
|
}
|
||||||
|
publish histmem user
|
||||||
|
|||||||
@@ -1,51 +1,8 @@
|
|||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
hmm configure rank 3
|
|
||||||
hmm_xy configure rank 2
|
|
||||||
hmm_xt configure rank 2
|
|
||||||
hmm_yt configure rank 2
|
|
||||||
hmm_x configure rank 1
|
|
||||||
hmm_y configure rank 1
|
|
||||||
hmm_t configure rank 1
|
|
||||||
|
|
||||||
source $cfPath(hmm)/hmm_configuration_common_1.tcl
|
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
proc ::histogram_memory::pre_count {} {}
|
||||||
|
proc ::histogram_memory::post_count {} {}
|
||||||
proc ::histogram_memory::initialize {} {
|
proc ::histogram_memory::initialize {} {
|
||||||
::histogram_memory::_initialize
|
::histogram_memory::_initialize
|
||||||
|
|
||||||
@@ -54,6 +11,10 @@ proc ::histogram_memory::initialize {} {
|
|||||||
|
|
||||||
set x_bb0 -0.5; set xbbmax 191.5
|
set x_bb0 -0.5; set xbbmax 191.5
|
||||||
set y_bb0 -0.5; set ybbmax 191.5
|
set y_bb0 -0.5; set ybbmax 191.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
|
set x_binwidth 1
|
||||||
if {[expr {$xbbmax - $x_bb0}] > 0} {
|
if {[expr {$xbbmax - $x_bb0}] > 0} {
|
||||||
set x_bb1 [expr {$x_bb0+$x_binwidth}]
|
set x_bb1 [expr {$x_bb0+$x_binwidth}]
|
||||||
@@ -76,3 +37,8 @@ proc ::histogram_memory::initialize {} {
|
|||||||
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
|
||||||
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_pixel_offset
|
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::x_pixel_offset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc histmem {cmd args} {
|
||||||
|
eval "_histmem $cmd $args"
|
||||||
|
}
|
||||||
|
publish histmem user
|
||||||
|
|||||||
Reference in New Issue
Block a user