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