go-hep / hep

hep is the mono repository holding all of go-hep.org/x/hep packages and tools
https://go-hep.org
BSD 3-Clause "New" or "Revised" License
230 stars 35 forks source link

groot: duplicate streamer info entries for "This" streamers #961

Closed sbinet closed 1 year ago

sbinet commented 1 year ago

when writing a rtree.Tree, with a struct like:

type Event struct {
    F1 []float64 `groot:"F1"`
    F2 []float64 `groot:"F2"`
    F3 []int32   `groot:"F3"`
    F4 []int32   `groot:"F4"`
}

one ends up with multiple entries for the various "This" streamers:

$> root-ls -sinfos -t ./out.root
=== [out.root] ===
version: 62600
streamer-infos:
 StreamerInfo for "vector<double>" version=9 title="vector<double>"
  vector<double> This    offset=  0 type=500 size= 24  
 StreamerInfo for "vector<double>" version=9 title="vector<double>"
  vector<double> This    offset=  0 type=500 size= 24  
 StreamerInfo for "vector<int32_t>" version=9 title="vector<int32_t>"
  vector<int32_t> This    offset=  0 type=500 size= 24  
 StreamerInfo for "vector<int32_t>" version=9 title="vector<int32_t>"
  vector<int32_t> This    offset=  0 type=500 size= 24  
[...]