-
Notifications
You must be signed in to change notification settings - Fork 35
/
dumper.go
66 lines (51 loc) · 1.16 KB
/
dumper.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Copyright ©2017 The go-hep Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package fads
import (
"fmt"
"reflect"
"go-hep.org/x/hep/fwk"
)
type dumper struct {
fwk.TaskBase
input string
}
func (tsk *dumper) Configure(ctx fwk.Context) error {
err := tsk.DeclInPort(tsk.input, reflect.TypeOf([]Candidate{}))
if err != nil {
return err
}
return nil
}
func (tsk *dumper) StartTask(ctx fwk.Context) error {
return nil
}
func (tsk *dumper) StopTask(ctx fwk.Context) error {
return nil
}
func (tsk *dumper) Process(ctx fwk.Context) error {
store := ctx.Store()
v, err := store.Get(tsk.input)
if err != nil {
return err
}
input := v.([]Candidate)
//msg.Debugf(">>> particles: %v\n", len(parts))
fmt.Printf("%s: %d\n", tsk.input, len(input))
return nil
}
func newDumper(typ, name string, mgr fwk.App) (fwk.Component, error) {
tsk := &dumper{
TaskBase: fwk.NewTask(typ, name, mgr),
input: "Input",
}
err := tsk.DeclProp("Input", &tsk.input)
if err != nil {
return nil, err
}
return tsk, nil
}
func init() {
fwk.Register(reflect.TypeOf(dumper{}), newDumper)
}