Корень - Пирот: ветвь, видимая как лист, не может получить доступ к реальным листьям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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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