# This is the channel Local Trigger Management register which is fields within the register at 0x1n84 # bit 7 removed Apr 29 for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.LocalTrigger 0 variable Ch$i.LocalTrigger_B00=>01 0 variable Ch$i.LocalTrigger_B02 0 variable Ch$i.LocalTrigger_B04=>05 0 variable Ch$i.LocalTrigger_B06 0 variable Ch$i.LocalTrigger_B07 0 variable Ch$i.LocalTrigger_B08=>10 0 variable Ch$i.LocalTrigger_B11 0 variable Ch$i.LocalTrigger_B12=>15 0 variable Ch$i.LocalTrigger_B16=>17 0 variable Ch$i.LocalTrigger_B18=>19 0 variable Ch$i.LocalTrigger_B24 0 variable Ch$i.LocalTrigger_B25=>26 0 } proc GetLocalTrigger {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.LocalTrigger set Ch$i.LocalTrigger [ReadRegister Ch$i.LocalTrigger] variable Ch$i.LocalTrigger_B00=>01 variable Ch$i.LocalTrigger_B02 variable Ch$i.LocalTrigger_B04=>05 variable Ch$i.LocalTrigger_B06 variable Ch$i.LocalTrigger_B07 variable Ch$i.LocalTrigger_B08=>10 variable Ch$i.LocalTrigger_B11 variable Ch$i.LocalTrigger_B12=>15 variable Ch$i.LocalTrigger_B16=>17 variable Ch$i.LocalTrigger_B18=>19 variable Ch$i.LocalTrigger_B24 variable Ch$i.LocalTrigger_B25=>26 set Ch$i.LocalTrigger_B00=>01 [expr [set Ch$i.LocalTrigger] & 3] set Ch$i.LocalTrigger_B02 [expr ([set Ch$i.LocalTrigger] >> 2) & 1] set Ch$i.LocalTrigger_B04=>05 [expr ([set Ch$i.LocalTrigger] >> 4) & 3] set Ch$i.LocalTrigger_B06 [expr ([set Ch$i.LocalTrigger] >> 6) & 1] set Ch$i.LocalTrigger_B07 [expr ([set Ch$i.LocalTrigger] >> 7) & 1] set Ch$i.LocalTrigger_B08=>10 [expr ([set Ch$i.LocalTrigger] >> 8) & 7] set Ch$i.LocalTrigger_B11 [expr ([set Ch$i.LocalTrigger] >> 11) & 1] set Ch$i.LocalTrigger_B12=>15 [expr ([set Ch$i.LocalTrigger] >> 12) & 15] set Ch$i.LocalTrigger_B16=>17 [expr ([set Ch$i.LocalTrigger] >> 16) & 3] set Ch$i.LocalTrigger_B18=>19 [expr ([set Ch$i.LocalTrigger] >> 18) & 3] set Ch$i.LocalTrigger_B24 [expr ([set Ch$i.LocalTrigger] >> 24) & 1] set Ch$i.LocalTrigger_B25=>26 [expr ([set Ch$i.LocalTrigger] >> 25) & 3] } } proc SetLocalTrigger {w} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.LocalTrigger if {$w < $NumChans && $w != $i} {continue} variable Ch$i.LocalTrigger_B00=>01 variable Ch$i.LocalTrigger_B02 variable Ch$i.LocalTrigger_B04=>05 variable Ch$i.LocalTrigger_B06 variable Ch$i.LocalTrigger_B07 variable Ch$i.LocalTrigger_B08=>10 variable Ch$i.LocalTrigger_B11 variable Ch$i.LocalTrigger_B12=>15 variable Ch$i.LocalTrigger_B16=>17 variable Ch$i.LocalTrigger_B18=>19 variable Ch$i.LocalTrigger_B24 variable Ch$i.LocalTrigger_B25=>26 set Ch$i.LocalTrigger [expr \ ([set Ch$i.LocalTrigger_B00=>01] << 0) | \ ([set Ch$i.LocalTrigger_B02] << 2) | \ ([set Ch$i.LocalTrigger_B04=>05] << 4) | \ ([set Ch$i.LocalTrigger_B06] << 6) | \ ([set Ch$i.LocalTrigger_B07] << 7) | \ ([set Ch$i.LocalTrigger_B08=>10] << 8) | \ ([set Ch$i.LocalTrigger_B11] << 11) | \ ([set Ch$i.LocalTrigger_B12=>15] << 12) | \ ([set Ch$i.LocalTrigger_B16=>17] << 16) | \ ([set Ch$i.LocalTrigger_B18=>19] << 18) | \ ([set Ch$i.LocalTrigger_B24] << 24) | \ ([set Ch$i.LocalTrigger_B25=>26] << 25) \ ] WriteRegister Ch$i.LocalTrigger [set Ch$i.LocalTrigger] } } proc SaveLocalTrigger {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { DBSetValue Ch$i.LocalTrigger [ReadRegister Ch$i.LocalTrigger] } } proc RestLocalTrigger {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.LocalTrigger set Ch$i.LocalTrigger [DBGetValue Ch$i.LocalTrigger] WriteRegister Ch$i.LocalTrigger [DBGetValue Ch$i.LocalTrigger] } GetLocalTrigger } proc DrawLocalTrigger {} { variable NumChans variable Name for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.LocalTrigger variable Ch$i.LocalTrigger_B00=>01 variable Ch$i.LocalTrigger_B02 variable Ch$i.LocalTrigger_B04=>05 variable Ch$i.LocalTrigger_B06 variable Ch$i.LocalTrigger_B07 variable Ch$i.LocalTrigger_B08=>10 variable Ch$i.LocalTrigger_B11 variable Ch$i.LocalTrigger_B12=>15 variable Ch$i.LocalTrigger_B16=>17 variable Ch$i.LocalTrigger_B18=>19 variable Ch$i.LocalTrigger_B24 variable Ch$i.LocalTrigger_B25=>26 } set html "" append html "

" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" for {set i 0} {$i < $NumChans} {incr i} { append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" } append html "
ChannelLocal Trigger ModeEnable LT ModeLT Validation ModeEnable LT Val ModeExtras Word optionsUse smoothed signal for charge integrationInput smoothing factorTrigger counter rate stepVeto SourceMark saturated pulsesAdditional LT Val options
$i" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "
" append html "

" return $html }