Belle II Software  release-05-02-19
ValueIndexPairSorting.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Frank Meier *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <utility>
14 
15 namespace Belle2 {
20  namespace ValueIndexPairSorting {
21 
25  template <class T>
26  auto higherPair = [](const T& a, const T& b) -> bool {
27  // always put NaN to the end
28  if (std::isnan(a.first)) return false;
29  if (std::isnan(b.first)) return true;
30  return a.first > b.first;
31  };
32 
36  template <class T>
37  auto lowerPair = [](const T& a, const T& b) -> bool {
38  // always put NaN to the end
39  if (std::isnan(a.first)) return false;
40  if (std::isnan(b.first)) return true;
41  return a.first < b.first;
42  };
43  }
45 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19