Skip to content

Commit

Permalink
cmd,groot: remove rtree.{Tree,}Scanner
Browse files Browse the repository at this point in the history
Updates #773.
  • Loading branch information
sbinet committed Oct 6, 2020
1 parent dba7717 commit 16ed6fb
Show file tree
Hide file tree
Showing 8 changed files with 779 additions and 2,767 deletions.
22 changes: 11 additions & 11 deletions cmd/npy2root/main_test.go
Expand Up @@ -5,6 +5,7 @@
package main

import (
"fmt"
"io/ioutil"
"math"
"os"
Expand Down Expand Up @@ -280,21 +281,16 @@ func TestConvert(t *testing.T) {

tree := obj.(rtree.Tree)
rvars := rtree.NewReadVars(tree)
scan, err := rtree.NewScannerVars(tree, rvars...)
r, err := rtree.NewReader(tree, rvars)
if err != nil {
t.Fatalf("could not create tree scanner: %+v", err)
t.Fatalf("could not create tree reader: %+v", err)
}
defer scan.Close()
defer r.Close()

want := reflect.ValueOf(tc.want)
n := 0
for scan.Next() {
err := scan.Scan()
if err != nil {
t.Fatalf("could not read entry %d: %+v", scan.Entry(), err)
}

i := int(scan.Entry())
err = r.Read(func(ctx rtree.RCtx) error {
i := int(ctx.Entry)
want := want.Index(i).Interface()
got := reflect.ValueOf(rvars[0].Value).Elem().Interface()
ok := false
Expand All @@ -316,9 +312,13 @@ func TestConvert(t *testing.T) {
}

if !ok {
t.Fatalf("invalid value for entry %d:\ngot= %v\nwant=%v", scan.Entry(), got, want)
return fmt.Errorf("invalid value for entry %d:\ngot= %v\nwant=%v", ctx.Entry, got, want)
}
n++
return nil
})
if err != nil {
t.Fatalf("could not read tree: %+v", err)
}

if got, want := n, want.Len(); got != want {
Expand Down
16 changes: 8 additions & 8 deletions cmd/root2csv/main.go
Expand Up @@ -116,20 +116,20 @@ func process(oname, fname, tname string) error {
}
log.Printf("scanning leaves... [done]")

sc, err := rtree.NewTreeScannerVars(tree, nt.args...)
r, err := rtree.NewReader(tree, nt.args)
if err != nil {
return fmt.Errorf("could not create tree scanner: %w", err)
return fmt.Errorf("could not create tree reader: %w", err)
}
defer sc.Close()
defer r.Close()

nrows := 0
for sc.Next() {
err = sc.Scan(nt.vars...)
if err != nil {
return fmt.Errorf("could not scan entry %d: %w", nrows, err)
}
err = r.Read(func(ctx rtree.RCtx) error {
nt.fill()
nrows++
return nil
})
if err != nil {
return fmt.Errorf("could not read tree: %w", err)
}

tbl, err := csvutil.Create(oname)
Expand Down
19 changes: 10 additions & 9 deletions cmd/root2fits/main.go
Expand Up @@ -122,21 +122,22 @@ func process(oname, tname, fname string) error {
for i, rvar := range rvars {
wvars[i] = rvar.Value
}
scan, err := rtree.NewScannerVars(tree, rvars...)

r, err := rtree.NewReader(tree, rvars)
if err != nil {
return fmt.Errorf("could not create ROOT scanner: %w", err)
return fmt.Errorf("could not create ROOT reader: %w", err)
}
defer scan.Close()
defer r.Close()

for scan.Next() {
err = scan.Scan()
if err != nil {
return fmt.Errorf("could not read entry %d from ROOT tree: %w", scan.Entry(), err)
}
err = r.Read(func(ctx rtree.RCtx) error {
err = tbl.Write(wvars...)
if err != nil {
return fmt.Errorf("could not write entry %d to FITS table: %w", scan.Entry(), err)
return fmt.Errorf("could not write entry %d to FITS table: %w", ctx.Entry, err)
}
return nil
})
if err != nil {
return fmt.Errorf("could not read input ROOT file: %w", err)
}

err = fits.Write(tbl)
Expand Down

0 comments on commit 16ed6fb

Please sign in to comment.