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

「部門/ROOT/gDirectoryからオブジェクト名を取得して開くやり方」の編集履歴(バックアップ)一覧はこちら

部門/ROOT/gDirectoryからオブジェクト名を取得して開くやり方」(2012/08/07 (火) 17:15:11) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

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

表示オプション

横に並べて表示:
変化行の前後のみ表示: