====CAEN DT5740の使い方==== データ取得のためのプログラムは''C:/Program Files/CAEN/Digitizer/WaveDump/bin/WaveDump.exe''、その設定ファイルは同じディレクトリの''WaveDumpConfig_X740.txt''(1 eventのデータ点の数、トリガーの掛け方などを設定できる)。\\ ''WaveDump.exe''の使い方は以下の通り。\\ ^ キー ^ 意味 ^ | s | データ取得のstart/stop(まだファイルの書き込みは行わない) | | P | continuousにplotを表示 | | A | gnuplotのwindowを選択して押すとオートスケール | | W | continuousなファイルへの書き込みをstart/stop | | q | quit | | (space) | help | 基本は\\ s(データの記録開始) → W(ファイルへの書き込み開始) → W(ファイルへの書き込み終了) → s(データ取得終了) → q(exit)\\ 必要に応じてPでplotを確認する(Aでオートスケール)。\\ ※注意点\\ 小文字pとwはシングルイベントについての書き込みやプロット、大文字PとWはcontinuousな書き込みやプロットになります ファイルの保存先は''C:/Users/p1/WaveDump/''、ファイル名は''wave?.txt'' (? = ch)。\\ 1023点で1 event(改行などの区切りはない)。(多分)62.5 MHz Sampling (1目盛 = 16 nsec)。\\ また書き込みの中断はevent中でも強制的に行うため、最後のeventは不完全になることがある(解析時に無視する必要あり)。\\ トリガーの位置はデータ取得時間の50%に設定しているため(Configファイルで設定可)、多分512あたり。 ====ファイルのかんたんな読み方(ROOTがさっと動く人向け)==== pythonでやりそうなので、暇な人向け。\\ 2023/07/07に取得したNa22の511 keV gamma線のデータは[[https://www-he.scphys.kyoto-u.ac.jp/owncloud/index.php/s/gfJ775kLOVXHAof|ここ]]。\\ 以下のマクロ(make_ttree.cpp)を動かす。 $ root 'make_ttree.cpp("wave0.txt")' root [1] .q (もしくは''wave2.txt'')。すると''wave0.root''というファイルができるので、あとは好きに解析する。\\ このファイルの中には、''tree''という名前のTTreeに''voltage[1023]''という波形のファイルが入っている。各Entryは各eventに対応している。 #include #include #include #include #include #include #include #include void make_ttree(TString filename){ //constant int nsample = 1023; //global variable double voltage[nsample]; double value; std::cout << "FILENAME : " << filename << std::endl; std::ifstream data(filename); TString rootfile_name = filename.ReplaceAll(".txt",".root"); TFile *rootfile = new TFile(rootfile_name,"recreate"); TTree * tree = new TTree("tree","tree"); tree->Branch("nsample",&nsample,"nsample/I"); tree->Branch("voltage",voltage,"voltage[nsample]/D"); std::string line; int j = 0; int i = 0; while(std::getline(data,line)) { voltage[i] = stod(line); std::cout << "time " << i << " : " << voltage[i] << std::endl; i++; if(i == nsample) { tree->Fill(); i = 0; j++; } } std::cout << "# of event : " << j << std::endl; tree->Write(); rootfile->Close(); return 0; } 例:かんたんな波形の確認の仕方 $ root wave0.root root [1] tree->Draw("voltage:Iteration$","Entry$==0","l") これで、0番目のeventの波形を見ることができた。