memo/root/TFile をテンプレートにして作成
ページ一覧
編集メニュー >
新規作成
編集
コピー
名前の変更
アップロード
添付ファイル一覧
バックアップ
開始行:
* TFile [#wd8d944e]
** TObjectをファイルに保存する [#x291f903]
TFile *fout = new TFile("out.root","recreate");
TNamed *header = new TNamed("header");
fout->Add(header);
...
fout->Write();
fout->Close();
みたいな感じ。[[ここ:http://www-he.scphys.kyoto-u.ac.jp/m...
** 別のDirectoryで作ったTGraphを保存する場合 [#o88d2c82]
TFile *file_in = new TFile("file1.root","readonly");
TGraph *g1 = new TGraph(N1,x1,y1);
TGraph *g2 = new TGraph(N2,x2,y2);
g1->SetName("g1");
g2->SetName("g2");
TFile *file_out = new TFile("file2.root",recreate");
file_out->Add(g1);
file_out->Add(g2);
file_out->Write();
とかする。TFile::Addをすればよい。TGraph::SetNameはこれを...
*** 補足 [#n1a4e047]
以上の方法だと、Drawしたときに
Warning in <TFile::Append>: Replacing existing TH1: gedp...
とか言われる。[[ここ:http://www-utheal.phys.s.u-tokyo.ac....
によると、以下の様な対処法で回避できる。
TList* glist = new TList();
glist->Add(g1);
glist->Add(g2);
file_out->Add(glist);
** オブジェクト一覧を取得する方法 [#d2f14981]
TList *list = f1->GetListOfKeys();
for (Int_t i=0;i<list->GetEntries();++i){
TKey *key = (TKey*)list->At(i);
TString name = key->GetName();
TObject *o1 = f1->Get(name.Data());
TString cname(o1->ClassName());
if (!cname.Contains("TH1")) continue;
}
終了行:
* TFile [#wd8d944e]
** TObjectをファイルに保存する [#x291f903]
TFile *fout = new TFile("out.root","recreate");
TNamed *header = new TNamed("header");
fout->Add(header);
...
fout->Write();
fout->Close();
みたいな感じ。[[ここ:http://www-he.scphys.kyoto-u.ac.jp/m...
** 別のDirectoryで作ったTGraphを保存する場合 [#o88d2c82]
TFile *file_in = new TFile("file1.root","readonly");
TGraph *g1 = new TGraph(N1,x1,y1);
TGraph *g2 = new TGraph(N2,x2,y2);
g1->SetName("g1");
g2->SetName("g2");
TFile *file_out = new TFile("file2.root",recreate");
file_out->Add(g1);
file_out->Add(g2);
file_out->Write();
とかする。TFile::Addをすればよい。TGraph::SetNameはこれを...
*** 補足 [#n1a4e047]
以上の方法だと、Drawしたときに
Warning in <TFile::Append>: Replacing existing TH1: gedp...
とか言われる。[[ここ:http://www-utheal.phys.s.u-tokyo.ac....
によると、以下の様な対処法で回避できる。
TList* glist = new TList();
glist->Add(g1);
glist->Add(g2);
file_out->Add(glist);
** オブジェクト一覧を取得する方法 [#d2f14981]
TList *list = f1->GetListOfKeys();
for (Int_t i=0;i<list->GetEntries();++i){
TKey *key = (TKey*)list->At(i);
TString name = key->GetName();
TObject *o1 = f1->Get(name.Data());
TString cname(o1->ClassName());
if (!cname.Contains("TH1")) continue;
}
ページ名:
and
or
Menu
kondowiki
memo
exp
link
#lsx
Counter: 0, today: 0, yesterday: 0