C++

Eclipse CDT から clang-format を使って書式整形をしよう

そろそろ物理屋さんも vim とか Emacs でソフト開発するのやめませんか? Eclipse とかにしませんか? ということで、ソフトをバリバリ書いてる人は Eclipse CDT (宇宙・素粒子系の物理屋は Java 使わない) をご使用中のことと思います。LLVM/Clang実践活用ハ…

物理実験のエラーロギングに Boost.Log を使ってみる

最近 Cherenkov Telescope Array (CTA) のデータ収集 (DAQ) 用のライブラリを C++ で書いている。自分は物理実験屋であってプログラマではないので、あんまり高級なことはやらないのだけど、色々と作業を楽にするために平均的な物理実験屋よりは新しいものを…

CMake と SWIG を使って C++ と Python と ROOT に対応させる

やりたいこと CTA の焦点面カメラの開発に必要なソフトを新たに書く必要があり、以下の条件を満たす必要があります。 速度重視の用途に耐えるため、また multi thread に対応するため、中身は C++ で書かれていること 速度を重視しない場合や簡単な試験にす…

ROOT を CMake で build してみる

CMake の勉強がてら、ROOT 5.34.03 を CMake で build してみます。OS X 10.8.2 です。 $ ll $ROOTSYS lrwxr-xr-x 1 root wheel 20 Dec 18 14:30 /usr/local/root -> root_v5.34.03.source $ cd $ROOTSYS $ make clean $ make distclean $ cd ~ $ mkdir tmp …

HV への印加が起こす libftd2xx の seg fault

FTDI 社製の FT245RL という USB 用の chip と、libftd2xx という純正の library を組み合わせて使用しています。操作は ROOT で class を書いて、libftd2xx の wrapper を走らせています。FT245RL と同じ基板上に HV (高圧) を載せているのですが、こいつの…

ROOT で OpenMP を使う

最近は dual core、quad core の時代になったのに、自分でその性能を引き出すのは困難です。CPU の core 数ばっかり増えても、解析の速度は大して速くなっていない。というわけで、OpenMP を使って ROOT でも並列処理をできないか、というお話。 OpenMP とは…

GDBの結果を無闇に信用してはいけない

Geant4であるプログラムを書いていたところ、segmentation faultとGDBの出力結果ではまりました。以下のコードをstepping actionの中で使おうとしたところ、 void SteppingAction::UserSteppingAction(const G4Step* step) { RunAction* action = (RunAction…

ROOTの入門書を書き始めた

最新版へのシンボリックリンクはこれ ※まだ書きかけだから、半年後、1 年後に期待してね。(追記 2016/2/26) こっちに移動しました。 github.com CERNで開発されているROOTというデータ解析ソフトウェアは、高エネルギー物理学分野はもとより、高エネルギー宇…