# XAFS-M setting file : Edited 2013/04/02
# XafsM2 setting file : Edited 2016/04/19 for BL11S2 by M.T.
# XafsM2 設定ファイル : 2016/10/27 日本語化と内容の整理開始 by 田渕

# この定義ファイル中では、ダブルクォーテーション("")が随時使用可能です。
# 通常、"" の有無によって何も違いは起こりません。
# 例えば、SENSOR と書いても "SENSOR" と書いても同じです。
# 違いがあるのは、スペースを含んだキーワードを書きたいときです。
# 例えば、「"Keithley 6485"」 を、"" 無しで「Keithley 6485」と書くと
# 2つのキーワードと認識されて意図した動作をしなくなります。

#******************************************************************
###################################################################
#
#  Sect. 1.   XafsM2 全体に関わるグローバルな設定
#
##################################################################
#******************************************************************

###################################################################
#
#  Sect. 1.1  基本的な設定
#
##################################################################

XAFSName  "XafsM2"         # Stars サーバ上でのこのプログラムの名前です。
                           # XafsM2 を複数 Stars と接続したい場合この名前を変えて下さい。
                           # (サーバ側に同名の key ファイルを準備すること)
XAFSKey   "XafsM2"         # XafsM2 側で読む key ファイルの名前です。
                           # XAFSName "XafsM2-1", XAFSName "XafsM2-2",... 等として
                           # 複数の XafsM2 を stars と接続するとき、サーバ側には
                           # XafsM2-1.key, XafsM2-2.key 等のキーファイルが必要ですが、
                           # その中身が同じならローカルに読むキーファイルは複数用意せず、
                           # 一つだけにしておくことができます。
XAFSTitle "XafsM2-BL11S2"  # XafsM2 が起動したとき、タイトルヘッドに表示される名前です。

# BLNAME は、測定ファイルのヘッダ部分に書き込まれるビームライン名を定義します。
# 定義する文字列の長さは 5文字(半角)以下でなければなりません。
# この機能があるので、ビームラインごとに固有の文字列(BL5S1, BL11S2, BL6N1,...)を
# 入れたいところですが、そうしてしまうと、athena や REX がデータファイルを
# 認識しなくなる可能性があるので、当面 BL5S1 に固定しておくのが吉です。
BLNAME    "BL5S1"

# RW_DXMCENTER_CFG 
# 分光器の原点の値を起動時にファイルから読む/変更されたときにファイルに書くかどうか。
# またその際のファイル名は何かを指定します。
RW_DXMCENTER_CFG  0  NOFILE.cfg           # 原点定義ファイルを読み書きしない
# RW_DXMCENTER_CFG  1  DXMCenterTest.cfg  # 読み書きする、ファイル名は DXMCenterTest.cfg
# RW_DXMCENTER_CFG  1  DXMCenter.cfg      # 読み書きする、ファイル名は DXMCenter.cfg

# CRYSTAL 使用できる分光結晶の指定
# CRYSTAL [分光結晶の面の名前] [面間隔(オングストローム)]
CRYSTAL  "Si(111)"   3.1355316
CRYSTAL  "Si(311)"   1.637478
CRYSTAL  "Si(333)"   1.0451772
#CRYSTAL  "Ge(111)"   3.2663822
#CRYSTAL  "Ge(333)"   1.0887941

# ENERGYRANGE : 測定できるエネルギー範囲の指定 
# このエネルギー範囲外になる場合、分光器を動かさない。
# 単位は eV
#
ENERGYRANGE 3500 35000

# DEFAULTUNIT : 分光器の位置を指定する際のデフォルトの単位指定
# 「XAFS測定」-「測定ブロック設定」や「条件設定」-「分光器回転」設定のデフォルトを決める
#  0: eV, 1: keV, 2: angstrome, 3: deg
#
DEFAULTUNIT 0

# 測定対象元素を選択する周期表表示の設定
# 「対象元素」を「周期表」から選ぶ際に表示される周期表の元素名に
#  色付けを行うことで測定対象になる元素ならない元素などをわかりやすくする
#
AGROUP 0 "H"  "U"  ""                    # 一旦、全元素をデフォルトの色に指定する
#                                        # その後、特定の元素に色を付けていく
AGROUP 1 "V"  "Mo" "#ffff7f"             # V から Mo は K 端が測定対象。明るい黄色
AGROUP 2 "Cs" "U"  "rgb(255,170,255)"    # Cs から U は L 端が測定対象。明るい桃色
#
# 色指定は、"#ffff7f" の様に '#' を付けて 16進数8桁で RGB 指定する方法と
# "rgb(255,170,255)" の様にカンマ区切りの 3つの数字で指定するo方法があります。

# 元素選択を行った時、デフォルトで選ぶエッジ(K, L1, L2, L3) を指定する
# 先に出てくる定義が優先
#
# AGROUP_EDGE [GroupId] [Edge No]
#    Edget No : 0 = K, 1 = L1, 2 = L2, 3 = L3
#
AGROUP_EDGE 1 0       # AGROUP 1 は Edge 0 ( K )
AGROUP_EDGE 2 3       # AGROUP 2 は Edge 3 ( L3 )

# 画面下部のグラフ表示部を起動時に独立 Window にするかどうかを指定
#
# POPUP_G_VIEW 1
#
#    0 : 起動時はメインウインドウと一体
#    1 : 起動時に 独立のウインドウにする
#        デフォルトの動作は 0 : 起動時はメインウインドウと一体
#
POPUP_G_VIEW 1

#
# 2016.12.10
#
# DEFAULT_S2D_MODE : 2次元スキャンのデフォルトのモード指定
#
#    0 : ステップスキャン
#    1 : 擬似連続スキャン
#    2 : 連続スキャン
#
# 指定がない場合や範囲外の数字が指定されていた場合、2(連続スキャン)
#
DEFAULT_S2D_MODE 2


########################################################
#
#  Sect. 1.2  蛍光測定に関わる設定
#
########################################################

# SAVE_EACH_MCA_SPECTRUM 0/1
# 蛍光のXAFS測定をステップスキャンで行う際、各点のMCAのデータ
# (横軸蛍光X線エネルギー、縦軸カウントのデータ)をファイルに保存するかどうかの指定。
# この定義がない場合のデフォルトは 「0 : しない」。
#
SAVE_EACH_MCA_SPECTRUM 1
#SAVE_EACH_MCA_SPECTRUM 0

# MCA_CAN_SAVE_ALL 0/1
# 蛍光検出器で測定を行った際の MCA のデータを全てメモリー上に保存するかどうかの指定。
# 「全て」とは、蛍光のXAFS 測定を ステップスキャンで行い、かつ、
# 複数回(繰り返し回数が2以上)測定を指定したとき、
# 繰り返し回数分のデータが「全部」残ることを意味します。
# 「0:保存しない」でも「1:保存する」でも、最後に測定したデータは常にメモリ上にあります。
# 「1:保存する」にしていても、次の XAFS 測定がスタートした時点で古いデータは破棄されます。
# デフォルトは 「0 : 保存しない」 です。
# メモリ管理の問題から、Windows で 1 にすると不具合が起きます。
# Unix または MacOS 上で XafsM2 が動いている時だけ有効です。
#
MCA_CAN_SAVE_ALL 0        # !!!!!!!!!!!!!!!! Windows では 1 にしないでください。
#MCA_CAN_SAVE_ALL 1

# MAX_MCA_ENERGY (数字[keV単位])
# 蛍光スペクトルを表示する際の最大のエネルギーを指定します。
# (画面上での表示の範囲を指定する)
# この定義がない場合のデフォルトは 20[keV] です。
MAX_MCA_ENERGY  30

# MCAGAIN ch gain
# 19ch Ge SSD の各チャンネルのプリアンプのゲインを指定できます。
# XafsM2 起動時に、指定の値に変更してしまいます。終了時もそのままになります。
# 複数の多素子蛍光検出器をサポートしようとしている最新の XafsM2 では、
# この指定は廃止されるか、無視されることになります。
#MCAGAIN 5 0.768


######################################################
#
# Sect. 1.3  Q-XAFS 測定に関わる設定
#      (Q-XAFS に対する指定と同じ意味合いを持つ Normal-XAFS の指定を含む)
#
######################################################

# QXAFSMODE : Quick XAFS モードを使用可能にするかどうかと、
#             分光器制御に関するいくつかのパラメータの指定
#
#  QXAFSMODE 0/1 標準速度[pps] 最大速度[pps] 最小速度[pps] 加速レート[ms/pps]
#  QXAFSMODE 0 6000 15000 100 1.0
#
#   0/1 : 0 使用しない(デフォルト)、1 使用する
#  6000 : 標準速度
# 15000 : 最高速度
#   100 : 最低速度
#   0.1 : 加速レート
#         PMC に対して XafsM2がこの値を「セット」するわけではありません
#         PMC にセットされている加速レートを XafsM2 に教えるパラメータです
#
#QXAFSMODE 1 6000 6000 100 1.0
QXAFSMODE 1 4000 4000 100 1.0     // BL11S2 の最大速度は 4000pps!!

# QXAFS_MIN_INTERVAL : QXAFSでの1点当たりの最低測定時間の指定(秒単位)
#                      QXAFSのスキャン時間/その中での測定点数 = 1点当たりの測定時間
# パルスモータコントローラや検出器等の限界で決まる時間を XafsM2 に教える設定です。
# ヒント
#   ・PM16C04 が発生するトリガパルス幅は 1e-5 sec なのでこれより短くはできません。
#   ・アジレントのデジボル 34410a を測定に使用する場合、最低の積分時間が 1e-4 sec で
#   　測定の1サイクルに対する積分時間は 90% 以下でないといけないので、
#   　ここでの指定は 1.2e-4 sec 以上でなければなりません。
#   　実際には何かそれ以外の理由があってもっと長い時間を指定しないと
#      34410a は動作しないようです。
#   ・ツジ電子のカウンタ(ct08の系列)を使用する際には、カウンタの制限で
#     1e-3 が最低になります。
#
# この指定がない場合のデフォルトは 2.0e-4 ですが、明示的に指定するべきです。
#
#QXAFS_MIN_INTERVAL    2e-5     #
#QXAFS_MIN_INTERVAL    1.2e-4   #
QXAFS_MIN_INTERVAL     1.0e-3   # ct08/32 の性能で決まってる制限

# QXAFS_MAX_POINTS : Q-XAFS の際に指定できる最大の「測定点数」の設定
# この指定は 20,000 以下でないといけません。
# 指定がない場合のデフォルトは 9,990 です。
#
QXAFS_MAX_POINTS      19990
#QXAFS_MAX_POINTS      9990

# NXAFS_MAX_POINTS : Normal-XAFS の際に指定できる最大の「測定点数」の設定
# この指定は 20,000 以下でないといけません。
# 指定がない場合のデフォルトは 2,000 です。
#
NXAFS_MAX_POINTS       2000     # 増やしても良いが、蛍光測定の際、
                                # 各点の蛍光スペクトルのメモリー上への保存が破綻するかも

# Q-XAFS, Normal-XAFS, 連続スキャン に使用できる検出器のタイプの指定
# QXAFSOK  : Q-XAFS に使用できる検出器のタイプ
# NORMALOK : Norma-XAFS に使用できる検出器のタイプ
# CONTOK   : 連続の 2次元スキャンに使用できる検出器のタイプ
#
# 現在使える検出器タイプ 
#  DV   : アジレント 34410a の Quick-XAFS モード
#  DV3  : ct08 の Quick-XAFS モード
#  ENC2 : エンコーダ(EIB741)
#
#  CNT  : ツジ電子のカウンタ
#  PAM  : Keithley のピコアンメータ(1chタイプ)
#  SSD  : XMap 経由でつながった蛍光検出器の類
#         (「値」としては、指定された全チャンネルの合計)
#  SSDP : XMap 経由でつながった蛍光検出器の類の個別のチャンネル
#  CNT2 : ツジ電子のカウンタ。
#         ただしKeithleyをアンプに使い「レンジ切り替え」できるものと仮定される。
#  OTC  : Ortec994/974
#  OTC2 : Ortec994/974。ただしKeithleyをアンプに使い「レンジ切り替え」できると仮定。
#  DV2  : アジレント 34410a の Normal-XAFS モード
#  ENC  : エンコーダ(ND271)
#  CCG  : 真空計
#  FP23 : 温調の温度計測値
#  LSR  : stars-bridge 経由で取得するリングカレント
#  EPIC : EPIC 経由で光源から提供される各種データ。
#         BPM, アンジュレータギャップ、入射タイミング...
#  PAM2 : Keithley のピコアンメータ(2chタイプ)
#
QXAFSOK DV ENC2 DV3
NORMALOK CNT PAM SSD SSDP CNT2 OTC OTC2 DV2 ENC CCG FP23 LSR EPIC PAM2
CONTOK SSD CNT

###################################################################
#
# Sect. 1.4  イオンチャンバのガスに関する設定
#
###################################################################

# GAS : イオンチャンバ用のガスとして使用可能な固定混合比ガスの指定
# GAS            : ガス種指定行の ID
# "He:N2 30:70"  : ガス名(表示に使われるだけ)
#   以下の、次の2項目のセットが混合ガスの成分数だけ繰り返される
#   "N2"         : ガスの化学式(吸収/透過の計算に使用します。正しい化学式にしてください)
#   0.70         : そのガスの分圧。イオンチャンバを常圧で使用するなら、これの合計は 1。
#   "He"         ....
#
# BL11S2 では不要かつ実際のガスとは異なる設定だが、あっても構わないので残しておく。
GAS      "No.1 He:N2 70:30"  "N2" 0.700 "He" 0.300 ""
GAS      "No.2 N2         "  "N2" 1.000            ""
GAS      "No.3 N2:Ar 85:15"  "N2" 0.845 "Ar" 0.155 ""
GAS      "No.4 N2:Ar 75:25"  "N2" 0.745 "Ar" 0.255 ""
GAS      "No.5 N2:Ar 50:50"  "N2" 0.492 "Ar" 0.508 ""
GAS      "No.6 Ar         "             "Ar" 1.000 ""

# 'ICLENGTH' 使用可能なイオンチャンバの(長さの)定義
# ICLENGTH        : イオンチャンバ定義行の ID
# "I0 chamber"    : そのイオンチャンバの名前(表示に使われるだけ)
# "I0"            : そのイオンチャンバでデフォルトで 
#                   I0, I1 等の測定に使われるものであることの宣言。
# 14              : そのイオンチャンバの長さ(cm単位)
# "cm"            : 単位名(表示用)
#
ICLENGTH "I0 ch (14cm)" "I0" 14 "cm"
ICLENGTH "I1 ch (28cm)" "I1" 28 "cm"
ICLENGTH "I2 ch (28cm)" ""   28 "cm"

# MIXED_GAS : イオンチャンバに使用可能な可変比混合ガスの指定
#  ICLENGTH で指定した I0, I1 等に対応して、それぞれどのような混合ガスが流せるかを教える
# MIXED_GAS      : 混合ガス指定行の ID
#  "I0"          : I0 なのか、I1 なのかの情報。.... 何に使ってるんだっけ ??
#  "qGasFlow"    : ガスの混合比変更に担当する stars ドライバの名前
#  "ch0"         : ガスの混合比変更を担当する stars ドライバのチャンネル名
#  14.0          : イオンチャンバの有効長さ()
#  0.85          : 目指すべき最適「透過」率
#  0.70          : 警告を出すボーダラインの透過率
#  0.92          : 警告を出すボーラダインの透過率
#  6.00          : パージを行う時の流量の倍率(6倍)
#  "He" "N2" ... : そのラインで使える混合ガスの元ガスのリスト(化学式)
#
MIXED_GAS "I0" "qGasFlow-IonCh" "ch0" 14.0 0.85 0.80 0.92 6.0 "He" "N2" "Ar" "Kr50Ar50"
MIXED_GAS "I1" "qGasFlow-IonCh" "ch1" 28.0 0.10 0.05 0.30 6.0 "He" "N2" "Ar" "Kr50Ar50"

# ALTER_MIXED_GAS
#  この行は I1 に関してのみ定義するべき
#  I2 を使用する際の、I1 の理想透過率を定義
#  この理想透過率は XafsM2 の中でも変更可能
#
# ALTER_MIXED_GAS ID 理想値 警告下限値 警告上限値
#
ALTER_MIXED_GAS "I1" 0.50 0.40 0.60

# MIXED_GAS_FLOW
#  混合ガスの合計流量のデフォルトを指定する。
#
# MIXED_GAS_FLOW "I0" 50.0
#  MIXED_GAS_FLOW : デフォルトの流量を指定する行の ID
#  "I0"           : MIXED_GAS の 最初のパラメータとして現れる ID
#  50.0           : デフォルトの合計流量

MIXED_GAS_FLOW "I0" 50.0
MIXED_GAS_FLOW "I1" 50.0

###################################################################
#
# Sect. 1.5  ファイルの保存場所等に関する設定
#
###################################################################

INCLUDE "LOCAL_DEF.def"

# DATAROOT : 測定データを保存するデフォルトの場所の指定
#
#DATAROOT "/home/tabuchi/Data"
#DATAROOT "C:\Stars\Data"
DATAROOT "/home/xafs/Data"

# FULL_DUMP : 「保存」ボタンが押された時の XafsM2 の状態を保存するファイルの指定
#
#FULL_DUMP "C:\Stars\Dump\FullDump.xm2"

# AUTO_FULL_DUMP : XafsM2 がクラッシュした時の XafsM2 の状態を保存するファイルの指定
#
#AUTO_FULL_DUMP "C:\Stars\Dump\FullDump1.xm2" "C:\Stars\Dump\FullDump2.xm2"

# EXEC_LOG : XafsM2 が、「測定」、「スキャン」、「二次元スキャン」、「蛍光スペクトル計測」等の
#            何かの「動作中」の状態になった場合、そのことを記録するファイルの指定
#
#EXEC_LOG "C:\Stars\Dump\ExecLog.log"


# ダーク測定の結果を保存する場所
#
DARK_RECORD_FILE "dark\darkRecord.dat" # XafsM2.exe がある場所に dark というフォルダを作ってその中


#******************************************************************
###################################################################
#
# Sect. 2.  駆動軸の設定
#
# ほぼ決め打ちで PM16C04 を想定している。(ユニットタイプ PM)
# 一応、神津の古いコントローラ(SC200, 400)もユニットタイプ SC としてサポート
# 神津の新しいコントローラには stars ドライバ側で対処して PM16C04 に見せかけることで対応
# (Alies ドライバを使用)
# その他 PZ, AIOo 等も指定可能
# 
###################################################################
#******************************************************************

# 以下 MOTOR で定義される駆動軸は、定義された順で XafsM2 の中の選択リストに現れる。
# リストの上位に出したいものは前に定義し、順位を下げたいものは後で定義する。

# MOTOR : 駆動軸の定義
#   PM            : 駆動軸のタイプ(実際にはstarsドライバのタイプ
#                 :    PM : stars の pm16c04 ドライバ経由で駆動される PM16C04,
#                           alias ドライバ経由で駆動される Alias 等
#     "M000"      : モータの固有 ID。これがダブっていると XafsM2 は起動しません。
#                 : ここでは "M + 3桁の数字" を使っていますが、任意の文字列で構いません。
#     "THETA"     : XafsM2 にとって特別の意味を持つ駆動軸を指定します。
#                 : THETA : 分光結晶の主軸
#     "Theta"     : 画面上に表示されるときの文字列。
#                   「日本語化」の機構で、日本語に置換されます。
#                 : 置換表に無い文字列の場合はそのまま表示されます
#     "pm16c04-1" : その駆動軸を担当している Stars のドライバ名
#     "ch3"       : その駆動軸に対応する Stars のチャンネル名
#     "deg"       : 駆動軸が動かす物理量の単位(表示のみに使用)
#     0.000027... : 1パルス(駆動軸の単位移動量)が上記の単位で数えた物理量で
#                   どれだけの大きさに対応するかの比(単位/パルス)
#     INT         : 駆動軸の移動量が整数(パルス)か、実数(例えばピエゾ)かの指定。
#                   実数の場合には REAL と指定する。
#     -11406      : 駆動軸のゼロ点位置

# SPEEDS : 駆動軸の駆動スピードのデフォルト
# SPEEDS "M009" 3000 5000 100 24
#   "M009"  : 駆動スピードをs指定する駆動軸の ID
#    3000   : 通常の駆動速度
#    5000   : 最大駆動速度
#     100   : 加速レート (ms/1000pps)
#      24   : 加速レートを表す PM16C04 のテーブル番号
#           :　 0: 1000ms/1000pps, 24: 100ms/1000pps, 48: 10ms/1000pps, 72: 1ms/1000pps

# 使用されている ID 一覧
#         M201, M202, M203, M204, M205, M206, M207, M208, M209
#   M210, M211, M212, M213, M214, M215, M216, M217, M218, M219
#   M220, M221, M222, M223, M224, M225, M226
#   M230, M231, M232, M233, M234, M235, M236
#   M240, M241, M242, M243
#   M250, M251, M252, M253, M254, M255
#   M300, M301, M302, M303, M304, M305, M306, M307, M308, M309
#   M310, M311, M312, M313, M314, M315, M316, M317, M318, M319
#   M320, M321, M322, M323, M324, M325, M326, M327, M328, M329
#   M330
#   M400, M401, M402

#################################################################
#
# Sect. 2.1  多くのユーザーが使うと予想される、一般に開放して良い駆動軸
#
#################################################################

# Δθ1 
MOTOR PM "M219" "DTH1"    "DXM dTh1"                    "pm16c04-1" "ch0"  "arcsec" 0.05    INT 0

# ハッチ内4象限スリット
MOTOR PM "M240" "SLIT"    "Slit in Hatch Z Open/Close"  "pm16c04-4" "ch0"  "mm"     0.002   INT -5000
MOTOR PM "M241" "SLIT"    "Slit in Hatch X Open/Close"  "pm16c04-4" "ch1"  "mm"     0.002   INT -5000
MOTOR PM "M242" "SLIT"    "Slit in Hatch Z Move"        "pm16c04-4" "ch3"  "mm"     0.0005  INT 0
MOTOR PM "M243" "SLIT"    "Slit in Hatch X Move"        "pm16c04-4" "ch2"  "mm"     0.0005  INT 0

# 試料ステージ
#  2軸ステージ
MOTOR PM "M250" "STAGE"   "2Ax Sample Stage(Xs)"  "pm16c04-4" "ch4"  "mm"   0.002       INT 0
MOTOR PM "M251" "STAGE"   "2Ax Sample Stage(Zs)"  "pm16c04-4" "ch5"  "mm"   0.002       INT 0
#  4軸ステージ
MOTOR PM "M252" "STAGE"   "4Ax Sample Stage(Xc)"  "pm16c04-4" "ch7"  "mm"   0.0005      INT 0
MOTOR PM "M253" "STAGE"   "4Ax Sample Stage(Zc)"  "pm16c04-4" "ch6"  "mm"   0.0005      INT 0
MOTOR PM "M254" "STAGE"   "4Ax Sample Stage(Phi)" "pm16c04-4" "ch8"  "deg"  0.004       INT 0
MOTOR PM "M255" "STAGE"   "4Ax Sample Stage(Omg)" "pm16c04-4" "ch9"  "deg"  0.001531915 INT 0

#  2軸ステージ転用ヤグラステージ
MOTOR PM "M256" "STAGE"   "Yagura Stage X"  "pm16c04-4" "ch4"  "mm"   0.002        INT 0
MOTOR PM "M257" "STAGE"   "Yagura Stage Z"  "pm16c04-4" "ch5"  "mm"   0.0001       INT 0

#  4軸ステージ転用 He Box Z
MOTOR PM "M258" "STAGE"   "He Box Z (4Ax Omg)" "pm16c04-4" "ch9"  "mm"  0.0001 INT 0

# 高次光除去ミラー
MOTOR PM "M233" "M2"       "M2 Gap"            "pm16c04-1" "ch11"  "mm"   0.00005        INT 0
MOTOR PM "M324" "OPTICS"   "M2 Z-B Move"       "pmAlias"   "ach20" "mm"   0.0000125      INT 0
MOTOR PM "M326" "OPTICS"   "M2 Z-B Tilt(mrad)" "pmAlias"   "ach21" "mrad" 0.0000454545   INT 0
MOTOR PM "M327" "OPTICS"   "M2 Z Move"         "pmAlias"   "ach22" "mm"   0.0000125      INT 0
MOTOR PM "M329" "OPTICS"   "M2 Z Tilt(mrad)"   "pmAlias"   "ach23" "mrad" 0.0000303398   INT 0

# ハッチ内定盤
MOTOR PM "M245" "STAGE"    "Stage X"  "pm16c04-4" "ch10"  "mm"   0.0004         INT 0
MOTOR PM "M246" "STAGE"    "Stage Y"  "pm16c04-4" "ch11"  "mm"   0.0004         INT 0
MOTOR PM "M247" "STAGE"    "Stage Z"  "pm16c04-4" "ch12"  "mm"   0.0000333333   INT 0

# 分光器
MOTOR PM "M218" "THETA"  "DXM Theta"        "pm16c04-1" "ch6"  "deg"    0.000027777777 INT 0
SPEEDS "M218" 4000 4000 100 48     # 10ms/1000pps

################################################################
# Sect. 2.1.1 シャッター軸の定義と Auto Shutter の有効化
################################################################

# ダーク測定時の自動シャッターを実現するハッチ内シャッター(実はスリット)
MOTOR ONOFF "M400" "SHUTTER" "Shutter in Hatch" "Shutter" "" "" 1 INT 1

# 起動時、ダーク測定時の自動シャッターの項目にチェックを入れる(1)
AUTOSHUTTER 1

#################################################################
#
# Sect. 2.2  通常はユーザが操作しない、操作することが望ましくない駆動軸
#
#################################################################
#
#IGNORE_MOTOR 1   # この行を生かすと、以降の MOTOR 定義は読み込まない # <<<<<<<<<<<<<<<<<<<<<
#

# 水冷4象限スリット
MOTOR PM "M201" "4WS"  "W4WS Left"   "pm16c04-3" "ch2" "mm" 0.001 INT 0
MOTOR PM "M202" "4WS"  "W4WS Right"  "pm16c04-3" "ch3" "mm" 0.001 INT 0
MOTOR PM "M203" "4WS"  "W4WS Upper"  "pm16c04-3" "ch0" "mm" 0.001 INT 0
MOTOR PM "M204" "4WS"  "W4WS Lower"  "pm16c04-3" "ch1" "mm" 0.001 INT 0

# M0ミラー
MOTOR PM "M205" "M0"  "M0 X1"   "pm16c04-2" "ch0" "mm" 0.0004   INT 0
MOTOR PM "M206" "M0"  "M0 X2"   "pm16c04-2" "ch1" "mm" 0.0004   INT 0
MOTOR PM "M207" "M0"  "M0 Z1"   "pm16c04-2" "ch2" "mm" 0.0002   INT 0
MOTOR PM "M208" "M0"  "M0 Z2"   "pm16c04-2" "ch3" "mm" 0.0002   INT 0
MOTOR PM "M209" "M0"  "M0 Bend" "pm16c04-2" "ch4" "mm" 0.000125 INT 0

# 上流4象限スリット
MOTOR PM "M210" "4WS"  "4WS1 Left"   "pm16c04-3" "ch6" "mm" 0.001 INT 0
MOTOR PM "M211" "4WS"  "4WS1 Right"  "pm16c04-3" "ch7" "mm" 0.001 INT 0
MOTOR PM "M212" "4WS"  "4WS1 Upper"  "pm16c04-3" "ch4" "mm" 0.001 INT 0
MOTOR PM "M213" "4WS"  "4WS1 Lower"  "pm16c04-3" "ch5" "mm" 0.001 INT 0

# 分光器    # Δθ1の定義は 2.1 の先頭に、主軸θの定義は 2.1 の最後にある
#MOTOR PM "M218" "THETA"  "DXM Theta"        "pm16c04-1" "ch6"  "deg"    0.000027777777 INT 0
#SPEEDS "M218" 4000 650 10 48     # 10ms/1000pps
#
MOTOR PM "M220" "DXM"    "DXM dTh2"         "pm16c04-1" "ch2"  "arcsec" 0.05           INT 0
MOTOR PM "M221" "DXM"    "DXM Ty2"          "pm16c04-1" "ch3"  "arcsec" 0.05           INT 0
MOTOR PM "M230" "DXM"    "DXM Z1 Stage H  " "pm16c04-1" "ch1"  "um"     0.05           INT 0
MOTOR PM "M231" "DXM"    "DXM Xt (111-311)" "pm16c04-1" "ch5"  "mm"     0.0004         INT 0
MOTOR PM "M232" "DXM"    "DXM Beam Stopper" "pm16c04-1" "ch4"  "mm"     0.002          INT 0

# M1 ミラー
MOTOR PM "M222" "M1"  "M1 X1"   "pm16c04-2" "ch5" "mm" 0.0004   INT 0
MOTOR PM "M223" "M1"  "M1 X2"   "pm16c04-2" "ch6" "mm" 0.0004   INT 0
MOTOR PM "M224" "M1"  "M1 Z1"   "pm16c04-2" "ch7" "mm" 0.0002   INT 0
MOTOR PM "M225" "M1"  "M1 Z2"   "pm16c04-2" "ch8" "mm" 0.0002   INT 0
MOTOR PM "M226" "M1"  "M1 Bend" "pm16c04-2" "ch9" "mm" 0.000125 INT 0

# 下流4象限スリット
MOTOR PM "M214" "4WS"  "4WS2 Left"   "pm16c04-3" "ch10" "mm" 0.001 INT 0
MOTOR PM "M215" "4WS"  "4WS2 Right"  "pm16c04-3" "ch11" "mm" 0.001 INT 0
MOTOR PM "M216" "4WS"  "4WS2 Upper"  "pm16c04-3" "ch8"  "mm" 0.001 INT 0
MOTOR PM "M217" "4WS"  "4WS2 Lower"  "pm16c04-3" "ch9"  "mm" 0.001 INT 0

# 水冷4象限スリットの別定義
MOTOR PM "M300" "OPTICS"   "W4WS X-Move" "pmAlias" "ach0"  "mm" 0.001 INT 0
MOTOR PM "M301" "OPTICS"   "W4WS X-O/C"  "pmAlias" "ach1"  "mm" 0.001 INT 0
MOTOR PM "M302" "OPTICS"   "W4WS Z-Move" "pmAlias" "ach2"  "mm" 0.001 INT 0
MOTOR PM "M303" "OPTICS"   "W4WS Z-O/C"  "pmAlias" "ach3"  "mm" 0.001 INT 0

# 上流4象限スリットの別定義
MOTOR PM "M304" "OPTICS"   "4WS1 X-Move" "pmAlias" "ach4"  "mm" 0.001 INT 0
MOTOR PM "M305" "OPTICS"   "4WS1 X-O/C"  "pmAlias" "ach5"  "mm" 0.001 INT 0
MOTOR PM "M306" "OPTICS"   "4WS1 Z-Move" "pmAlias" "ach6"  "mm" 0.001 INT 0
MOTOR PM "M307" "OPTICS"   "4WS1 Z-O/C"  "pmAlias" "ach7"  "mm" 0.001 INT 0

# 下流4象限スリットの別定義
MOTOR PM "M308" "OPTICS"   "4WS2 X-Move" "pmAlias" "ach8"  "mm" 0.001 INT 0
MOTOR PM "M309" "OPTICS"   "4WS2 X-O/C"  "pmAlias" "ach9"  "mm" 0.001 INT 0
MOTOR PM "M310" "OPTICS"   "4WS2 Z-Move" "pmAlias" "ach10" "mm" 0.001 INT 0
MOTOR PM "M311" "OPTICS"   "4WS2 Z-O/C"  "pmAlias" "ach11" "mm" 0.001 INT 0

# M0 ミラーの別定義
MOTOR PM "M312" "OPTICS"   "M0 X-Move"       "pmAlias" "ach12" "mm" 0.0004 INT 0
MOTOR PM "M313" "OPTICS"   "M0 X-Rotate(mm)" "pmAlias" "ach13" "mm" 0.0004 INT 0
MOTOR PM "M314" "OPTICS"   "M0 Z-Move"       "pmAlias" "ach14" "mm" 0.0002 INT 0
MOTOR PM "M315" "OPTICS"   "M0 Z-Tilt(mm)"   "pmAlias" "ach15" "mm" 0.0002 INT 0
MOTOR PM "M320" "OPTICS"   "M0 X-R(deg)"  "pmAlias" "ach13" "deg"  0.00002546479 INT 0
MOTOR PM "M321" "OPTICS"   "M0 Z-T(mrad)" "pmAlias" "ach15" "mrad" 0.0002222222 INT 0

# M1 ミラーの別定義
MOTOR PM "M316" "OPTICS"   "M1 X-Move"       "pmAlias" "ach16" "mm" 0.0004 INT 0
MOTOR PM "M317" "OPTICS"   "M1 X-Rotate(mm)" "pmAlias" "ach17" "mm" 0.0004 INT 0
MOTOR PM "M318" "OPTICS"   "M1 Z-Move"       "pmAlias" "ach18" "mm" 0.0002 INT 0
MOTOR PM "M319" "OPTICS"   "M1 Z-Tilt(mm)"   "pmAlias" "ach19" "mm" 0.0002 INT 0
MOTOR PM "M322" "OPTICS"   "M1 X-R(deg)"  "pmAlias" "ach17" "deg"  0.00002546479 INT 0
MOTOR PM "M323" "OPTICS"   "M1 Z-T(mrad)" "pmAlias" "ach19" "mrad" 0.0002222222 INT 0

# 高次光除去ミラーの別定義
MOTOR PM "M234" "M2"     "M2 Z1"           "pm16c04-1" "ch8"   "mm"  0.0000125 INT 0
MOTOR PM "M235" "M2"     "M2 Z2"           "pm16c04-1" "ch9"   "mm"  0.0000125 INT 0
MOTOR PM "M236" "M2"     "M2 Z3"           "pm16c04-1" "ch10"  "mm"  0.0000125 INT 0
MOTOR PM "M325" "OPTICS" "M2 Z-B Tilt(mm)" "pmAlias"   "ach21" "mm"  0.0000125 INT 0
MOTOR PM "M328" "OPTICS" "M2 Z Tilt(mm)"   "pmAlias"   "ach23" "mm"  0.0000125 INT 0
MOTOR PM "M330" "OPTICS" "M2 Distance"     "pm16c04-1" "ch11"  "mm"  0.00005   INT 0

# 
#IGNORE_MOTOR 0        # これを生かすと、以降に MOTOR の定義があった場合、それはまた有効になる
#

######################################################################
#
# Sect. 2.3  移動量をパルスでなく実単位で指定するのがデフォルトになる駆動軸
#
######################################################################

# DEF_U_REAL : 「条件設定」で「移動」、「スキャン」を行うときのデフォルトの単位を
#              パルスにするか実単位にするかの選択。ここで定義すると実単位。
#              定義されない場合のデフォルトはパルス単位。
#
DEF_U_REAL M240 M241 M242 M243       # ハッチ内4象限スリット
DEF_U_REAL M245 M246 M247            # ハッチ内定盤
DEF_U_REAL M250 M251                 # 2軸ステージ
DEF_U_REAL M252 M253 M254 M255       # 4軸ステージ

######################################################################
#
# Sect. 2.4 2つの駆動軸を組み合わせて「試料チェンジャ」を構成する
#
#######################################################################

# CHANGER : 2つの駆動軸の組み合わせを「チェンジャ」として登録する
# 
# CHANGER "C000" "3x3 Stage" "M009" "M010" 3 3 1 1 50 45 -1 -1 30000 30000
#
# CHANGER      :   チェンジャの登録を示すキーワード
#  "C000"      :   チェンジャの ID 
#  "3x3 Stage" :   名前。表示にだけ使用される
#  "M009"      :   チェンジャを構成する駆動軸、その1
#  "M010"      :   チェンジャを構成する駆動軸、その2
#     3        :   駆動軸1の方向に幾つ試料を置けるか
#     3        :   駆動軸2の方向に幾つ試料を置けるか
#     1        :   駆動軸1の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#     1        :   駆動軸2の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    50        :   駆動軸1の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    45        :   駆動軸2の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸1の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#    -1        :   駆動軸2の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸1方向の開口幅
#  30000       :   試料ホルダーの駆動軸2方向の開口幅

CHANGER "C000" "3x3 Stage"    "M250" "M251" 3 3 1 1 66 70 -1 -1 15000 15000   # 最後の 15000 は 3cm に相当
#CHANGER "C001" "7x7 Grater Stage" "M009" "M010" 7 7   3 3 15 15 -1 -1 30000 30000
CHANGER "C002" "4ax Stage XZ" "M252" "M253" 1 1 0 0  0  0  1  1      0      0
#CHANGER "C003" "6x5 Stage"        "M009" "M010" 6 5 2.5 2 18 20 -1 -1 30000 30000

#CHANGER "C004" "Base XZ"          "M035" "M037" 1 1   0 0  0  0  1  1     0     0


# MCHANGER : 2つ以上駆動軸の組み合わせを「チェンジャ」として登録する
# 
# MCHANGER "C000" "3x3x3 Stage" 3   "M009" 3 1 50 -1 3000    "M010" 3 1 45 -1 30000    "M011" 3 1 50 -1 3000
#
# MCHANGER     :   チェンジャの登録を示すキーワード
#  "C000"      :   チェンジャの ID 
#  "3x3 Stage" :   名前。表示にだけ使用される
#     3        :   チェンジャを構成する軸の数

#  "M009"      :   チェンジャを構成する駆動軸、その1
#     3        :   駆動軸1の方向に幾つ試料を置けるか
#     1        :   駆動軸1の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    50        :   駆動軸1の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸1の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸1方向の開口幅

#  "M010"      :   チェンジャを構成する駆動軸、その2
#     3        :   駆動軸2の方向に幾つ試料を置けるか
#     1        :   駆動軸2の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    45        :   駆動軸2の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸2の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸2方向の開口幅

#  "M011"      :   チェンジャを構成する駆動軸、その3
#     3        :   駆動軸3の方向に幾つ試料を置けるか
#     1        :   駆動軸3の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    45        :   駆動軸3の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸3の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸3方向の開口幅

#   .... 軸の数だけ繰り返し ....

#******************************************************************
###################################################################
#
# Sect. 3.    検出器の設定
# 
###################################################################
#******************************************************************

########################################################
#
# Sect. 3.1  検出器の定義
#
# XafsM2 で使用できる検出器はかなり多様。
#  現在使用可能な検出器タイプに関しては、1.3 の
#  QXAFSOK, NORMALOK, CONTOK の項を参照
#
########################################################

# 
# 使用中の ID
#   S000, S001, S002    : Normal XAFS I0, I1, I2
#   S006                : 蛍光検出器
#   S010 - S041         : ct32 の全チャンネル
#   S100, S101, S102    : Quick  XAFS I0, I1, I2
#   S200 - S205         : Keithley 微小電流計
#   S300, 301, 302      : nct08-01b の 0, 1, 2 ch (将来使用予定)

#
# ステップスキャン I0, I1, I2
#
SENSOR CNT "S000" "I0"       "I0"        "qct08-1" "ch23" "count" YES "S000"
SENSOR CNT "S001" "I1"       "I1"        "qct08-1" "ch22" "count" YES "S000"
SENSOR CNT "S002" "I2"       "I2"        "qct08-1" "ch21" "count" YES "S000"

#
# 蛍光検出器の定義
#
SENSOR SSD  "S006" "TotalF" "SDD(7ch)"       "7SDD"      "" "count" YES "S006" 7 4096 30.0 DTypeV7Ch KeV2MCApix-7SDD-BL11.txt "" "" YES

#
# クイックスキャン I0, I1, I2
#
SENSOR DV3 "S100" "QXAFS-I0" "I0 Quick"  "qct08-1" "ch23" "count" YES "S100" 100.0
SENSOR DV3 "S101" "QXAFS-I1" "I1 Quick"  "qct08-1" "ch22" "count" YES "S100" 100.0
SENSOR DV3 "S102" "QXAFS-I2" "I2 Quick"  "qct08-1" "ch21" "count" YES "S102" 100.0

#
# Keithley 微小電流計
#   1ch のもの (6485, 6487) は PAM
#
SENSOR PAM "S200" "GENERAL" "Keithley 6485-1(in rack out of hatch)"    "m6485drv1" "" "mA" NO ""
SENSOR PAM "S201" "GENERAL" "Keithley 6485-2(in rack out of hatch)"    "m6485drv2" "" "mA" NO ""
#SENSOR PAM "S202" "GENERAL" "Keithley 6485-3(NPort shared with BL5S1)" "m6485drv3" "" "mA" NO ""
#SENSOR PAM "S203" "GENERAL" "Keithley 6485-4(NPort shared with BL5S1)" "m6485drv4" "" "mA" NO ""
#SENSOR PAM "S204" "GENERAL" "Keithley 6485-5(NPort in hatch(port 3))"  "m6485drv5" "" "mA" NO ""
#SENSOR PAM "S205" "GENERAL" "Keithley 6485-6(NPort in hatch(port 4))"  "m6485drv6" "" "mA" NO ""

#   2ch のもの (6482) は PAM2
#
#SENSOR PAM2 "S206" "GENERAL" "6482-1(Nport3)" "m6482drv-1" "0" "mA" YES "S206"
#SENSOR PAM2 "S207" "GENERAL" "6482-2(Nport3)" "m6482drv-1" "1" "mA" YES "S206"
#SENSOR PAM2 "S208" "GENERAL" "6482-3(Nport4)" "m6482drv-2" "0" "mA" YES "S208"
#SENSOR PAM2 "S209" "GENERAL" "6482-4(Nport4)" "m6482drv-2" "1" "mA" YES "S208"

#
# ct32 の全チャンネル(I0, I1, I2 のチャンネルも一律の名前で再定義)
#
SENSOR CNT "S010" "GENERAL" "ct32 ch00" "qct08-1" "ch00" "count" YES "S000"
SENSOR CNT "S011" "GENERAL" "ct32 ch01" "qct08-1" "ch01" "count" YES "S000"
SENSOR CNT "S012" "GENERAL" "ct32 ch02" "qct08-1" "ch02" "count" YES "S000"
SENSOR CNT "S013" "GENERAL" "ct32 ch03" "qct08-1" "ch03" "count" YES "S000"
SENSOR CNT "S014" "GENERAL" "ct32 ch04" "qct08-1" "ch04" "count" YES "S000"
SENSOR CNT "S015" "GENERAL" "ct32 ch05" "qct08-1" "ch05" "count" YES "S000"
SENSOR CNT "S016" "GENERAL" "ct32 ch06" "qct08-1" "ch06" "count" YES "S000"
SENSOR CNT "S017" "GENERAL" "ct32 ch07" "qct08-1" "ch07" "count" YES "S000"
SENSOR CNT "S018" "GENERAL" "ct32 ch08" "qct08-1" "ch08" "count" YES "S000"
SENSOR CNT "S019" "GENERAL" "ct32 ch09" "qct08-1" "ch09" "count" YES "S000"
SENSOR CNT "S020" "GENERAL" "ct32 ch10" "qct08-1" "ch10" "count" YES "S000"
SENSOR CNT "S021" "GENERAL" "ct32 ch11" "qct08-1" "ch11" "count" YES "S000"
SENSOR CNT "S022" "GENERAL" "ct32 ch12" "qct08-1" "ch12" "count" YES "S000"
SENSOR CNT "S023" "GENERAL" "ct32 ch13" "qct08-1" "ch13" "count" YES "S000"
SENSOR CNT "S024" "GENERAL" "ct32 ch14" "qct08-1" "ch14" "count" YES "S000"
SENSOR CNT "S025" "GENERAL" "ct32 ch15" "qct08-1" "ch15" "count" YES "S000"

SENSOR CNT "S026" "GENERAL" "ct32 ch16" "qct08-1" "ch16" "count" YES "S000"
SENSOR CNT "S027" "GENERAL" "ct32 ch17" "qct08-1" "ch17" "count" YES "S000"
SENSOR CNT "S028" "GENERAL" "ct32 ch18" "qct08-1" "ch18" "count" YES "S000"
SENSOR CNT "S029" "GENERAL" "ct32 ch19" "qct08-1" "ch19" "count" YES "S000"
SENSOR CNT "S030" "GENERAL" "ct32 ch20" "qct08-1" "ch20" "count" YES "S000"
SENSOR CNT "S031" "GENERAL" "ct32 ch21" "qct08-1" "ch21" "count" YES "S000"
SENSOR CNT "S032" "GENERAL" "ct32 ch22" "qct08-1" "ch22" "count" YES "S000"
SENSOR CNT "S033" "GENERAL" "ct32 ch23" "qct08-1" "ch23" "count" YES "S000"
SENSOR CNT "S034" "GENERAL" "ct32 ch24" "qct08-1" "ch24" "count" YES "S000"
SENSOR CNT "S035" "GENERAL" "ct32 ch25" "qct08-1" "ch25" "count" YES "S000"
SENSOR CNT "S036" "GENERAL" "ct32 ch26" "qct08-1" "ch26" "count" YES "S000"
SENSOR CNT "S037" "GENERAL" "ct32 ch27" "qct08-1" "ch27" "count" YES "S000"
SENSOR CNT "S038" "GENERAL" "ct32 ch28" "qct08-1" "ch28" "count" YES "S000"
SENSOR CNT "S039" "GENERAL" "ct32 ch29" "qct08-1" "ch29" "count" YES "S000"
SENSOR CNT "S040" "GENERAL" "ct32 ch30" "qct08-1" "ch30" "count" YES "S000"
SENSOR CNT "S041" "GENERAL" "ct32 ch31" "qct08-1" "ch31" "count" YES "S000"

#
# リング電流モニタ
#
SENSOR LSR "S400" "LS" "Ring Current Monitor" "LS" "Ring" "mA" NO ""

#
# 真空計 (CC10)
#
SENSOR CCG "S401" "VacGauge" "CC-10" "CC-10" "" "Pa" NO ""

#
# 温調の温度表示
#
SENSOR FP23 "S403" "FP23" "FP23" "qfp23" "" "degree C" NO ""

#
# 入射タイミング (stars-bridge経由)
#
SENSOR LSR "S402" "GENERAL" "Injection Monitor" "LS" "Injection" "On/Off" NO ""

#
# 将来 I0, I1, I2 の常時モニターに使う予定の nct08-01b の 3ch
#
#SENSOR CNT "S300" "GENERAL" "nct08-01b ch0" "nct08" "C00" "count" YES "S300"
#SENSOR CNT "S301" "GENERAL" "nct08-01b ch1" "nct08" "C01" "count" YES "S301"
#SENSOR CNT "S302" "GENERAL" "nct08-01b ch2" "nct08" "C02" "count" YES "S302"

#
# 主軸θのエンコーダ
#   ENC は、ND287
#   ENC2 は Quick の際に使用する EIB741
#
SENSOR ENC  "S300" "ENCTH"  "Encoder Th"  "nd287"  "" "deg" NO ""
SENSOR ENC2 "S301" "ENCTH2" "Encoder Th2" "EIB741" "" "deg" NO "" 2.441406e-6

###########################################################
#
# Sect. 3.2 検出器に関する補助的な設定
#
###########################################################

###########################################################
#
# Sect. 3.2.1 検出器の最大値設定  2017.1.11
#    積分型の連続スキャンを行った時のオーバーフロウの補正用
#
###########################################################

# MAX_VALUE [b/i/d] [num] [Sensor-IDs ...]
#    [b/i/d]          : b = bit length, i = integer, d = double
#    [num]            : max value
#    [Sensor-IDs ...] : この設定が適用されるセンサーの ID
#
MAX_VALUE b 32 S000 S001 S002 S100 S101 S102                           # ct32 Step/Quick I0, I1, I2
MAX_VALUE b 32 S010 S011 S012 S013 S014 S015 S016 S017 S018 S019 S020  # ct32 全チャンネル
MAX_VALUE b 32      S021 S022 S023 S024 S025 S026 S027 S028 S029 S030
MAX_VALUE b 32      S031 S032 S033 S034 S035 S036 S037 S038 S039 S040
MAX_VALUE b 32 S006                                                    # 7ch SDD

##########################################################
#
# Sect. 3.2.2 同一検出器設定 2017.2.27
#
#　　実体が同じデバイスを相互に結びつける
#　　【注意!!】　XafsM2 は別々に宣言された SENSOR でも、
#                Stars のドライバ名と Ch 名が同じなら
#　　　　　　　　自動的に同じものと認識する。
#　　ここで設定するのは、Starsのドライバ名、チャンネル名が違うが
#　　それでも実体が同じというケース
#    
##########################################################

#UNION S000 S100     # step/quick I0   // どちらも qct08-1 ch24 なので UNION 設定不要
#UNION S001 S101     # step/quick I1
#UNION S002 S102     # step/quick I2

#########################################################
#
# Sect. 3.2.3  デフォルトの測定モード(検出器の組み合わせ)の設定
#
#########################################################

#### NORMAL 測定でのモード設定

# 「透過モード("TransM")」の定義
#
MEAS_MODE "TransM" "I0 S000" "I1 S001" "A1 S002 3"

# 「蛍光モード("FluoM")」の定義
#
MEAS_MODE "FluoM"  "I0 S000" "F 0"

# 「転換電子収量モード("CEYM")」の定義
#    Aux1 に I1 を選択し、表示モードを 0 (A1/I0)にする
#
MEAS_MODE "CEYM"    "I0 S000" "A1 S001 0"

#### Quick 測定でのモード設定

# 「透過モード("TransM")」の定義
#
QMEAS_MODE "TransM" "I0 S100" "I1 S101" "A1 S102 3"

# 「転換電子収量モード("CEYM")」の定義
#    Aux1 に I1 を選択し、表示モードを 0 (A1/I0)にする
#
QMEAS_MODE "CEYM"  "I0 S100" "A1 S102 0"


#########################################################
#
# Sect. 4 実験的な設定や、新規に導入されて、整理できていない設定
#
#########################################################

##########################################################
#
# Sect. 4.1 検出器からアラームを受け取った時の動作の設定
#
##########################################################

ALARM2       "A001" "I0 Level Alert" "ICMon" ""
ALARM2SIGNAL "A001" "_LevelAlert I0 2" 2
ALARM2SIGNAL "A001" "_LevelAlert I0 1" 1
ALARM2SIGNAL "A001" "_LevelAlert I0 0" 0
ALARM2SIGNAL "A001" "_LevelAlert I0 -1" 1
ALARM2SIGNAL "A001" "_LevelAlert I0 -2" 2

ALARM2       "A002" "I1 Level Alert" "ICMon" ""
ALARM2SIGNAL "A002" "_LevelAlert I1 2" 2
ALARM2SIGNAL "A002" "_LevelAlert I1 1" 1
ALARM2SIGNAL "A002" "_LevelAlert I1 0" 0
ALARM2SIGNAL "A002" "_LevelAlert I1 -1" 1
ALARM2SIGNAL "A002" "_LevelAlert I1 -2" 2

ALARM2       "A003" "I2 Level Alert" "ICMon" ""
ALARM2SIGNAL "A003" "_LevelAlert I2 2" 2
ALARM2SIGNAL "A003" "_LevelAlert I2 1" 1
ALARM2SIGNAL "A003" "_LevelAlert I2 0" 0
ALARM2SIGNAL "A003" "_LevelAlert I2 -1" 1
ALARM2SIGNAL "A003" "_LevelAlert I2 -2" 2

###################################################
# Sect. 4.2 : 多数回スキャンのファイル名に時間を入れる際のパタン
###################################################

TIME_PATTERN     "hhmmss"

###################################################
# Sect. 4.3 : ログファイルへの記録パタンの定義
###################################################

# 2017.3.30
#
NXAFS_LOG \
  ""\
  "-------------"\
  "測定モード : %MODE%"\
  "測定日時   : %DATE%  %TIME%"\
  "ファイル名 : %FNAME%"\
  "コメント   : %COMMENT%"\
  "測定ブロック設定 : (単位:%UNIT%)"\
  "%BLOCK%"\
  "-------------"

COMMENT "Setting Quick XAFS Log Template"
QXAFS_LOG \
  ""\
  "-------------"\
  "測定モード   : %MODE%"\
  "測定日時     : %DATE%  %TIME%"\
  "ファイル名   : %FNAME%"\
  "コメント     : %COMMENT%"\
  "始点-終点    : %QSTART% - %QEND%"\
  "刻み幅, 点数 : %QSTEP%, %QPOINTS%"\
  "計測時間     : %QDWELL%"\
  "-------------"


###################################################
# Sect. 4.4 : 軸ごとの1軸スキャンのデフォルト設定
#             11S2 では当面使わない
###################################################

# SCAN_RANGE             2017.03.02 作業開始
#                             03.06 多分 OK
#                             03.10 不具合指摘 Speed 指定が効いてない
#  各軸のスキャン(1軸のスキャン)の初期設定が独立に出来るようにする

# Δθ1
#          Motor-Id Pulse/Real(P/R) Speed(H/M/L) Start  End  Step  Dwell
# SCAN_RANGE   M219        P               H        -100  100    10      1

###################################################
# Sect. 4.5 : 実体が同じでバイス(検出器)の指定
#             11S2 では当面使わない
###################################################

# UNION [デバイスのID] [デバイスのID]... (複数可)
#   実体が同じデバイスの ID を記載
#   【注意!!】 但し、別々に宣言された SENSOR でも、Stars のドライバ名と Ch 名が同じなら
#   自動的に同じものと認識する機能は XafsM2 に組み込まれている。
#   ここで UNION 宣言するのは、Starsのドライバ名、チャンネル名が違うが
#   それでも実体が同じもの、というケース(カウンタを quick と step に使うときなど)

# UNION "S001" "S101"    // でも結局 UNION 指定は現在は不要だった
# UNION "S002" "S102"    // Step でも Quick でも、Stars のドライバは qct08 で、
#                        // XafsM2 側で CNT 型か、DV3 型かを区別してるだけだったので

###################################################
#########  動作試験中!!!!!!  ######################
###################################################
# Sect. 4.6 : 検出器に、アンプを紐付けることで        
#             レンジ設定可能な検出器として使用可能にする
###################################################

# カウンタなどの計測器で、その前につながっているアンプ等をコントロールして
# レンジ変更が可能なものについて、追加で、レンジ指定可能の属性を付ける
# もともとレンジ設定をサポートしている検出器(CNT2, PAM2 等)では無効
# (指定してはいけない)
#
# RANGE_SELECTABLE S000 -3 -10 qca5350-1 ""
#
# RANGE_SELECTABLE [検出器ID] [最小レンジ] [最大レンジ] [レンジ指定に使用するドライバ] [チャンネル]
#

RANGE_SELECTABLE S000 -3 -10 qca5350-1 ""         # I0
RANGE_SELECTABLE S001 -3 -10 qca5350-2 ""         # I1
RANGE_SELECTABLE S002 -3 -10 qca5350-3 ""         # I2
RANGE_SELECTABLE S100 -3 -10 qca5350-1 ""         # quick I0
RANGE_SELECTABLE S101 -3 -10 qca5350-2 ""         # quick I1
RANGE_SELECTABLE S102 -3 -10 qca5350-3 ""         # quick I2


#*******************************************************************************
#*******************************************************************************
#########################################################
DEF_END    # この行以降は定義ファイルとして読み込まない
#########################################################
#*******************************************************************************
#*******************************************************************************

#########################################################
#
# Sect. 5. 以下、ここでは使っていない定義
#    そういうt定義もできることを覚えておくためだけにコメントとして残す
#
#########################################################

##########################
#
# 5.1 駆動軸関係
#
##########################

#SPEC_CHG "A001" "Al Series" "C003" 
#POS_NAME "A001" 26 "Al ~~0"  Al000    0  um
#POS_NAME "A001"  5 "Al ~~1"  Al001   12  um
#POS_NAME "A001"  4 "Al ~~2"  Al002   24  um
#POS_NAME "A001"  3 "Al ~~4"  Al004   48  um
#POS_NAME "A001"  2 "Al ~~6"  Al006   72  um
#POS_NAME "A001"  1 "Al ~~8"  Al008   96  um
#POS_NAME "A001"  0 "Al ~12"  Al012  144  um
#POS_NAME "A001" 11 "Al ~16"  Al016  192  um
#POS_NAME "A001" 10 "Al ~24"  Al024  288  um
#POS_NAME "A001"  9 "Al ~32"  Al032  384  um
#POS_NAME "A001"  8 "Al ~40"  Al040  480  um
#POS_NAME "A001"  7 "Al ~48"  Al048  576  um
#POS_NAME "A001"  6 "Al ~56"  Al056  672  um
#POS_NAME "A001" 17 "Al ~64"  Al064  768  um
#POS_NAME "A001" 16 "Al ~80"  Al080  960  um
#POS_NAME "A001" 15 "Al ~96"  Al096 1152  um
#POS_NAME "A001" 14 "Al 128"  Al128 1536  um
#POS_NAME "A001" 28 "Shutter" SHUTTER 999999 um
#POS_NAME "A001" 27 "1.5mm pin hole" PINHOLE 0 um

#CALIB_ENGS 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0

# SPEC_CHG     :   The key word is used to define an special changer
#              :     of which positions has some special attributions
#  "A001"      :   Uniq identifire of the changer. The ID must be identical
#  "Al Series" :   Name of the changer, which will be used only for display.
#  "C003"      :   The ID of the simple changer used as base of the special changer

# POS_NAME     :   The key word is used to define name and attributions
#              :     of a special changer
#  "A001"      :   The ID of the special changer
#     5        :   The number of the changer position
#  "Al 1"      :   The name of the position
#     0 um ... :   The rest of the line is additional attributions
#              :     which will be separated by space (\s+) 

# ATT_PIN      :   The key word is used to define an pin-hole on an attenuator-changer
#  "A001"      :   The ID of the attenuator
#   27         :   The position of the pin-hole
#  "1.5mm..."  :   The name of the pin hole.  Only for display

##########################
#
# 5.2 検出器関係
#
##########################

#SENSOR CNT "S900" "GENERAL" "nct08-01b ch0" "nct08" "C00" "count" YES "S900"
#SENSOR CNT "S901" "GENERAL" "nct08-01b ch1" "nct08" "C01" "count" YES "S900"


# The parameters following the identifier 'SENSOR' are
#   CNT              : Unit type   CNT : Counter nct08
#   "S000"           : Uniq identifire of the sensor. The identifier must be identical.
#                    : The identifier can be any string, while it is identical.
#   "I0"             : Identifier of the sensor
#                    : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                    : default sensors for I0, I1, Aux1,...
#   "Counter 0 (I0)" : The name of the unit (only for display)
#   "nct0801"        : Stars driver name
#   "ch0"            : Node name in the stars driver
#   "count"          : Name of the metric unit (only for display)
#   YES              : If the sensor has a parente (group leader) or not. YES or NO
#   "S000"             : The identifier of the parent (group reader)

#SENSOR CNT "S001" "GENERAL" "Counter 1 (I1)" "nct0802" "ch1" "count" YES "S000"
#SENSOR CNT "S200" "GENERAL" "Counter 2 (I2)" "nct0802" "ch2" "count" YES "S000"

#SENSOR CNT2 "S002" "GENERAL" "Counter 2 (I0 via KTL)" "nct0802" "ch2" "count" YES "S000" "S004" -2 -9
#SENSOR CNT2 "S003" "GENERAL" "Counter 3 (I1 via KTL)" "nct0802" "ch3" "count" YES "S000" "S005" -2 -9
#SENSOR CNT2 "S002" "I0" "Counter 2 (I0 via KTL)" "simmotor" "SNScnt2" "count" YES "S000" "S004" -2 -9
#SENSOR CNT2 "S003" "I1" "Counter 3 (I1 via KTL)" "simmotor" "SNScnt3" "count" YES "S000" "S005" -2 -9

#SENSOR CNT "S001" "I1" "Counter 1 (I1)" "simmotor" "SNScnt1" "count" YES "S000"
# The parameters following the identifier 'SENSOR' are
#   CNT2             : Unit type  CNT2 : Counter nct08 exteded connected to keithley
#   "S002"           : Uniq identifire of the sensor. The identifier must be identical.
#                    : The identifier can be any string, while it is identical.
#   "GENERAL"        : Identifier of the sensor
#                    : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                    : default sensors for I0, I1, Aux1,...
#   "Counter 2 (I0)" : The name of the unit (only for display)
#   "nct0801"        : Stars driver name
#   "ch2"            : Node name in the stars driver
#   "count"          : Name of the metric unit (only for display)
#   YES              : If the sensor has a parente (group leader) or not. YES or NO
#   "S000"           : The identifier of the parent (group reader)
#   "S004"           : The identifier of the second driver
#   -2               : Upper range limit
#   -9               : Lower range limit

#SENSOR PAM "S004" "Aux1" "Keithley 6485-1" "simmotor" "SNSkth1" "mA" NO ""
#SENSOR PAM "S005" "Aux2" "Keithley 6485-2" "simmotor" "SNSkth2" "mA" NO ""

# The parameters following the identifier 'SENSOR' are
#   PAM      : Unit type   PAM : Pico-am-mator keithley 6485
#     "S004"            : Uniq identifire of the sensor. The identifier must be identical.
#                       : The identifier can be any string, while it is identical.
#     "GENERAL"         : Identifier that this is a generally used sensor
#                       : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                       : default sensors for I0, I1, Aux1,...
#     "Keithley 6485-1" : The name of the unit (only for display)
#     "m6485drv-1"      : Stars driver name
#     ""                : Node name in the stars driver
#     "mA"              : Name of the metric unit (only for display)
#     NO                : If the sensor has a parente (group leader) or not. YES or NO
#     ""                : The identifier of the parent (group reader)

SENSOR SSD  "S006" "TotalF"  "SSD (19ch all)" "QtXmapSSD" ""   "count" YES "S006"
#SENSOR SSDP "S007" "SingleF" "SSD-ch00"  "QtXmapSSD"      "0"  "count" YES "S006"
#SENSOR SSDP "S008" "SingleF" "SSD-ch01"  "QtXmapSSD"      "1"  "count" YES "S006"
#SENSOR SSDP "S009" "SingleF" "SSD-ch02"  "QtXmapSSD"      "2"  "count" YES "S006"
#SENSOR SSDP "S010" "SingleF" "SSD-ch03"  "QtXmapSSD"      "3"  "count" YES "S006"
#SENSOR SSDP "S011" "SingleF" "SSD-ch04"  "QtXmapSSD"      "4"  "count" YES "S006"
#SENSOR SSDP "S012" "SingleF" "SSD-ch05"  "QtXmapSSD"      "5"  "count" YES "S006"
#SENSOR SSDP "S013" "SingleF" "SSD-ch06"  "QtXmapSSD"      "6"  "count" YES "S006"
#SENSOR SSDP "S014" "SingleF" "SSD-ch07"  "QtXmapSSD"      "7"  "count" YES "S006"
#SENSOR SSDP "S015" "SingleF" "SSD-ch08"  "QtXmapSSD"      "8"  "count" YES "S006"
#SENSOR SSDP "S016" "SingleF" "SSD-ch19"  "QtXmapSSD"      "9"  "count" YES "S006"
#SENSOR SSDP "S017" "SingleF" "SSD-ch10"  "QtXmapSSD"      "10" "count" YES "S006"
#SENSOR SSDP "S018" "SingleF" "SSD-ch11"  "QtXmapSSD"      "11" "count" YES "S006"
#SENSOR SSDP "S019" "SingleF" "SSD-ch12"  "QtXmapSSD"      "12" "count" YES "S006"
#SENSOR SSDP "S020" "SingleF" "SSD-ch13"  "QtXmapSSD"      "13" "count" YES "S006"
#SENSOR SSDP "S021" "SingleF" "SSD-ch14"  "QtXmapSSD"      "14" "count" YES "S006"
#SENSOR SSDP "S022" "SingleF" "SSD-ch15"  "QtXmapSSD"      "15" "count" YES "S006"
#SENSOR SSDP "S023" "SingleF" "SSD-ch16"  "QtXmapSSD"      "16" "count" YES "S006"
#SENSOR SSDP "S024" "SingleF" "SSD-ch17"  "QtXmapSSD"      "17" "count" YES "S006"
#SENSOR SSDP "S025" "SingleF" "SSD-ch18"  "QtXmapSSD"      "18" "count" YES "S006"

SENSOR ENC "S300" "ENCTH" "Encoder Th" "nd287" "" "deg" NO ""
#SENSOR ENC "S026" "ENCTH" "Encoder Th" "simmotor" "SNSnd287" "deg" NO ""

#   ENC      : Unit type   ENC an encorder observed/controlled via nd287
#     "S026"       : Uniq identifire of the sensor. The identifier must be identical.
#                  : The identifier can be any string, while it is identical.
#     "ENCTH"      : Identifier that this is the main axis of the monochromator
#     "Encoder Th" : The name of the unit (only for display)
#     "nd287"      : Stars driver name
#     ""           : Node name in the stars driver
#     "deg"        : Name of the metric unit (only for display)
#     NO           : If the sensor has a parente (group leader) or not. YES or NO
#     ""           : The identifier of the parent (group reader)

#SENSOR OTC "S027" "GENERAL" "Otc974 ch1(timer)" "ortec974" "counter01" "count" YES "S027"
#SENSOR OTC "S028" "GENERAL" "Otc974 ch2" "ortec974" "counter02" "count" YES "S027"
#SENSOR OTC "S029" "GENERAL" "Otc974 ch3" "ortec974" "counter03" "count" YES "S027"
#SENSOR OTC "S030" "GENERAL" "Otc974 ch4" "ortec974" "counter04" "count" YES "S027"
#SENSOR OTC "S027" "GENERAL" "Otc974 ch1(timer)" "simmotor" "OTCCh01" "count" YES "S027"
#SENSOR OTC "S028" "GENERAL" "Otc974 ch2" "simmotor" "OTCCh02" "count" YES "S027"
#SENSOR OTC "S029" "GENERAL" "Otc974 ch3" "simmotor" "OTCCh03" "count" YES "S027"
#SENSOR OTC "S030" "GENERAL" "Otc974 ch4" "simmotor" "OTCCh04" "count" YES "S027"

# The parameters following the identifier 'SENSOR' are
#   OTC              : Unit type   OTC : Counter ortec978
#   "S027"           : Uniq identifire of the sensor. The identifier must be identical.
#                    : The identifier can be any string, while it is identical.
#   "GENERAL"        : Identifier of the sensor
#                    : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                    : default sensors for I0, I1, Aux1,...
#   "Otc974 0"       : The name of the unit (only for display)
#   "ortec974"       : Stars driver name
#   "counter01"      : Node name in the stars driver
#   "count"          : Name of the metric unit (only for display)
#   YES              : If the sensor has a parente (group leader) or not. YES or NO
#   "S027"           : The identifier of the parent (group reader)

#SENSOR OTC2 "S031" "GENERAL" "Otc974 ch2(via KTL-1)" "ortec974" "counter02" "count" YES "S027" "S004" -2 -9
#SENSOR OTC2 "S032" "GENERAL" "Orc974 ch3(via KTL-2)" "ortec974" "counter03" "count" YES "S027" "S005" -2 -9
#SENSOR OTC2 "S031" "GENERAL" "Otc974 ch2(via KTL-1)" "simmotor" "OTCCh03" "count" YES "S027" "S004" -2 -9
#SENSOR OTC2 "S032" "GENERAL" "Orc974 ch3(via KTL-2)" "simmotor" "OTCCh04" "count" YES "S027" "S005" -2 -9

# The parameters following the identifier 'SENSOR' are
#   OTC2             : Unit type  OTC2 : Counter ortec974 exteded connected to keithley
#   "S029"           : Uniq identifire of the sensor. The identifier must be identical.
#                    : The identifier can be any string, while it is identical.
#   "GENERAL"        : Identifier of the sensor
#                    : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                    : default sensors for I0, I1, Aux1,...
#   "Otc974 2"       : The name of the unit (only for display)
#   "ortec974"       : Stars driver name
#   "counter03"      : Node name in the stars driver
#   "count"          : Name of the metric unit (only for display)
#   YES              : If the sensor has a parente (group leader) or not. YES or NO
#   "S027"           : The identifier of the parent (group reader)
#   "S004"           : The identifier of the second driver
#   -2               : Upper range limit
#   -9               : Lower range limit

#SENSOR OTC "S033" "GENERAL" "Otc994 ch1" "ortec994" "ch0" "count" YES "S033"
#SENSOR OTC "S034" "GENERAL" "Otc994 ch2" "ortec994" "ch1" "count" YES "S033"

# The driver ortec994 (by M. Tabuchi) can be used as "OTC" and "OTC2".

SENSOR LSR "S400" "LS" "Ring Current Monitor" "LS" "Ring" "mA" NO ""

#The sensor 'LSR' add newly on Feb. 25, 2013.
#   LSR              : Unit type LSR : Brigde to the ring-network
#   "S035"           : Uniq identifire of the sensor. The identifier must be identical.
#                    : The identifier can be any string, while it is identical.
#   "LS"             : Identifier of the sensor
#                    : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                    : default sensors for I0, I1, Aux1,...
#   "Ring CUrrent Monitor"" : The name of the unit (only for display)
#   "LS"             : Stars driver name
#   "Ring"           : Node name in the stars driver
#   "mA"             : Name of the metric unit (only for display)
#   NO               : If the sensor has a parente (group leader) or not. YES or NO
#   ""               : The identifier of the parent (group reader)

#SENSOR DV3 "S200" "GENERAL" "Quick ct32 ch00" "qct08-1" "ch00" "count" YES "S212"
#SENSOR DV3 "S201" "GENERAL" "Quick ct32 ch01" "qct08-1" "ch01" "count" YES "S212"
#SENSOR DV3 "S202" "GENERAL" "Quick ct32 ch02" "qct08-1" "ch02" "count" YES "S212"
#SENSOR DV3 "S203" "GENERAL" "Quick ct32 ch03" "qct08-1" "ch03" "count" YES "S212"
#SENSOR DV3 "S204" "GENERAL" "Quick ct32 ch04" "qct08-1" "ch04" "count" YES "S212"
#SENSOR DV3 "S205" "GENERAL" "Quick ct32 ch05" "qct08-1" "ch05" "count" YES "S212"
#SENSOR DV3 "S206" "GENERAL" "Quick ct32 ch06" "qct08-1" "ch06" "count" YES "S212"
#SENSOR DV3 "S207" "GENERAL" "Quick ct32 ch07" "qct08-1" "ch07" "count" YES "S212"
#SENSOR DV3 "S208" "GENERAL" "Quick ct32 ch08" "qct08-1" "ch08" "count" YES "S212"
#SENSOR DV3 "S209" "GENERAL" "Quick ct32 ch09" "qct08-1" "ch09" "count" YES "S212"
#ENSOR DV3 "S210" "GENERAL" "Quick ct32 ch10" "qct08-1" "ch10" "count" YES "S212"
#SENSOR DV3 "S211" "GENERAL" "Quick ct32 ch11" "qct08-1" "ch11" "count" YES "S212"

#SENSOR DV3 "S216" "GENERAL" "Quick ct32 ch16" "qct08-1" "ch16" "count" YES "S212"
#SENSOR DV3 "S217" "GENERAL" "Quick ct32 ch17" "qct08-1" "ch17" "count" YES "S212"
#SENSOR DV3 "S218" "GENERAL" "Quick ct32 ch18" "qct08-1" "ch18" "count" YES "S212"
#SENSOR DV3 "S219" "GENERAL" "Quick ct32 ch19" "qct08-1" "ch19" "count" YES "S212"
#SENSOR DV3 "S220" "GENERAL" "Quick ct32 ch20" "qct08-1" "ch20" "count" YES "S212"
#SENSOR DV3 "S221" "GENERAL" "Quick ct32 ch21" "qct08-1" "ch21" "count" YES "S212"
#SENSOR DV3 "S222" "GENERAL" "Quick ct32 ch22" "qct08-1" "ch22" "count" YES "S212"
#SENSOR DV3 "S223" "GENERAL" "Quick ct32 ch23" "qct08-1" "ch23" "count" YES "S212"
#SENSOR DV3 "S224" "GENERAL" "Quick ct32 ch24" "qct08-1" "ch24" "count" YES "S212"
#SENSOR DV3 "S225" "GENERAL" "Quick ct32 ch25" "qct08-1" "ch25" "count" YES "S212"
#SENSOR DV3 "S226" "GENERAL" "Quick ct32 ch26" "qct08-1" "ch26" "count" YES "S212"
#SENSOR DV3 "S227" "GENERAL" "Quick ct32 ch27" "qct08-1" "ch27" "count" YES "S212"
#SENSOR DV3 "S228" "GENERAL" "Quick ct32 ch28" "qct08-1" "ch28" "count" YES "S212"
#SENSOR DV3 "S229" "GENERAL" "Quick ct32 ch29" "qct08-1" "ch29" "count" YES "S212"
#SENSOR DV3 "S230" "GENERAL" "Quick ct32 ch30" "qct08-1" "ch30" "count" YES "S212"
#SENSOR DV3 "S231" "GENERAL" "Quick ct32 ch31" "qct08-1" "ch31" "count" YES "S212"

# S060 - S064 : move to the top of the list
#SENSOR DV3  "S068" "QXAFS-I0" "I0 (Qct 100MHz)"   "qct08-1" "ch6" "count" YES "S065" 100.0
#SENSOR DV3  "S069" "QXAFS-I1" "I1 (Qct 100MHz)"   "qct08-1" "ch7" "count" YES "S065" 100.0
#SENSOR DV3  "S065" "QXAFS-I2" "I0 (Qct 0)"        "qct08-1" "ch0" "count" YES "S065" 100.0
#SENSOR DV3  "S066" "GENERAL" "I1 (Qct 1)"        "qct08-1" "ch1" "count" YES "S065" 100.0
#SENSOR DV3  "S067" "GENERAL" "I2 (Qct 2)"        "qct08-1" "ch2" "count" YES "S065" 100.0
#SENSOR DV3  "S081" "GENERAL" "Sum (Qct 0+1+2+3)" "qct08-1" "ch8" "count" YES "S065" 100.0
#
# the DV is Agilent34410 for QXAFS
#
#    the last parameter 0.06 set maximum integration time
#
#SENSOR DV "S036" "GENERAL" "QXAFS A34410-1" "q34410a-1" "" "V" NO "" 0.999
#SENSOR DV "S037" "GENERAL" "QXAFS A34410-2" "q34410a-2" "" "V" NO "" 0.999
#SENSOR DV "S038" "GENERAL" "QXAFS A34410-3" "q34410a-3" "" "V" NO "" 0.999

#
# the DV2 is Agilent34410 for normal measurement
#
#SENSOR DV2 "S039" "GENERAL" "Agilent34410-1" "a34410a-1" "" "V" NO ""
#SENSOR DV2 "S040" "GENERAL" "Agilent34410-2" "a34410a-2" "" "V" NO ""
#SENSOR DV2 "S041" "GENERAL" "Agilent34410-3" "a34410a-3" "" "V" NO ""

SENSOR ENC2 "S301" "ENCTH2" "Encoder Th2" "EIB741" "" "deg" NO "" 2.441406e-6

# The parameters following the identifier 'SENSOR' are
#   ENC2      : Unit type   ENC2 is an encorder with memory
#     "S040"       : Uniq identifire of the sensor. The identifier must be identical.
#                  : The identifier can be any string, while it is identical.
#     "ENCTH2"     : Identifier that this is the main axis of the monochromator
#     "EIB741"     : The name of the unit (only for display)
#     "EIB741"     : Stars driver name
#     ""           : Node name in the stars driver
#     "deg"        : Name of the metric unit (only for display)
#     YES          : If the sensor has a parente (group leader) or not. YES or NO
#     "S006"       : The identifier of the parent (group reader)
#     2.441406e-6  : Unit per Puls -- reading 1 puls is 2.441406 deg

SENSOR PAM2 "S243" "GENERAL" "6482-1(Nport3)" "m6482drv-1" "0" "mA" YES "S243"
SENSOR PAM2 "S244" "GENERAL" "6482-2(Nport3)" "m6482drv-1" "1" "mA" YES "S243"
SENSOR PAM2 "S245" "GENERAL" "6482-3(Nport4)" "m6482drv-2" "0" "mA" YES "S245"
SENSOR PAM2 "S246" "GENERAL" "6482-4(Nport4)" "m6482drv-2" "1" "mA" YES "S245"

# The parameters following the identifier 'SENSOR' are
#   PAM2      : Unit type   PAM : Pico-am-mator keithley 6482
#     "S004"            : Uniq identifire of the sensor. The identifier must be identical.
#                       : The identifier can be any string, while it is identical.
#     "GENERAL"         : Identifier that this is a generally used sensor
#                       : I0, I1, Aux1, Aux2, TotalF,... is used to identify
#                       : default sensors for I0, I1, Aux1,...
#     "Keithley 6482-1" : The name of the unit (only for display)
#     "m6482drv"        : Stars driver name
#     "0"               : Node name in the stars driver, it must be "0", "1", "2",...
#                       :                                      for PAM2
#     "mA"              : Name of the metric unit (only for display)
#     YES               : If the sensor has a parente (group leader) or not. YES or NO
#     "S043"            : The identifier of the parent (group reader)

SENSOR CCG "S401" "VacGauge" "CC-10" "CC-10" "" "Pa" NO ""

# AIO is a D/A converter
#SENSOR AIOi "S046" "GENERAL" "A in 0" "Aio64" "i0" "mV" NO ""
#SENSOR AIOi "S047" "GENERAL" "A in 1" "Aio64" "i1" "mV" NO ""
#SENSOR AIOi "S048" "GENERAL" "A in 2" "Aio64" "i2" "mV" NO ""
#SENSOR AIOi "S049" "GENERAL" "A in 3" "Aio64" "i3" "mV" NO ""
#SENSOR AIOi "S050" "GENERAL" "A in 4: Wave mon. to ctrl. dTh1" "Aio64" "i4" "mV" NO ""
#SENSOR AIOi "S051" "GENERAL" "A in 5: I0 mon. to ctrl. dTh1" "Aio64" "i5" "mV" NO ""

#SENSOR AIOi "S095" "GENERAL" "Cryo Temp." "cryocon" "" "K" NO ""

#
# new node injection is available
#
#SENSOR LSR "S052" "LS" "Injection Monitor" "simmotor" "Ring" "mA" NO ""
SENSOR LSR "S402" "GENERAL" "Injection Monitor" "LS" "Injection" "On/Off" NO ""

SENSOR FP23 "S403" "FP23" "FP23" "FP23" "" "degree C" NO ""

# The DATAROOT line define the default place where the measured data stored.
#DATAROOT "/home/tabuchi/Data"
#DATAROOT "/C:\Stars\Data"
DATAROOT "/home/xafs/Data"


# The FULL_DUMP line difine the default file name
#   where the full conditions of the XafsM2 are stored when FullDump button is clicked.
FULL_DUMP "C:\Stars\Dump\FullDump.xm2"

# The AUTO_FULL_DUMP line define the file name
#   where the conditions of XafsM2 saved automatically
AUTO_FULL_DUMP "C:\Stars\Dump\FullDump1.xm2" "C:\Stars\Dump\FullDump2.xm2"

# The EXEC_LOG line define the file name
#   where the execution of any functions of XafsM2 (Xafs Meas., Scan, 2DScan, Meas. MCA)
#         is recording
EXEC_LOG "C:\Stars\Dump\ExecLog.log"


# Special Monochro control
# MSTAB "DriverName" "delegate output name"
#MSTAB "Aio64" "M031" 

SENSOR EPIC "S410" "GENERAL" "Current via epics" "epicsbridge_caget" "NUSR_S_DCM_MON"     "mA" NO ""
SENSOR EPIC "S411" "GENERAL" "BPM12 Vertical"    "epicsbridge_caget" "S_BPM_V_12_AVG_MON" "mm" NO ""
SENSOR EPIC "S412" "GENERAL" "BPM12 Horizontal"  "epicsbridge_caget" "S_BPM_H_12_AVG_MON" "mm" NO ""
SENSOR EPIC "S413" "GENERAL" "BPM13 Vertical"    "epicsbridge_caget" "S_BPM_V_13_AVG_MON" "mm" NO ""
SENSOR EPIC "S414" "GENERAL" "BPM13 Horizontal"  "epicsbridge_caget" "S_BPM_H_13_AVG_MON" "mm" NO ""
SENSOR EPIC "S415" "GENERAL" "Undulator Gap"     "epicsbridge_caget" "WS_S_UND_GAP_MON"   "mm" NO ""

#SENSOR DV3 "S075" "GENERAL" "I0 (Qct08)"        "qct08-1" "ch0" "count" YES "S075" 100.0
#SENSOR DV3 "S076" "GENERAL" "I1 (Qct08)"        "qct08-1" "ch1" "count" YES "S075" 100.0
#SENSOR DV3 "S077" "GENERAL" "I2 (Qct08)"        "qct08-1" "ch2" "count" YES "S075" 100.0
#SENSOR DV3 "S078" "GENERAL" "I0 (Qct08 100MHz)" "qct08-1" "ch6" "count" YES "S075" 100.0
#SENSOR DV3 "S079" "GENERAL" "I1 (Qct08 100MHz)" "qct08-1" "ch7" "count" YES "S075" 100.0

##########################################################################
#

# What is New
# 2013/04/03 add 'ENERGYRANGE' line
# 2013/04/03 add 'DEFAULTUNIT' line
# 2013/04/16 add 'ENC2'        line
# 2013/04/19 add 'QXAFSOK'     line
#                'NORMALOK'    line
# 2013/04/25 add 'MCAGAIN'     line
# 2013/05/03 add new IDs 'ChangerX' and 'ChangerZ' for PMs
# 2013/05/23 add 'CHANGER'     line.
#                The IDs 'ChangerX' and 'ChangerY' will be obsolete soon.
# 2013/05/27 add 3rd 34410a for QXafs
# 2013/06/24 add RW_DXMCENTER_CFG line
# 2013/07/08 change the origin of 4WS(in hatch) Z
# 2013/07/17 add a parameter for 'DV' which decide maximum integration time.
# 2013/09/30 add 'CONTOK'      line
# 2013/10/08 add 'SPEEDS'      line
# 2013/10/29 a sensor PAM2 (m6482) is supported 
# 2013/10/30 merged with actually using XAFM.def at BL5S1
# 2013/11/01 add 'SPEC_CHG'    line.  'special changer'
# 2013/11/01 add 'POS_NAME'    line.  'position name'
# 2013/11/03 a character '~' can be use to by replaced with ' ' after this file is read
# 2013/11/03 add 'CALIB_ENGS'  line
# 2013/11/19 add 'DEF_U_REAL'  line use to specify motors whose displayed unit should be 'real' not pulse as default.
# 2013/11/28 add 'DATAROOT'    line to define data root
# 2013/12/16 add 'MCA_CAN_SAVE_ALL' line
# 2014/04/28 add 'MAX_MCA_ENERGY' line
# 2014/05/18 add New SENSOR 'AIOi' via Aio64 driver 
# 2014/05/18 add New MOTOR  'AIOo' via Aio64 driver
# 2014/05/18 add 'MSTAB'       line to control delta-theta-1
# 2014/06/12 add new node 'Injection' to LSR to observe injection of beam
# 2014/06/18 a sensor FP23 is supported
# 2014/11/11 add 'SAVE_EACH_MCA_SPECTRUM' line
# 2014/12/04 a sensor EPIC is supported
# 2015/02/02 add 'ALARM'       line to define an alarm
# 2015/06/?? change definition of SSD
# 2015/07/17 add 'MEAS_MODE' line
# 2015/07/16 add several axes for Mirror in hutch
# 2015/09/18 add 'QMEAS_MODE' line
# 2015/10/15 add 'QXAFS_MIN_INTERVAL' line
# 2015/10/23 add 'QXAFS_MAX_POINTS' line
# 2016/03/18 add 'FULL_DUMP' line
# 2016/03/24 add 'AUTO_FULL_DUMP' line
# 2016/03/24 add 'EXEC_LOG' line
# 2016/04/13 add 'NXAFS_MAX_POINTS" line
# 2016/04/13 add 'BLNAME' line
# 2016/06/27 add 'MIXED_GAS" line
# 2016/06/30 update 'MIXED_GAS" line

# 2017.2.27 : UNION 設定追加
