東京工業大学大学院理工学研究科基礎物理学専攻中村研究室メンバーTakayuki Sako

GainCalculator


PMTのHV設定を計算するツール。

仕様

  • 言語 : C++
  • 使用しているライブラリ : 特になし

目的

PMTの印加電圧、アテネーター等を一々計算するのが面倒臭い。よって自動化。

ファイル置き場

NEBULAのDAQPC nebula01の
/home/nebula/exp/test-2011aug/analysis/users/sk/tool/GainCalculator
に置いてある。

更新履歴

  • Ver. 20120330 : NEBULA.prmを正しいIDへ修正した(はず)。関数系をexp(二次関数)へ変更。
  • Ver. 20111214 : アテネーターのデフォルト値を0に変更。Helpを少し修正。 今後の更新予定はない。
  • Ver. 20111213 : 公開。

ファイル

GainCalculator
|-- GainCalculator
|-- GainCalculator.cc
|-- GainCalculator.o
|-- NEBULAGain.prm : NEBULAの実際のパラメータファイル
`-- Makefile

使い方

InputFile

DetectorName Attenuator[dB] Energy[MeV] parameter0 parameter1 parameter2
  • DetectorName(char) : 検出器の名前。表示にのみ用いる
  • Attenuator(double) : データを取得した際のアテネーターの値。単位 : デシベル。 厳密に言うと-dB
  • Energy(double) : データ点の表すエネルギーの値(MeVである必然性はない)。
  • parameter0 : データを二次関数でフィットした際の0次の項
  • parameter1 : データを二次関数でフィットした際の1次の項
  • parameter2 : データを二次関数でフィットした際の2次の項
フォーマットはssv(Space-Separated Values)のみ。カンマなどには対応していない。

実行

$ ./GainCalculator InputFile Channel Energy[MeV] Attenuator[dB]
  • InputFile : データ点のフィット結果を収めたパラメータファイル。
  • Channel : 何チャンネルを
  • Energy : 何MeVに対応させるか
  • Attenuator : 何dBのアテネーターを入れるか。アテネーターを使わな い場合は0とする(省略するとデフォルト値0を用いる)。

実行結果

実行すると以下のように表示される。
$ ./GainCalculator NEBULAGain.prm 4000 150 0
-------------------------------
GainCalculator
   Input File : NEBULAGain.prm
   4000[Ch] = 150[MeV] with 0[dB] Attenuator
   NEUT101U : 1206.5
   NEUT102U : 1246.5
   NEUT103U : 1318.5
   NEUT104U : 1369.5
   NEUT105U : 1287.5
   NEUT106U : 1260.5
   NEUT107U : 1320.5
   NEUT108U : 1397.5
....
   NEUT430D : 1290.5
-------------------------------
なお、設定すべきHVの値はSY1527の仕様に合わせて自動的に0.5刻みで丸めて表示さ れる。
外部ファイルに保存したいなら適当にリダイレクトする。
$ ./GainCalculator NEBULAGain.prm 4000 150 0 > output.txt

ヘルプ

実行の際の引数が3個未満だと最低限のヘルプが表示される。 このヘルプで引数の並び順の確認等が行える。