Created emu specific histmem configuration.
This commit is contained in:
@ -1,69 +1,68 @@
|
||||
#TODO Set emu hmm parameters, this is the bilby config.
|
||||
fileeval $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 240
|
||||
OAT_TABLE Y -setdata MAX_CHAN 256
|
||||
OAT_TABLE X -setdata BMIN -0.5
|
||||
OAT_TABLE X -setdata BMAX 239.5
|
||||
OAT_TABLE Y -setdata BMIN -0.5
|
||||
OAT_TABLE Y -setdata BMAX 255.5
|
||||
|
||||
set clock_scale 1000
|
||||
set freq 50
|
||||
hmm configure fat_clock_scale $clock_scale
|
||||
hmm configure fat_frame_frequency $freq
|
||||
hmm configure fat_frame_source INTERNAL
|
||||
|
||||
OAT_TABLE -set X { 239.5 238.5 } NXC 240 Y { -0.5 2.5 } NYC 86 T { 0 20000 } NTC 1
|
||||
} message ] {
|
||||
return -code error $message
|
||||
}
|
||||
}
|
||||
proc ::histogram_memory::init_FAT_TABLE {} {
|
||||
hmm configure FAT_EVENT_OUTPUT_STREAMING ENABLE
|
||||
}
|
||||
proc ::histogram_memory::pre_count {} {}
|
||||
proc ::histogram_memory::post_count {} {}
|
||||
proc ::histogram_memory::isc_initialize {} {
|
||||
# Instrument specific X and Y dimension names
|
||||
variable INST_NXC "oat_nxc_eff"
|
||||
variable INST_NYC "oat_nyc_eff"
|
||||
|
||||
if [ catch {
|
||||
::histogram_memory::init_hmm_objs
|
||||
|
||||
OAT_TABLE X -setdata MAX_CHAN 35
|
||||
OAT_TABLE Y -setdata MAX_CHAN 1024
|
||||
OAT_TABLE X -setdata BMIN -0.5
|
||||
OAT_TABLE X -setdata BMAX 34.5
|
||||
OAT_TABLE Y -setdata BMIN -0.5
|
||||
OAT_TABLE Y -setdata BMAX 1023.5
|
||||
|
||||
set clock_scale 1000
|
||||
set freq 10
|
||||
|
||||
hmm configure fat_clock_scale $clock_scale
|
||||
hmm configure fat_frame_frequency $freq
|
||||
hmm configure fat_frame_source EXTERNAL
|
||||
# The entries in the time bin array are in nanoseconds/clock_scale because the clock base is in nanoseconds
|
||||
OAT_TABLE -set X { 34.5 33.5 } NXC 35 Y { -0.5 3.5 } NYC 256 T {0 100000} NTC 1
|
||||
|
||||
if {$::sim_mode == "true"} {
|
||||
hmm configure oat_ntc_eff 1
|
||||
hmm configure $INST_NYC 86
|
||||
hmm configure $INST_NXC 240
|
||||
hmm configure $INST_NYC 256
|
||||
hmm configure $INST_NXC 35
|
||||
}
|
||||
|
||||
} 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 {} {
|
||||
# Instrument specific X and Y dimension names
|
||||
|
||||
if [ catch {
|
||||
::histogram_memory::init_hmm_objs
|
||||
BAT_TABLE -init
|
||||
CAT_TABLE -init
|
||||
# CAT_TABLE -init
|
||||
SAT_TABLE -init
|
||||
OAT_TABLE -init
|
||||
FAT_TABLE -init
|
||||
::histogram_memory::ic_initialize
|
||||
|
||||
detector_active_height_mm [expr 5.08 * 86]
|
||||
detector_active_width_mm [expr 5.08 * 240]
|
||||
# TODO set height and width if they want axes in mm
|
||||
detector_active_height_mm 1.0
|
||||
detector_active_height_mm lock
|
||||
detector_active_width_mm lock
|
||||
detector_active_width_mm 1.0
|
||||
detector_active_width_mm lock
|
||||
|
||||
# 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::init_FAT_TABLE
|
||||
::histogram_memory::upload_config Filler_defaults
|
||||
|
||||
set ::histogram_memory::histmem_axes(HOR) /instrument/detector/x_pixel_offset
|
||||
set ::histogram_memory::histmem_axes(VER) /instrument/detector/y_pixel_offset
|
||||
set ::histogram_memory::histmem_axes(HOR) /instrument/detector/x_bin
|
||||
set ::histogram_memory::histmem_axes(VER) /instrument/detector/y_bin
|
||||
::histogram_memory::set_frame_source INTERNAL
|
||||
} message ] {
|
||||
if {$::errorCode=="NONE"} {return $message}
|
||||
return -code error $message
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user