go-hep.org/x/hep@v0.38.1/fastjet/strategy.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 fastjet 6 7 import ( 8 "fmt" 9 ) 10 11 // Strategy defines the algorithmic strategy used while clustering. 12 type Strategy int 13 14 const ( 15 N2MinHeapTiledStrategy Strategy = -4 16 N2TiledStrategy Strategy = -3 17 N2PoorTiledStrategy Strategy = -2 18 N2PlainStrategy Strategy = -1 19 N3DumbStrategy Strategy = 0 20 BestStrategy Strategy = 1 21 NlnNStrategy Strategy = 2 22 NlnN3piStrategy Strategy = 3 23 NlnN4piStrategy Strategy = 4 24 NlnNCam4piStrategy Strategy = 14 25 NlnNCam2pi2RStrategy Strategy = 13 26 NlnNCamStrategy Strategy = 12 27 28 PluginStrategy Strategy = 999 29 ) 30 31 func (s Strategy) String() string { 32 switch s { 33 case N2MinHeapTiledStrategy: 34 return "N2MinHeapTiled" 35 case N2TiledStrategy: 36 return "N2Tiled" 37 case N2PoorTiledStrategy: 38 return "N2PoorTiled" 39 case N2PlainStrategy: 40 return "N2Plain" 41 case N3DumbStrategy: 42 return "N3Dumb" 43 case BestStrategy: 44 return "Best" 45 case NlnNStrategy: 46 return "NlnN" 47 case NlnN3piStrategy: 48 return "NlnN3pi" 49 case NlnN4piStrategy: 50 return "NlnN4pi" 51 case NlnNCam4piStrategy: 52 return "NlnNCam4pi" 53 case NlnNCam2pi2RStrategy: 54 return "NlnNCam2pi2R" 55 case NlnNCamStrategy: 56 return "NlnNCam" 57 58 case PluginStrategy: 59 return "Plugin" 60 61 default: 62 panic(fmt.Errorf("fastjet: invalid Strategy (%d)", int(s))) 63 } 64 }