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  }