Vector Читать из Ttree пустоC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Vector Читать из Ttree пусто

Сообщение Anonymous »

Я пытаюсь прочитать ttree из корневого файла и скопировать некоторые переменные в плоское дерево.
И это работает очень хорошо для многих переменных (как и для Ntracks в примере ниже), но когда дело доходит до вектора какого -то пользовательского класса, я в конечном итоге с пустыми векторами, что у корне. То же поведение: < /p>

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

#include 
#include 
#include 

#include 
#include 

#include "caf__SRTrack.h"

int main(int argc, const char *const argv[]){

TFile infile("/home/raphael/Bureau/travail/stage_apc/code/caf_new_sum_weighted.root");
TTree *inTree = (TTree*) infile.Get("cafTree");

std::vector tracks;
inTree->SetBranchAddress("fd.hd.pandora.tracks",&tracks);

unsigned long ntracks;
inTree->SetBranchAddress("fd.hd.pandora.ntracks",&ntracks);

inTree->GetEntry(0);

std::cout 
Но в результате я получаю постоянный вектор размера 2, а атрибуты 2 треков, которые он содержит, являются постоянными (независимыми от события) случайными значениями. Корень, кажется, просто не может переписать вектор. g ++

 

Подробнее здесь: [url]https://stackoverflow.com/questions/79768589/vectorsomeclass-read-from-ttree-is-empty[/url]
Ответить

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

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

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

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

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