部門 > ROOT > gDirectoryからオブジェクト名を取得して開くやり方

Nさんに習った。gDirectoryやTListの使い方の勉強になった。
root test.root
という風に実行して、test.rootが_file0に入ってる状態としたとき、
TList *l =gDirectory->GetListOfKeys(); //gDirectoryにあるもののリストを作る
TH1D *h = (TH1D*)(_file0->Get(l->At(0)->GetName())); //ヒストグラムの名前を取得して開く
二行目で、TFileに対してオブジェクト名を指定すればそれが開けるので、TListのlに入ってる0番目(At(0))のオブジェクト名を取得して開いている。そのときにクラスも指定しないと行けないので、予めわかってる場合か、もしくは自動でやる場合にはクラスを取得する関数を使う必要がある。

タグ:

ROOT
最終更新:2012年08月07日 17:15