========================================
CaseInfoとそのフォーマットについて
========================================
:Status: 作成中
概要
====
空蟬は、TrigNETがDAQミドルウェアを通して出力するイベントデータを利用し、中性子データ(イベント)をTrigNETに入力されたシグナルの情報の組み合わせ(ケース)により分類し、ケースごとに個別のヒストグラムとして取り出す機能(フィルタリング)を持つ。このケースを定義するために必要な情報をXML形式で記述しており、それを"Case Info"と定義している。本稿ではCaseInfoの役割とそのフォーマットについて記述する。
----------------------------
イベント識別するための条件
----------------------------
1. 測定時刻による切り出し
+ 測定開始を0としたときの経過時間(相対時刻)
+ 装置時刻(絶対時刻)
* T0に使用されているMLF基本時刻(2008/1/1を0とするClock)での指定
* 年月日時刻による指定
2. TOF(TOFによるイベントの取捨選択=CaseIDを返す)
3. TrigNETのイベントに記載された情報によるフィルタリング
+ TrigNETのイベントの値(DIO状態やアナログ値)に応じてCaseIDを返す
4. TrigNETのイベントをトリガーとするカウンター
+ カウント数を内部で持っていて、指定したイベントがあればカウントし、そのカウント数に応じてCaseIDを返す
----------------------------------
TrigNETイベントでの場合分けの流れ
----------------------------------
1. フィルタリングするための条件読み込み (CaseInfoファイル)
2. TrigNETイベントの解析
3. Caseのタイムテーブルによる中性子イベントの分別
------------
語句の定義
------------
Case
------
- フィルター及びカウンターによって識別された場合分けをCaseと呼んでいる
- 「Case=0は不使用」と定義する
- よって、使用するCaseは必ず0以上の整数。
- Caseの識別を行うための条件は
- フィルター
- Trignetイベントデータによる分別
- TOFの領域による分別
- 時刻情報による分別
- カウンター
- Trignetデータを解析し、それをカウンターとして、その値で分別。
Caseテーブル
-------------
中性子イベントをTOFで分けるために使用するテーブルをCaseテーブルと呼ぶ。フレームごとに、CaseId, TOF, CaseId, TOF,... という情報を収めたもの。
DIOのRiseとDrop、UpとDown
--------------------------------
TrigNETに入力可能なシグナルにTTLがある。これは0 Vから5.0V の間の電圧で閾値(おそらく1.5V程度)を超えると、シグナルが入った富なし、逆に閾値を下回るとシグナルが消えたとみなす。
本稿では、このTTLのシグナル入力をDIO(DigitalIO)と呼び、閾値を超える挙動をRise, 下回る挙動をDrop、超えている状態をUp、下がっている状態をDownとする。
TrigNET+Caseファイル使用例
=============================
本稿では、TrigNETと共に使用するCaseInfoの例を示す。
**フィルター設定例:シグナル状態で識別**
TrigNETに入ってきたシグナルの状態(TTL, 電圧)によって、Caseを決める
**カウンター設定例:単純Increment**
TrigNETに入ってきたDIOシグナル(Rise, Drop)をカウンターとして、そのカウンターに定数をかけた値に対してCaseを決定する方式
**カウンター設定例:サイクリックIncrement**
こちらもTrigNETに入ってきたDIOシグナル(Rise, Drop)をカウンターとして、そのカウンターに定数をかけた値に対してCaseを決定するが、こちらは計算値が予め設定した領域から外れた場合に、その範囲内の値に変換(端点の値からの差分)しCaseを決定する方式
**カウンター設定例:仮想的時間原点**
TrigNETのDIOのシグナルを時間分解における仮想的な原点とし、その原点からの秒数によって時間分解しCaseに分類する方式
**カウンター設定例:仮想的時間原点+フレーム厳密対応**
TrigNETのDIOのシグナルを時間分解における仮想的な原点のトリガーとし、同時に施設のMLF基準トリガー(常時25Hz)のDIO入力をカウンターとすることで、その原点から厳密なフレーム単位の時間分解を可能とする方式
**カウンター設定例:ロータリーエンコーダ+DAQコンポーネント**
ロータリーエンコーダのA相B相シグナルをTrigNETに入力し、TrigNET用DAQミドルウェアコンポーネントにて処理されたイベントに対応した方式
以下に上記の場合の具体的なCase Info(XMLによって記述)の例と説明を述べる。
-------------------------------------------------
フィルター設定例:シグナル状態で識別
-------------------------------------------------
TrigNETに入ってきたシグナルの状態(TTL, 電圧)によって、Caseが決まる方式である。
.. code-block:: xml
:linenos:
1
0
*,*,1,0,*,*,*,*
0,1000000
2012,4,12,2,45,0,0.0,2012,4,12,12,40,0,0.0
500.0,20000.0
*,*,0,0,*,*,*,*
1000000,9000000
345313,4313145
このCaseInfoに置いて、**Case 1** の条件を以下のように定めている(5行目〜12行目)。
1. TrigNETのDIO1のRiseで生じるシグナルのうち、DIO3がUp、DIO4がDownの時、(7行目)
2. DIO2の立ち上がり時にLADC1が0〜1000000の間(8行目)
3. 時刻が2012/4/12 2:45:00から2012/4/12 12:40:00までの(10行目)
4. TOFが500から20000の間(11行目)
また、**Case 2** の条件を以下のようにしている(13行目〜20行目)。
1. TrigNETのDIO1のRiseで生じるシグナルのうち、DIO3、DIO4がDownの時(15行目)
2. DIO2の立ち上がり時にLADC1が1000000から9000000の間(16行目)
3. MLF標準Clockで345313から4313145の間(18行目)
-------------------------------------------
カウンター設定例:単純Increment型
-------------------------------------------
TrigNETに入ってきたDIOシグナル(Rise, Drop)をカウンターとして、そのカウンターに定数をかけた値に対してCaseを決定する方式である。
.. code-block:: xml
:linenos:
0
1
1.0
0.0
1.0,2.5
2.5,14.0
14.0,20.0
このCaseInfoではカウンターとしての使用方法の例を示している。
カウンター方式では、TrigNETへのシグナルによって加算される内部カウンターがあり、これとconversionValとoriginalValを利用して得られた値( Val = + × <内部カウンター>)に対して、Caseを割り当てることになる。
この例では、
- DIO1にシグナルが来た(Rise)時に内部カウンターに1.0を加算 ( 7行目 )
- DIO2にシグナルが来た(Rise)時に内部カウンターに-1.0を加算( 8行目 )
と定義し、値 Val = 0.0(originalVal) + 1.0(conversionVal) × 内部カウンター が、
- 1.0 <= Val < 2.5 なら Case 1 ( 13行目 )
- 2.5 <= Val < 14.0 なら Case 2 ( 14行目 )
- 14.0 <= Val < 20.0 なら Case 3 ( 15行目 )
として識別 ( 12行目: の属性 typeが1 ) される。値がそれ以外の値を取った時はイベントは無視される。
--------------------------------------------
カウンター設定例:サイクリックIncrement型
--------------------------------------------
こちらもTrigNETに入ってきたDIOシグナル(Rise, Drop)をカウンターとして、そのカウンターに定数をかけた値に対してCaseを決定するが、こちらは計算値が予め設定した領域から外れた場合に、その範囲内の値に変換(端点の値からの差分)しCaseを決定する方式である。
.. code-block:: xml
:linenos:
0
1
2.0
100.0
0.0,360.0,2.0
この例の場合、
- DIO1にシグナルが来た(Rise)ら内部カウンターに1.0加算 ( 7行目 )
- 値 Val = 100.0 + 2.0 × <内部カウンター>
と定義されているが、さらに( 11行目 )により
- 値が 0.0から360.0 の間から外れた時は360.0 = 0.0 とみなす
ことになる。すなわち、Caseに分類に使う値Valはサイクリックに扱われる。
また、 の属性 typeが2 であるので、そのコンテンツ 0.0,359.0,2.0 から
- case 1 : 0.0-2.0
- case 2 : 2.0-4.0
- ...
- case 178 : 356.0-358.0
- case 179 : 358.0-360.0
という分類となる。
------------------------------------
カウンター設定例:仮想的時間原点
------------------------------------
TrigNETのDIOのシグナルを時間分解における仮想的な原点とし、その原点からの秒数によって時間分解しCaseに分類する方式である。時間分解の一つであるが、カウンターのシグナルを原点とみなす設定なので、カウンター設定の一つとしている。
またこの方法では、厳密に1フレーム単位で抜き出すのは難しい(1フレームの時間が一定ではないため)ので注意すること。フレーム単位で取り出す場合は、後述のカウンター設定例4の方法を取ること。
.. code-block:: xml
:linenos:
2
0
1.0
0.0
0.0,1.0
1.0,2.0
2.0,3.0
3.0,4.0
4.0,5.0
5.0,6.0
6.0,7.0
7.0,8.0
8.0,9.0
9.0,15.0
この例の場合、DIO2のRiseイベントをカウンターとして拾い、この時刻を時間原点とし、その原点から1秒ごとに9秒後までCaseに分けるものである。
この設定で重要なのは
::
0.0
である。
- のunit属性値を、通常"Counts"であるのを"Clock"とすること
- を空にすること
- でCaseを指定するが、単位は[sec]であること
- のpriorigy属性値を"case"と設定すると、で指定した範囲内に再びカウンター用イベントが来ても無視する(Case分類を優先する)。不要なら外す。
---------------------------------------------------------------
カウンター設定例:仮想的時間原点+フレーム厳密対応
---------------------------------------------------------------
TrigNETのDIOのシグナルを時間分解における仮想的な原点のトリガーとし、同時に施設のMLF基準トリガー(常時25Hz)のDIO入力をカウンターとすることで、その原点から厳密なフレーム単位の時間分解を可能とする方式である。
.. code-block:: xml
:linenos:
3
0
1.0
0.0
-0.5,11.5,1.0
この設定で重要な点は
1. のtype属性に"KICKCOUNT"を与える。
::
2. /には二つのがあり、片方は仮想キッカー、もう片方はカウンターであり、両者の区別はtitle属性で行う。
::
なお、のtitle属性値は以下のように与え、役割を指定すること。
+------------+----------+
|役割 |title |
+============+==========+
|仮想トリガー|"Kicker" |
+------------+----------+
|カウンター |"Couinter"|
+------------+----------+
----------------------------------------------------------------------
カウンター設置例:ロータリーエンコーダ+DAQコンポーネント
----------------------------------------------------------------------
ロータリーエンコーダのA相B相シグナルをTrigNETに入力し、TrigNET用DAQミドルウェアコンポーネントにて処理されたイベントに対応した方式である。
この新しいモジュールは、連続回転測定などのエンコーダのシグナルをLineDriver経由でTrigNETで取り込む際の
- 多く発生するノイズの低減
- フレームごとの角度情報(A相B相から算出)がわからない
の点を改善するため、A相B相から角度情報を算出し、LADC1イベントとして保存するDAQミドルウェアのコンポーネントを使用する場合に用いるやり方である。
このデータを処理する場合のCaseInfoは以下のようになる。
.. code-block:: xml
:linenos:
0.002866242038
-90.00
-90.0,90.0,1.0
ここで重要な点は以下の通り。あとは通常のカウンターの動作と同じ。
- の属性typeが"ABC"("ABP"ではなく)
- //の数は一つだけ(これを角度情報イベントとして取り込む)
- //
- 属性ioはA相を示す値であること
- 属性typeは"LADC1"であること
挙動としては以下の通り。
- conversionVal=0.002866242038、原点(originalVal)を -90度とし、
- これからCase識別用の値(Val)を計算する( Val = conversionVal*counts + originalVal )。
- -90.0から+90.0を1.0刻みで分けて、Valの値が-90.0〜-89.0の時をCase 1, -89.0〜-88.0をCase 2, ...と割りあてる。
-----------------
単純時間分解
-----------------
特にTrigNETなどを使用せずとも、単純な時間分解だけでもCaseInfoは使用できる。以下のように **timeSlicing** を利用する。
.. code-block:: xml
:linenos:
0
0
- **time** タグで、測定開始からの秒数(実数)で開始と終了を示す
- フォーマットは、<開始[秒]>, <終了[秒]>
- **time** タグの属性値 **caseId** でその開始・終了範囲内のデータのCaseIdを決める
フォーマットの詳細
===================
これらの情報を収めるXMLタグの詳細な情報を以下に記す。
---------------
caseInfo
---------------
CaseInfo内の全てのエレメントの親である。
+------------+----------------+----------------+
| |名前 | 意味・説明 |
+============+================+================+
|属性 | |無し |
+------------+----------------+----------------+
|親エレメント|なし | |
+------------+----------------+----------------+
|子エレメント|filters | |
+------------+----------------+----------------+
-----------------
caseAmbiguity
-----------------
一つのフレームの中に複数のCaseが入っていた場合の処理(主にノイズ対策)
+------------+----------------+--------------------------+
| |名前 | 意味・説明 |
+============+================+==========================+
|属性 | |無し |
+------------+----------------+--------------------------+
|親エレメント|caseInfo | |
+------------+----------------+--------------------------+
|子エレメント|無し | |
+------------+----------------+--------------------------+
|コンテンツ |整数 0 |全てを採用 |
| +----------------+--------------------------+
| |整数 1 |一つのCaseのみ以外は不採用|
| +----------------+--------------------------+
| |整数 2 |多数決でCaseを一つに絞る |
| +----------------+--------------------------+
| |整数 3 |最初のCaseだけを採用する |
+------------+----------------+--------------------------+
--------------------
initialCase
--------------------
最初のTrigNETのイベントが発生するまでのCaseを定義する。
+------------+----------------+-----------------------+
| |名前 | 意味・説明 |
+============+================+=======================+
|属性 | |無し |
+------------+----------------+-----------------------+
|親エレメント|caseInfo | |
+------------+----------------+-----------------------+
|子エレメント|なし | |
+------------+----------------+-----------------------+
|コンテンツ |整数 |Case Number |
+------------+----------------+-----------------------+
-------
filters
-------
filterの親。
+------------+----------------+--------------------------+
| |名前 | 意味・説明 |
+============+================+==========================+
| |i |ナンバリング |
| +----------------+--------------------------+
|属性 |n |子エレメントの個数|
+------------+----------------+--------------------------+
|親エレメント|caseInfo | |
+------------+----------------+--------------------------+
|子エレメント|filter | |
+------------+----------------+--------------------------+
|コンテンツ | |無し |
+------------+----------------+--------------------------+
----------------
filters/filter
----------------
filterの条件の親。
+------------+----------------+-----------------------+
| |名前 | 意味・説明 |
+============+================+=======================+
|属性 |i |インデックス |
| +----------------+-----------------------+
| |case |case番号 |
+------------+----------------+-----------------------+
|親エレメント|filters | |
+------------+----------------+-----------------------+
|子エレメント|signal |Trignetイベントの条件 |
+ +----------------+-----------------------+
| |timeRange |時刻の条件 |
+ +----------------+-----------------------+
| |tofRange |TOFの条件 |
+------------+----------------+-----------------------+
|コンテンツ | |無し |
+------------+----------------+-----------------------+
-----------------------
signal
-----------------------
複数のTrigNETやその他のシグナルを用いる場合のために用意。
+------------+-------------------+-------------------------+
| |名前 | 意味・説明 |
+============+===================+=========================+
|属性 |n |内包するタグ(trignet)の数|
| +-------------------+-------------------------+
| |cond |シグナル条件の"AND"/"OR" |
+------------+-------------------+-------------------------+
|親エレメント|filter or container| |
+------------+-------------------+-------------------------+
|子エレメント|trignet | |
+------------+-------------------+-------------------------+
|コンテンツ | | |
+------------+-------------------+-------------------------+
-------------------
trignet
-------------------
Trignetイベントの条件。
+------------+--------------------------+---------------------------------------------------------------------------------------+
| |名前 |意味・説明 |
+============+==========================+=======================================================================================+
|属性 |i |ナンバリング |
| +--------------------------+---------------------------------------------------------------------------------------+
| |index |複数のTrigNETを使用するときのID |
| +--------------------------+---------------------------------------------------------------------------------------+
| |io |イベントトリガーの種類:詳細は下記 |
| +--------------------------+---------------------------------------------------------------------------------------+
| |type |イベント内容のタイプ:DIO, LADC1, LADC2, HADC |
| +--------------------------+---------------------------------------------------------------------------------------+
| |title |このシグナルの名前 |
| +--------------------------+---------------------------------------------------------------------------------------+
| |attr |何か属性を加える場合に使用。現在は単純カウンター設定時に内部カウンターの増減値として、 |
| | |もしくは、エンコーダとしての設定時にA相B相の識別に使用。 |
+------------+--------------------------+---------------------------------------------------------------------------------------+
|親エレメント|signal | |
+------------+--------------------------+---------------------------------------------------------------------------------------+
|子エレメント|なし | |
+------------+--------------------------+---------------------------------------------------------------------------------------+
|内容 |イベント内容によって異なる| |
| +--------------------------+---------------------------------------------------------------------------------------+
| |DIO1〜8 |カンマ区切りの8つの整数(0か1)、Off=0,On=1,Free=それ以外、省略すると完全にフリー、 |
| | |つまり状態がなんであれトリガーがあればよい |
| +--------------------------+---------------------------------------------------------------------------------------+
| |低速ADC1、低速ADC2 |カンマ区切りの2つの実数(min,max)、仕様上、minは0が最小値、maxに最大値はないが、 |
| | |max=0なら上限なし判定 |
| +--------------------------+---------------------------------------------------------------------------------------+
| |高速ADC |カンマ区切りの4つの実数、minは0が最小値、maxは4095が最大値 |
+------------+--------------------------+---------------------------------------------------------------------------------------+
ioの記述
---------
+--------------------+------------------------------------------------------+
|イベント発生トリガー|属性ioに使用できる文字 |
+====================+======================================================+
|DIOの立ち上がり |DIO1R, DIO2R, DIO3R, DIO4R, DIO5R, DIO6R, DIO7R, DIO8R|
+--------------------+------------------------------------------------------+
|DIOの下り |DIO1F, DIO2F, DIO3F, DIO4F, DIO5F, DIO6F, DIO7F, DIO8F|
+--------------------+------------------------------------------------------+
|T0立ち上がり |T0R |
+--------------------+------------------------------------------------------+
|TI(タイマ) |TI |
+--------------------+------------------------------------------------------+
|ソフトウェア |SW |
+--------------------+------------------------------------------------------+
|全て利用 |ANY |
+--------------------+------------------------------------------------------+
-----------
timeRange
-----------
時刻の条件、内容が2つの実数なら相対時間で、内容が14の実数なら絶対時刻で切り出すことを示す。
+------------+----------------+---------------------------------------------------------------------------------+
| |名前 |意味・説明 |
+============+================+=================================================================================+
|属性 |type |時刻の指定方法:0. 測定開始からの経過時間[秒]、1.MLF基準Clock、2.年月日時分秒方式|
+------------+----------------+---------------------------------------------------------------------------------+
|親エレメント|filter | |
+------------+----------------+---------------------------------------------------------------------------------+
|子エレメント|なし | |
+------------+----------------+---------------------------------------------------------------------------------+
|内容 |切り出し時刻情報|カンマ区切りの2または14の実数 |
| | |( 例:2013年4月10日 5時21分32.54秒->"2013","4","10","5","13","21","32","0.54" ) |
+------------+----------------+---------------------------------------------------------------------------------+
-----------
tofRange
-----------
TOFの条件。
+------------+----------------+-----------------------+
| |名前 |意味・説明 |
+============+================+=======================+
|属性 |なし | |
+------------+----------------+-----------------------+
|親エレメント|filter | |
+------------+----------------+-----------------------+
|子エレメント|なし | |
+------------+----------------+-----------------------+
|内容 |切り出し時刻情報|カンマ区切りの2つの実数|
+------------+----------------+-----------------------+
----------
counters
----------
counterの親。
+------------+--------+---------------------------+
| |名前 |意味・説明 |
+============+========+===========================+
|属性 |n |子エレメント(counter)の個数|
+------------+--------+---------------------------+
|親エレメント|caseInfo| |
+------------+--------+---------------------------+
|子エレメント|counter | |
+------------+--------+---------------------------+
|内容 | |無し |
+------------+--------+---------------------------+
---------------
counter
---------------
counterの条件の親。
+------------+-------------+-------------------------------------------------------------------+
| |名前 |意味・説明 |
+============+=============+===================================================================+
|属性 |i |ナンバリング |
| +-------------+-------------------------------------------------------------------+
| |type |カウンターとしてのタイプ (後述するテーブル参照) |
+------------+-------------+-------------------------------------------------------------------+
|親エレメント|counters | |
+------------+-------------+-------------------------------------------------------------------+
|子エレメント|signal |Trignetイベントの条件(filterのものと同じ) |
| +-------------+-------------------------------------------------------------------+
| |conversionVal|カウンターの変換用(積) |
| +-------------+-------------------------------------------------------------------+
| |originalVal |カウンターの変換用(原点) |
| +-------------+-------------------------------------------------------------------+
| |conditions |Case分別用情報 |
+------------+-------------+-------------------------------------------------------------------+
**type属性**
+-----------+-----------------------------------------+
|"NORMAL" |通常のシグナル |
+-----------+-----------------------------------------+
|"ABP" |エンコーダー用 |
+-----------+-----------------------------------------+
|"ABC" |ロータリーエンコーダ+DAQコンポーネント用|
+-----------+-----------------------------------------+
|"KICKCOUNT"|仮想的時間原点+フレーム厳密対応 |
+-----------+-----------------------------------------+
----------------
conversionVal
----------------
Case識別に使用する値への変換用パラメータ。Case識別に用いる値は(originalVal) + (conversionVal) × カウント数。
+------------+--------------------+----------+
| |名前 |意味・説明|
+============+====================+==========+
|属性 | |無し |
+------------+--------------------+----------+
|親エレメント|counter | |
+------------+--------------------+----------+
|子エレメント| | |
+------------+--------------------+----------+
|内容 |カウント数にかける値|実数 |
+------------+--------------------+----------+
--------------------
originalVal
--------------------
Case識別に使用する値への変換用パラメータ。Case識別に用いる値は(originalVal) + (conversionVal) × カウント数。
+------------+------------------+--------------------------------------------------------------------+
| |名前 |意味・説明 |
+============+==================+====================================================================+
|属性 |unit |単位。"Counts"や"Clock"(詳細は「TrigNET+Caseファイル使用例」参照)|
+------------+------------------+--------------------------------------------------------------------+
|親エレメント|counter | |
+------------+------------------+--------------------------------------------------------------------+
|子エレメント| | |
+------------+------------------+--------------------------------------------------------------------+
|内容 |カウント数に足す値|実数 |
+------------+------------------+--------------------------------------------------------------------+
--------------------
cyclicRange
--------------------
Case識別に使用する値への変換用パラメータ。Case識別に用いる値が(begin)から(end)までサイクリックに扱われる。例えば角度で360度=0度とみなすのと同等。
+------------+------------------+----------+
| |名前 |意味・説明|
+============+==================+==========+
|属性 |begin |範囲の先頭|
| +------------------+----------+
| |end |範囲の末尾|
+------------+------------------+----------+
|親エレメント|counter | |
+------------+------------------+----------+
|子エレメント| | |
+------------+------------------+----------+
|内容 |カウント数に足す値|実数 |
+------------+------------------+----------+
--------------
conditions
--------------
カウント数の変換値をCaseに分類する情報
+------------+-------+------------------------------------------------+
| |名前 |意味・説明 |
+============+=======+================================================+
|属性 |type |条件の与え方(1: condの羅列、2: start,end,step)|
| +-------+------------------------------------------------+
| |n |子エレメント(cond)の個数 |
+------------+-------+------------------------------------------------+
|親エレメント|counter| |
+------------+-------+------------------------------------------------+
|子エレメント|cond | |
+------------+-------+------------------------------------------------+
-------------
cond
-------------
カウント数の変換値をCaseに分類する情報
+------------+------------------------------------------+----------------------------------------------------------------+
| |名前 |意味・説明 |
+============+==========================================+================================================================+
|属性 |i |ナンバリング(conditionsのtype=1の時に使用) |
| +------------------------------------------+----------------------------------------------------------------+
| |case |このcondのCaseID(conditionsのtype=1の時に使用) |
+------------+------------------------------------------+----------------------------------------------------------------+
|親エレメント|counter | |
+------------+------------------------------------------+----------------------------------------------------------------+
|子エレメント| | |
+------------+------------------------------------------+----------------------------------------------------------------+
|内容 |conditionsのtype=1の時:変換値の範囲 |カンマ区切りの2実数 |
| +------------------------------------------+----------------------------------------------------------------+
| |conditionsのtype=2の時:変換値の区切り情報|カンマ区切りの3実数(start, end, step)、CaseIDは先頭から1,2,...。|
+------------+------------------------------------------+----------------------------------------------------------------+
-------------
timeSlicing
-------------
単純な時間分割用。
+------------+----------------+--------------------------+
| |名前 | 意味・説明 |
+============+================+==========================+
|属性 | | |
+------------+----------------+--------------------------+
|親エレメント|caseInfo | |
+------------+----------------+--------------------------+
|子エレメント|time | |
+------------+----------------+--------------------------+
|コンテンツ | |無し |
+------------+----------------+--------------------------+
-------------------
timeSlicing/time
-------------------
単純な時間分割用。caseIdとその時間領域を記述する。単位は測定開始を0秒とした秒数(実数)で示す。
+------------+----------------+------------------------------------------+
| |名前 | 意味・説明 |
+============+================+==========================================+
|属性 |caseId |このコンテンツが示す時間領域に対するCaseId|
+------------+----------------+------------------------------------------+
|親エレメント|timeSlicing | |
+------------+----------------+------------------------------------------+
|子エレメント|なし | |
+------------+----------------+------------------------------------------+
|コンテンツ |<開始>,<終了> |測定開始を0秒、実数、カンマ区切り |
+------------+----------------+------------------------------------------+
Appendix
============
-----------------------------------
TrigNETの出力イベントのフォーマット
-----------------------------------
**トリガーの記述**
+--------------------+-------------+
|イベントのトリガー |SID[7:3](int)|
+====================+=============+
|DIO1立ち上がり |0 |
+--------------------+-------------+
|DIO2立ち上がり |1 |
+--------------------+-------------+
|DIO3立ち上がり |2 |
+--------------------+-------------+
|DIO4立ち上がり |3 |
+--------------------+-------------+
|DIO5立ち上がり |4 |
+--------------------+-------------+
|DIO6立ち上がり |5 |
+--------------------+-------------+
|DIO7立ち上がり |6 |
+--------------------+-------------+
|DIO8立ち上がり |7 |
+--------------------+-------------+
|T0立ち上がり |14 |
+--------------------+-------------+
|TIイベント(タイマ)|15 |
+--------------------+-------------+
|DIO1立ち下がり |16 |
+--------------------+-------------+
|DIO2立ち下がり |17 |
+--------------------+-------------+
|DIO3立ち下がり |18 |
+--------------------+-------------+
|DIO4立ち下がり |19 |
+--------------------+-------------+
|DIO5立ち下がり |20 |
+--------------------+-------------+
|DIO6立ち下がり |21 |
+--------------------+-------------+
|DIO7立ち下がり |22 |
+--------------------+-------------+
|DIO8立ち下がり |23 |
+--------------------+-------------+
|Softwareイベント |31 |
+--------------------+-------------+
**記録イベントの識別**
+----------------------+-------------+--------------------------------+
|イベントの内容のタイプ|SID[2:0](int)|適応できる条件 |
+======================+=============+================================+
|DIO1 - 8 |1 |On/Off * 8 |
+----------------------+-------------+--------------------------------+
|低速ADC1 |2 |範囲 |
+----------------------+-------------+--------------------------------+
|低速ADC2 |3 |範囲 |
+----------------------+-------------+--------------------------------+
|高速ADC |4 |ADC1とADC2のそれぞれに対する範囲|
+----------------------+-------------+--------------------------------+
-------------------------
CaseTable技術仕様
-------------------------
基本構造
vector< vector >
- 一つのフレーム内のCase分け情報を一つのvectorで表す。
- CaseIDとTOFを交互に並べる。TOFはCaseの境界となるTOFを指定。
- TOFの単位は40MHzのClockで指定し、CaseIDともどもUInt4で表現する。
注意点
この表現方法は、現在のUtsusemiFilterTrignetクラスに搭載されているものであり、実際UtsusemiEventDataConverterTemplate::Incrementで呼び出される関数(UtsusemiEventCasesDecoderBase::GetCaseFromTof)によって使用される。この関数は、vector< vector >の枠組みさえ守れば本来自由に定義できるものであるため、別の形式を考えることも可能である。