Belle II Software  release-05-01-25
Vector2D.test.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost <oliver.frost@desy.de> *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
12 
13 #include <gtest/gtest.h>
14 
15 
16 using namespace Belle2;
17 using namespace TrackFindingCDC;
18 
19 TEST(TrackFindingCDCTest, geometry_Vector2D_isBetween)
20 {
21  {
22  Vector2D lower = Vector2D::Phi(0);
23  Vector2D upper = Vector2D::Phi(M_PI);
24 
25  Vector2D test = Vector2D::Phi(M_PI / 2);
26  Vector2D test2 = Vector2D::Phi(3 * M_PI / 2);
27 
28  EXPECT_TRUE(test.isBetween(lower, upper));
29  EXPECT_FALSE(test.isBetween(upper, lower));
30  EXPECT_FALSE(test2.isBetween(lower, upper));
31  EXPECT_TRUE(test2.isBetween(upper, lower));
32  }
33 
34  {
35  Vector2D lower = Vector2D::Phi(0);
36  Vector2D upper = Vector2D::Phi(M_PI / 2);
37 
38  Vector2D test1 = Vector2D::Phi(M_PI / 4);
39  Vector2D test2 = Vector2D::Phi(3 * M_PI / 4);
40  Vector2D test3 = Vector2D::Phi(5 * M_PI / 4);
41  Vector2D test4 = Vector2D::Phi(7 * M_PI / 4);
42 
43  EXPECT_TRUE(test1.isBetween(lower, upper));
44  EXPECT_FALSE(test1.isBetween(upper, lower));
45 
46  EXPECT_FALSE(test2.isBetween(lower, upper));
47  EXPECT_TRUE(test2.isBetween(upper, lower));
48 
49  EXPECT_FALSE(test3.isBetween(lower, upper));
50  EXPECT_TRUE(test3.isBetween(upper, lower));
51 
52  EXPECT_FALSE(test4.isBetween(lower, upper));
53  EXPECT_TRUE(test4.isBetween(upper, lower));
54  }
55 
56  {
57  Vector2D lower = Vector2D::Phi(-M_PI / 4);
58  Vector2D upper = Vector2D::Phi(M_PI);
59 
60  Vector2D test = Vector2D::Phi(0);
61  Vector2D test2 = Vector2D::Phi(M_PI / 2);
62 
63  EXPECT_TRUE(test.isBetween(lower, upper));
64  EXPECT_FALSE(test.isBetween(upper, lower));
65  EXPECT_TRUE(test2.isBetween(lower, upper));
66  EXPECT_FALSE(test2.isBetween(upper, lower));
67  }
68 }
69 
70 TEST(TrackFindingCDCTest, geometry_Vector2D_flippedOver)
71 {
72  Vector2D diag(0.5, 0.5);
73  Vector2D test(1, 0);
74  Vector2D flippedOver = test.flippedOver(diag);
75 
76  EXPECT_EQ(0, flippedOver.x());
77  EXPECT_EQ(1, flippedOver.y());
78 }
79 
80 TEST(TrackFindingCDCTest, geometry_Vector2D_flippedAlong)
81 {
82  Vector2D diag(0.5, 0.5);
83  Vector2D test(1, 0);
84  Vector2D flippedAlong = test.flippedAlong(diag);
85 
86  EXPECT_EQ(0, flippedAlong.x());
87  EXPECT_EQ(-1, flippedAlong.y());
88 }
Belle2::TrackFindingCDC::Vector2D::Phi
static Vector2D Phi(const double phi)
Constucts a unit vector with azimuth angle equal to phi.
Definition: Vector2D.h:73
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TEST
TEST(TestgetDetectorRegion, TestgetDetectorRegion)
Test Constructors.
Definition: utilityFunctions.cc:18