Belle II Software  release-05-02-19
SameSignChecker.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun, Oliver Frost, Dmitrii Neverov *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 namespace Belle2 {
17  namespace TrackFindingCDC {
18 
22  class SameSignChecker {
23 
24  public:
26  static bool sameSign(double n1, double n2)
27  {
28  return ((n1 > 0 and n2 > 0) or (n1 < 0 and n2 < 0));
29  }
30 
32  static bool sameSign(double n1, double n2, double n3, double n4)
33  {
34  return ((n1 > 0 and n2 > 0 and n3 > 0 and n4 > 0) or
35  (n1 < 0 and n2 < 0 and n3 < 0 and n4 < 0));
36  }
37 
39  static bool sameSign(double n1, double n2, double n3, double n4,
40  double n5, double n6, double n7, double n8)
41  {
42  return ((n1 > 0 and n2 > 0 and n3 > 0 and n4 > 0 and
43  n5 > 0 and n6 > 0 and n7 > 0 and n8 > 0)
44  or
45  (n1 < 0 and n2 < 0 and n3 < 0 and n4 < 0 and
46  n5 < 0 and n6 < 0 and n7 < 0 and n8 < 0));
47  }
48 
50  static bool isIn(double x, double y, double x1, double x2, double y1, double y2)
51  {
52  return sameSign(x - x1, x2 - x, y - y1, y2 - y);
53  }
54  };
55 
56  }
58 }
Belle2::TrackFindingCDC::SameSignChecker::isIn
static bool isIn(double x, double y, double x1, double x2, double y1, double y2)
Check if two values are in the rectangle spanned by the other four values.
Definition: SameSignChecker.h:58
Belle2::TrackFindingCDC::SameSignChecker::sameSign
static bool sameSign(double n1, double n2)
Check if two values have the same sign.
Definition: SameSignChecker.h:34
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19