Корень - Пирот: ветвь, видимая как лист, не может получить доступ к реальным листьямC++

Программы на C++. Форум разработчиков
Anonymous
Корень - Пирот: ветвь, видимая как лист, не может получить доступ к реальным листьям

Сообщение Anonymous »

Я пытаюсь извлечь информацию из корневого файла с использованием пирога. (См. Ниже).
Я также пытался отобразить ветви и листья с помощью GetListOfBranches () и GetListOfLeaves (). Я получаю надлежащий список ветвей с первым, но когда я смотрю на список листьев (здесь MC, но он одинаково для всех ветвей), я выхожу из MC.GetListOfLeaves (), что единственный лист тоже - это тоже MC ... У меня есть несколько листьев (например, энергия), к которым я могу получить доступ просто с кодом C ++ и непосредственно с Data.Scan («Энергия»). Извините, я еще не так знаком с Root. Я предполагаю, что это довольно простое исправление, но я не вижу, что не так с этим ... < /p>
C ++ Код: < /p>

Код: Выделить всё

TFile *file = new TFile(fname);
TTree *data = (TTree*)file->Get("data");
TBranch * McinfoBranch;
MCInfo* mcinfo = (MCInfo*)file->GetList()->FindObject("MC");
data->SetBranchAddress("MC", &mcinfo, &McinfoBranch);
< /code>
pyroot версия: < /p>
infile = ROOT.TFile(fname)
data = infile.Get("data")
mcinfo = infile.GetList().FindObject("MC")
, который дает мне это при печати McInfo: .

Подробнее здесь: https://stackoverflow.com/questions/740 ... ual-leaves

Вернуться в «C++»