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


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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))のオブジェクト名を取得して開いている。そのときにクラスも指定しないと行けないので、予めわかってる場合か、もしくは自動でやる場合にはクラスを取得する関数を使う必要がある。