データコンテナの今後の開発#

散布データ用コンテナ#

従来のデータコンテナ(ヒストグラム)#

現在、万葉ライブラリに実装されているElementContainerは、 Fig.9(a)に示すようなヒストグラムのデータを扱うことを前提としている。ElementContainer::SetKeys( "x", "y", "e" )でヒストグラムデータを 定義する。その場合の各vectorの要素数は、x.size() = y.size() +1 = e.size() +1と なっている必要があるが、これは、一次元のカウンターを想定したデータ構造であるためである。

ヒストグラムのデータは、四則演算などの 演算子でエラー伝搬を含めて取り扱うことができている。

histogram

Fig.9(a) ヒストグラム型データ#

新規の散布データ用コンテナ#

Fig.9(b)に示すように散布データ用コンテナに 登録されているvectorの要素数は、 x.size()= y.size() = e.size()であり、 ヒストグラムデータとは異なる。

ElementContainerに登録されているデータは この違いによって、自動的にヒストグラムデータか 散布データかの区別を行う。

散布データ用コンテナは、ヒストグラムデータから 「bin幅で規格化を行う」などして「bin幅に依存しない 物理量」などに利用を想定している。

histogram

Fig.9(b) 離散型データ#

開発項目#

散布データの四則演算に適合したエラー伝搬の 計算アルゴリズムの実装を行う必要がある。 ユーザー/ビームラインによって望ましい計算アルゴリズムが 異なる可能性がある。 また2つの散布データを加算する場合でも、 両者でxの値が違う、または、要素数が異なる場合に どのように対応するのかよいか考慮する必要がある。