空蟬ファサード関数#
空蟬環境におけるファサード関数とは、空蟬で実装されているデータ処理の基本コマンドを必要に応じてより使いやすくまとめたりパラメータを整理したりしたビームライン専用の関数を指す。以下のような特徴を持つ。
空蟬基本関数をベースする
装置に適した関数だけを抜き出し使用
装置に特化した固有の関数が用意
機能ごとにグループ化
これらのファサード関数は、空蟬のコマンドシーケンスソフトウェアであるSequenceEditorによって装置ごとの関数として自動的に読み込まれるものであり、通常のユーザーが実際に目にしたり、利用したりするものである。大半が空蟬基本関数をそのままファサード関数としたり、基本関数をベースにより使いやすい関数を作成・提供したりと、ここは装置の個性の現れる部分である。
ファサード関数の使い方#
先に述べたように、本来ファサード関数はビームラインごとに異なっている。通常ファサード関数はグループ化されており、それぞれモジュールとしてまとめられている( Com, Cmm , Hist など)。これらファサード関数は、SequenceEditorで使用し、かつユーザーがスクリプトを書くときにこれらの関数を積極的に使用することになるであろう。ファサード関数はグループとして直接Pythonの実行パス上に存在しているので、呼び出すのが簡単である。空蟬環境におけるこれらファサード関数を直接実行する方法を示しておく。
>>> import Cmm
>>> ec = Cmm.AverageAll( dat )
など
以降の節では、どのビームラインでも共通で使用される Com モジュールのリファレンスのみ示し、ビームラインごとのモジュールは割愛する。
共通データ一般処理(グループ:Com)#
ElementContainerなどを取り扱う際に利用するコマンド群である。
Group |
Commands |
|
---|---|---|
Com |
CopyContainers |
シーケンサ上のデータの複製を作る。 |
CalcContainers |
シーケンサ上のデータ同士の計算を行う。 |
|
SearchHeaderInteg |
シーケンサ上のデータのヘッダを検索する。 |
|
SearchHeaderDouble |
シーケンサ上のデータのヘッダを検索する。 |
|
ExecCode |
シーケンサ上のデータを用い、自由なPythonコマンドを実行する。 |
|
ExecFunctionCode |
ExecCodeと同じだが、戻り値を指定できる。 |
|
ExecCodeManyArgs |
ExecCodeと同等だが、使用できる変数が6つに増えている。 |
|
ExecFunctionCodeManyArgs |
ExecFunctionCodeと同等だが、使用できる変数が6つに増えている。 |
|
MakeECList |
ElementContainerArrayのデータからElementContainerを取り出し、Pythonのリストに収める |
Com.CopyContainers#
ElementContainer、ElementContainerArray, ElementContainerMatrix,Pythonのリストといったデータの複製を作り戻り値とする。
パラメータ |
タイプ |
説明 |
---|---|---|
dat |
各種 |
ElementContainer, ElementContainerArray, ElementContainerMatrix, Python List |
戻り値 |
datと同じ |
Com.CalcContainers#
ElementContainer、ElementContainerArray,ElementContainerMatrixデータ同士の計算を行い、結果を別のコンテナで返す。
パラメータ |
タイプ |
説明 |
---|---|---|
dat1 |
各種 |
ElementContainer, ElementContainerArray, ElementContainerMatrix |
dat2 |
各種 |
ElementContainer, ElementContainerArray, ElementContainerMatrix |
coef1 |
実数(Double) |
dat1の係数 |
coef2 |
実数(Double) |
dat2の係数 |
戻り値 |
datと同じ。 coef1 × da1 + coef2 × dat2 の演算行われ、戻り値として新しい ElementContainerMatrix(もしくはArray) が作られる。 |
Com.SearchHeaderInteger#
ElementContainerMatrixにある全ElementContainerのヘッダ情報のうち、整数をもつヘッダ情報を検索する。該当する全ElementContainerはElementContainerArrayとして戻る。
パラメータ |
タイプ |
説明 |
---|---|---|
Target |
Element-Container-Matrix |
対象となるデータ。 |
HeaderKey |
文字列(String) |
検索を行うヘッダKey。 |
Min |
整数(Int4) |
検索条件の最小値。 |
Max |
整数(Int4) |
検索条件の最大値。 |
戻り値 |
ElementContainerArray。 |
Com.SearchHeaderDouble#
ElementContainerMatrixにある全ElementContainerのヘッダ情報のうち、実数をもつヘッダ情報を検索する。該当する全ElementContainerはElementContainerArrayとして戻る。
パラメータ |
タイプ |
説明 |
---|---|---|
Target |
Element-Container-Matrix |
対象となるデータ。 |
HeaderKey |
文字列(String) |
検索を行うヘッダKey。 |
Min |
実数(Double) |
検索条件の最小値。 |
Max |
実数(Double) |
検索条件の最大値。 |
戻り値 |
ElementContainerArray。 |
Com.ExecCode#
Pythonのコマンドを実行する。パラメータとしては、実行されるコードと、用いるデータ(2つまで)を与えることができる。ExecCodeは実行するだけである。
パラメータ |
タイプ |
説明 |
---|---|---|
Code |
文字列(String) |
実行したいコマンド。なお、下記のAを変数として用いることができる。Manyo Libの関数群を使用したい場合は、インスタンスとしてmmが割り当てられているので、 mm.XXXX(XXXXはコマンド) と実行することができる。 |
A |
各種 |
変数として用いたいデータを指定する。ただし、使用しない場合でも、何らかの値を入れておかないと動作しない。 |
戻り値 |
なし。 |
Com.ExecFunctionCode#
Pythonのコマンドを実行する。パラメータとしては、実行されるコードと、用いるデータ(2つまで)を与えることができる。ExecFunctionCodeは実行されたコードの戻り値を取り出す事ができる。
パラメータ |
タイプ |
説明 |
---|---|---|
Code |
文字列(String) |
実行したいコマンド。なお、下記のA,Bを変数として用いることができる。Manyo Libの関数群を使用したい場合は、インスタンスとしてmmが割り当てられているので、 mm.XXXX(XXXXはコマンド) と実行することができる。 |
A |
各種 |
変数として用いたいデータを指定する。ただし、使用しない変数があっても、何らかの値を入れておかないと動作しない。 |
B |
各種 |
変数として用いたいデータを指定する。ただし、使用しない変数があっても、何らかの値を入れておかないと動作しない。 |
戻り値 |
Codeの戻り値 |
Com.ExecCodeManyArgs#
Com.ExecCodeと同じだが、使用出来る変数がA,B,C,D,E,Fの6つになったもの。
Com.ExecFunctionCodeManyArgs#
ExecFunctionCodeと同じだが、使用できる変数がA,B,C,D,E,Fの6つになったもの。
Com.MakeECList#
ElementContainerArrayのデータからElementContainerを取り出し、Pythonのリストに収める。
パラメータ |
タイプ |
説明 |
---|---|---|
DAT |
Element-Container-Array |
対象となるデータ。 |
Min |
整数(Int4) |
取り出すElementContaierの順番の最小値 |
Max |
整数(Int4) |
取り出すElementContaierの順番の最大値 |
戻り値 |
Pythonのリスト |