# This is the channel Algorithm Control register which is fields within the register at 0x1n80 for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.AlgorithmControl 0 variable Ch$i.AlgorithmControl_B00=>02 0 variable Ch$i.AlgorithmControl_B04 0 variable Ch$i.AlgorithmControl_B06 0 variable Ch$i.AlgorithmControl_B11=>13 0 variable Ch$i.AlgorithmControl_B16 0 variable Ch$i.AlgorithmControl_B17 0 variable Ch$i.AlgorithmControl_B18=>19 0 variable Ch$i.AlgorithmControl_B20=>22 0 variable Ch$i.AlgorithmControl_B24 0 variable Ch$i.AlgorithmControl_B25 0 variable Ch$i.AlgorithmControl_B26 0 variable Ch$i.AlgorithmControl_B27 0 variable Ch$i.AlgorithmControl_B28 0 } proc GetAlgorithmControl {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.AlgorithmControl set Ch$i.AlgorithmControl [ReadRegister Ch$i.AlgorithmControl] variable Ch$i.AlgorithmControl_B00=>02 variable Ch$i.AlgorithmControl_B04 variable Ch$i.AlgorithmControl_B06 variable Ch$i.AlgorithmControl_B11=>13 variable Ch$i.AlgorithmControl_B16 variable Ch$i.AlgorithmControl_B17 variable Ch$i.AlgorithmControl_B18=>19 variable Ch$i.AlgorithmControl_B20=>22 variable Ch$i.AlgorithmControl_B24 variable Ch$i.AlgorithmControl_B25 variable Ch$i.AlgorithmControl_B26 variable Ch$i.AlgorithmControl_B27 variable Ch$i.AlgorithmControl_B28 set Ch$i.AlgorithmControl_B00=>02 [expr [set Ch$i.AlgorithmControl] & 7] set Ch$i.AlgorithmControl_B04 [expr ([set Ch$i.AlgorithmControl] >> 4) & 1] set Ch$i.AlgorithmControl_B06 [expr ([set Ch$i.AlgorithmControl] >> 6) & 1] set Ch$i.AlgorithmControl_B11=>13 [expr ([set Ch$i.AlgorithmControl] >> 11) & 3] set Ch$i.AlgorithmControl_B16 [expr ([set Ch$i.AlgorithmControl] >> 16) & 1] set Ch$i.AlgorithmControl_B17 [expr ([set Ch$i.AlgorithmControl] >> 17) & 1] set Ch$i.AlgorithmControl_B18=>19 [expr ([set Ch$i.AlgorithmControl] >> 18) & 3] set Ch$i.AlgorithmControl_B20=>22 [expr ([set Ch$i.AlgorithmControl] >> 20) & 7] set Ch$i.AlgorithmControl_B24 [expr ([set Ch$i.AlgorithmControl] >> 24) & 1] set Ch$i.AlgorithmControl_B26 [expr ([set Ch$i.AlgorithmControl] >> 26) & 1] set Ch$i.AlgorithmControl_B27 [expr ([set Ch$i.AlgorithmControl] >> 27) & 1] set Ch$i.AlgorithmControl_B28 [expr ([set Ch$i.AlgorithmControl] >> 28) & 1] } } proc SetAlgorithmControl {w} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.AlgorithmControl if {$w < $NumChans && $w != $i} {continue} variable Ch$i.AlgorithmControl_B00=>02 variable Ch$i.AlgorithmControl_B04 variable Ch$i.AlgorithmControl_B06 variable Ch$i.AlgorithmControl_B11=>13 variable Ch$i.AlgorithmControl_B16 variable Ch$i.AlgorithmControl_B17 variable Ch$i.AlgorithmControl_B18=>19 variable Ch$i.AlgorithmControl_B20=>22 variable Ch$i.AlgorithmControl_B24 variable Ch$i.AlgorithmControl_B25 variable Ch$i.AlgorithmControl_B26 variable Ch$i.AlgorithmControl_B27 variable Ch$i.AlgorithmControl_B28 set Ch$i.AlgorithmControl [expr \ ([set Ch$i.AlgorithmControl_B00=>02] << 0) | \ ([set Ch$i.AlgorithmControl_B04] << 4) | \ ([set Ch$i.AlgorithmControl_B06] << 6) | \ ([set Ch$i.AlgorithmControl_B11=>13] << 11) | \ ([set Ch$i.AlgorithmControl_B16] << 16) | \ ([set Ch$i.AlgorithmControl_B17] << 17) | \ ([set Ch$i.AlgorithmControl_B18=>19] << 18) | \ ([set Ch$i.AlgorithmControl_B20=>22] << 20) | \ ([set Ch$i.AlgorithmControl_B24] << 24) | \ ([set Ch$i.AlgorithmControl_B26] << 26) | \ ([set Ch$i.AlgorithmControl_B27] << 27) | \ ([set Ch$i.AlgorithmControl_B28] << 28) ] WriteRegister Ch$i.AlgorithmControl [set Ch$i.AlgorithmControl] } } proc SaveAlgorithmControl {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { DBSetValue Ch$i.AlgorithmControl [ReadRegister Ch$i.AlgorithmControl] } } proc RestAlgorithmControl {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.AlgorithmControl set Ch$i.AlgorithmControl [DBGetValue Ch$i.AlgorithmControl] WriteRegister Ch$i.AlgorithmControl [DBGetValue Ch$i.AlgorithmControl] } GetAlgorithmControl } proc DrawAlgorithmControl {} { variable NumChans variable Name for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.AlgorithmControl variable Ch$i.AlgorithmControl_B00=>02 variable Ch$i.AlgorithmControl_B04 variable Ch$i.AlgorithmControl_B06 variable Ch$i.AlgorithmControl_B11=>13 variable Ch$i.AlgorithmControl_B16 variable Ch$i.AlgorithmControl_B17 variable Ch$i.AlgorithmControl_B18=>19 variable Ch$i.AlgorithmControl_B20=>22 variable Ch$i.AlgorithmControl_B24 variable Ch$i.AlgorithmControl_B25 variable Ch$i.AlgorithmControl_B26 variable Ch$i.AlgorithmControl_B27 variable Ch$i.AlgorithmControl_B28 } 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 "" 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 "" append html "" } append html "
ChannelCharge SensitivityCharge PedestalCFDExtras Word OptionsPulse PolarityShaped Trigger DurationTrigger ModeBaseline MeanSelf TriggerPile-Up ReTriggerPile-Up RejectionPSD cut below thresholdPSD cut above threshold
$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 "" append html "" append html "" append html "
" append html "

" return $html }