И это работает очень хорошо для многих переменных (как и для 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]
Мобильная версия