Kspectで取得したデータをGnuplotで表示する

学生実験II「原子核散乱」では、KromekのMCAを使っています。

http://www.nikiglass.jp/KromeK_catalog/Catalog%20K102_WEB.pdf

コンパクトで、USBで使えて、分解能も12bitあるのでゲルマニウム検出器での高分解能分光にも使用できる非常に便利なMCAです。入力は整形アンプの入力を入れるのみで、GATEは自分自身で作ってくれます。

このMCAは付属のソフトKSpectで制御します。最近このプログラムはwebからダウンロードできるようになったようです。Windowsでしか動きません。

http://www.nikiglass.jp/KromeK_Download/KromeK_download.html

KSpectで取得したデータは、.spe、.txtと2種類のデータフォーマットで記録できますが、どちらも実体はただのテキストデータです。特に.txtのフォーマットは単に行数がそのままchに対応する数字の列なので、比較的簡単に任意のソフトで解析ができると思います。学生実験の解析で使用するソフトやプログラム言語は指定しないので、すでに使い慣れたソフトがある人はそれを使ってください。

ちなみに、高エネルギーや原子核、宇宙線の業界ではデータ解析にはCernの開発しているROOTというソフトを使うことが多いですが、使い方を習熟するのにそれなりに時間がかかるので、学部3年生の学生実験でROOTを使うことは推奨していません。計算物理の授業ではGnuplotの使い方を教えているみたいなので、ここではGnuplotを使ってKpectが出力するファイルを解析する方法を書いておきます。

ここでは、ファイル名"input.txt"のファイルを"output.txt"に書き出す場合を考えます。変換するプログラムはなんでもよいですが、個人的な趣味でAWKを使います。

$ tr \\r ' ' <input.txt | awk '{print FNR, $1;}' > output.txt

これで、"output.txt"というファイルが出来ます。これらをGnuplotで読む場合は以下のようにします。

$ gnuplot
…
gnuplot> plot 'output.txt' using 1:2:(sqrt($2)) w yerror

測定値の平方根をエラーとした場合はこれでエラー付きのグラフが書けます。

東大理学部物理学教室の計算機室にあるiMacならば、特に設定をしなくても動くはずです。自分のパソコンでGnuplotを使って作業をしたい人は、各自インストールしてみてください。Windows、MacOSX、LinuxのいずれのOSでも使用することができますが文字コードや改行の問題があるかもしれません。Gnuplot自体のインストール方法はまずは自分で調べてください。Googleで検索すれば日本語でも十分な情報があるはずです。困ったらいつでも相談に来てください。