======================================== 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 >の枠組みさえ守れば本来自由に定義できるものであるため、別の形式を考えることも可能である。