v4orb2.wiki

описание пикапов и диссектора ВЭПП3-4
git clone https://star.inp.nsk.su/~bekhte/v4orb2.wiki.git
Log | Files | Refs

commit 1637be0bad82b24a29b6de9276dbf87a99021140
parent 1f99bda1b628d29a50411a76762590453dd46810
Author: E.A.Bekhtenev <E.A.Bekhtenev@inp.nsk.su>
Date:   Fri, 25 Mar 2022 16:10:49 +0700

chan pv strategy

Diffstat:
Mchan-pv-list.md | 109+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 93 insertions(+), 16 deletions(-)

diff --git a/chan-pv-list.md b/chan-pv-list.md @@ -466,7 +466,7 @@ CSS: table.css <a name="cycle_time"></a> $(P)**cycle_time**-I : зарезервированно -# Описание PV IOC траектория +# Описание PV IOC траектория[CHANLINE] Префикс $(P) для IOC траектория пучка канала **CHAN:LINE:**. @@ -478,6 +478,14 @@ CSS: table.css В соответствии со сработавшимим пикапами заполняются [ready_mask](#ready_mask) и [count](#count). Если не все пикапы сработали [error](#error) инкрементируется. +Реализованно три способа обработки не сработавших пикапов + * legacy - данные для несработавших пикапов остаются от предыдущего измерения, по маске можно установить где кто + * nan - значения несработавших пикапов заполняются значением **NAN** + * skip - не сработавшие пикапы пропускаются, по маске можно понять какие пикапы присутствую в результате. +Все способы обработки производятся паралельно, переменные результата измерений содержат суффикс обозначающий способ обработки **_суффикс**. + +Способ по умолчанию (на данный момент nan) дублируется переменными без суффикса, способ по умолчанию выбирается в скриптах запуска IOC. + <a name="collecttime"></a> $(P)**collecttime**-SP : время сборя данных @@ -488,49 +496,118 @@ CSS: table.css <a name="error"></a> $(P)**error**-SP : счетчик количества пропущенных данных +## Результат измерения, способ по умолчанию <a name="Xe"></a> $(P)**Xe**-I <a name="Ye"></a> $(P)**Ye**-I <a name="Ie"></a> $(P)**Ie**-I -: массив координат и тока для электронов +<a name="posE"></a> $(P)**posE**-I +: массив координат, тока и азимута для электронов <a name="Xp"></a> $(P)**Xp**-I <a name="Yp"></a> $(P)**Yp**-I <a name="Ip"></a> $(P)**Ip**-I -: массив координат и тока для позитронов +<a name="posP"></a> $(P)**posP**-I +: массив координат, тока и азимута для позитронов <a name="Xu"></a> $(P)**Xu**-I <a name="Yu"></a> $(P)**Yu**-I <a name="Iu"></a> $(P)**Iu**-I -: неизвестные частицы +<a name="posU"></a> $(P)**posU**-I +: массив координат, тока и азимута для неизвестных частиц + +## результат измерения legacy + +<a name="Xe_legacy"></a> $(P)**Xe_legacy**-I +<a name="Ye_legacy"></a> $(P)**Ye_legacy**-I +<a name="Ie_legacy"></a> $(P)**Ie_legacy**-I +<a name="posE_legacy"></a> $(P)**posE_legacy**-I +<a name="Xp_legacy"></a> $(P)**Xp_legacy**-I +<a name="Yp_legacy"></a> $(P)**Yp_legacy**-I +<a name="Ip_legacy"></a> $(P)**Ip_legacy**-I +<a name="posP_legacy"></a> $(P)**posP_legacy**-I +<a name="Xu_legacy"></a> $(P)**Xu_legacy**-I +<a name="Yu_legacy"></a> $(P)**Yu_legacy**-I +<a name="Iu_legacy"></a> $(P)**Iu_legacy**-I +<a name="posU_legacy"></a> $(P)**posU_legacy**-I +: смысл переменных тотже что и в способе по умолчанию + +## результат измерения nan + +<a name="Xe_nan"></a> $(P)**Xe_nan**-I +<a name="Ye_nan"></a> $(P)**Ye_nan**-I +<a name="Ie_nan"></a> $(P)**Ie_nan**-I +<a name="posE_nan"></a> $(P)**posE_nan**-I +<a name="Xp_nan"></a> $(P)**Xp_nan**-I +<a name="Yp_nan"></a> $(P)**Yp_nan**-I +<a name="Ip_nan"></a> $(P)**Ip_nan**-I +<a name="posP_nan"></a> $(P)**posP_nan**-I +<a name="Xu_nan"></a> $(P)**Xu_nan**-I +<a name="Yu_nan"></a> $(P)**Yu_nan**-I +<a name="Iu_nan"></a> $(P)**Iu_nan**-I +<a name="posU_nan"></a> $(P)**posU_nan**-I +: смысл переменных тотже что и в способе по умолчанию + +## результат измерения skip + +<a name="Xe_skip"></a> $(P)**Xe_skip**-I +<a name="Ye_skip"></a> $(P)**Ye_skip**-I +<a name="Ie_skip"></a> $(P)**Ie_skip**-I +<a name="posE_skip"></a> $(P)**posE_skip**-I +<a name="Xp_skip"></a> $(P)**Xp_skip**-I +<a name="Yp_skip"></a> $(P)**Yp_skip**-I +<a name="Ip_skip"></a> $(P)**Ip_skip**-I +<a name="posP_skip"></a> $(P)**posP_skip**-I +<a name="Xu_skip"></a> $(P)**Xu_skip**-I +<a name="Yu_skip"></a> $(P)**Yu_skip**-I +<a name="Iu_skip"></a> $(P)**Iu_skip**-I +<a name="posU_skip"></a> $(P)**posU_skip**-I +: смысл переменных тотже что и в способе по умолчанию + +## статусные переменные <a name="ready"></a> $(P)**ready**-I : сигнал готовности данных <a name="ready_mask"></a> $(P)**ready_mask**-I -: маска сработавших пикапов +<a name="ready_mask_e"></a> $(P)**ready_mask_e**-I +<a name="ready_mask_p"></a> $(P)**ready_mask_p**-I +<a name="ready_mask_u"></a> $(P)**ready_mask_u**-I +: маска сработавших пикапов, в зависимости от типа частиц маска копируется в маску с типом частиц в суффиксе <a name="count"></a> $(P)**count**-I -: количество сработавших пикапов +<a name="count_e"></a> $(P)**count_e**-I +<a name="count_p"></a> $(P)**count_p**-I +<a name="count_u"></a> $(P)**count_u**-I +: количество сработавших пикапов, в зависимости от типа частиц данные копируются в переменную с типом частиц в суффиксе <a name="time_total"></a> $(P)**time_total**-I : время сбора данных -<a name=""></a> $(P)**nameE**-RB +<a name="nameE"></a> $(P)**nameE**-RB : имена пикапов электронов -<a name=""></a> $(P)**nameP**-RB -: позитронов +<a name="nameP"></a> $(P)**nameP**-RB +: имена пикапов позитронов -<a name=""></a> $(P)**nameU**-RB -: неизвестных частиц +<a name="nameU"></a> $(P)**nameU**-RB +: имена пикапов неизвестных частиц -<a name=""></a> $(P)**posE**-RB +<a name="posE"></a> $(P)**posE**-RB : азимут пикапов электронов -<a name=""></a> $(P)**posP**-RB -: позитронов +<a name="posP"></a> $(P)**posP**-RB +: азимут пикапов позитронов + +<a name="posU"></a> $(P)**posU**-RB +: азимут пикапов неизвестных частиц + + +# Групповые операции + +<a name="CHAN:ALL:error-SP"></a> $(P)**CHAN:ALL:error-SP** +: сброс счётчика ошибок **error** для всех пикапов, записать 0 -<a name=""></a> $(P)**posU**-RB -: неизвестных частиц +<a name="CHAN:ALL:ready_meas_reset-Cmd"></a> $(P)**CHAN:ALL:ready_meas_reset-Cmd** +: сброс счётчика измерений **ready** для всех пикапов, записать 0, результат будет заметен при следующем измерении