Open aphecetche opened 5 years ago
There's indeed a missing link between the scanner and the type that's being generated from the steamer: right now, IIRC, the scanner isn't clever enough to recognize the generated type implements UnmarshalROOT and it tries to emulate it by reflection. But it's confused by the current handling of 'inheritance' in C++.
The type generator should also probably add struct-tags to the fields to be sure refactoring on the Go side doesn't interfer with the naming of C++ branches...
I'll give it a stab. (But I am on the train to Paris right now)
A little update: it will probably take a bit more time then anticipated (shocking!) The data written in the file has been written in split mode (which is pretty common, I must admit)
Right now, Groot supports full-split mode or no-split mode. But it has still a hard time with in-the-middle split mode. I'll have a look in my train ride back to Clermont-Fd (no WiFi, checkered 4G coverage: the ideal dev environment)
Thanks for looking into this !
I'm trying to read a Root file containing trees of custom root objects using
rtree.Scanner
. Is that supposed to work ?I've naively tried :
where trackrefs program is basically :
The input file can be found at : https://cernbox.cern.ch/index.php/s/hshoBqSBIweBM9o