【发布时间】:2016-07-23 22:09:07
【问题描述】:
在我的 ROOT 脚本中,我创建了一个 TTree,但我不想保存它。确保TTree 永远不会被保存到TFile 的最佳方法是什么?
我曾想过为我创建但不需要保存的每棵树创建一个TFile,但感觉应该有一种更简单的方法将TTree标记为不写。
【问题讨论】:
标签: c++ root-framework
在我的 ROOT 脚本中,我创建了一个 TTree,但我不想保存它。确保TTree 永远不会被保存到TFile 的最佳方法是什么?
我曾想过为我创建但不需要保存的每棵树创建一个TFile,但感觉应该有一种更简单的方法将TTree标记为不写。
【问题讨论】:
标签: c++ root-framework
我想你想要TTree::SetDirectory。传入一个 0 指针,就不会有“所有者”目录,包括没有 ROOT 内存管理。
【讨论】:
TTree 在我尝试访问它时消失。
tree->SetDirectory(0) 可以正常工作,但也会影响连接树(因为我用TTree::CopyTree 创建了tree),这是一个单独的问题。
SetDirectory 可以全局设置。也许这就是你的 TTree 发生的事情(如果不看 TTree 代码就很难说)