~mice-lcr/maus/end-of-emr-run

« back to all changes in this revision

Viewing changes to tests/cpp_unit/Recon/SciFi/TrackerDataPlotterInfoBoxTest.cc

  • Committer: Durga Rajaram
  • Date: 2013-08-27 04:36:50 UTC
  • mfrom: (659.1.73 rc)
  • Revision ID: durga@fnal.gov-20130827043650-me0hgsbzlzikdoik
Tags: MAUS-v0.7, MAUS-v0.7.0
MAUS-v0.7.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* This file is part of MAUS: http://micewww.pp.rl.ac.uk:8080/projects/maus
 
2
 *
 
3
 * MAUS is free software: you can redistribute it and/or modify
 
4
 * it under the terms of the GNU General Public License as published by
 
5
 * the Free Software Foundation, either version 3 of the License, or
 
6
 * (at your option) any later version.
 
7
 *
 
8
 * MAUS is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU General Public License
 
14
 * along with MAUS.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 */
 
17
 
 
18
// ROOT headers
 
19
#include "TCanvas.h"
 
20
 
 
21
// Google test headers
 
22
#include "gtest/gtest.h"
 
23
#include "gtest/gtest_prod.h"
 
24
 
 
25
// MAUS headers
 
26
#include "src/common_cpp/Recon/SciFi/TrackerDataPlotterInfoBox.hh"
 
27
 
 
28
namespace MAUS {
 
29
 
 
30
class TrackerDataPlotterInfoBoxTest : public ::testing::Test {
 
31
 protected:
 
32
  TrackerDataPlotterInfoBoxTest()  {}
 
33
  virtual ~TrackerDataPlotterInfoBoxTest() {}
 
34
  virtual void SetUp()    {}
 
35
  virtual void TearDown() {}
 
36
};
 
37
 
 
38
TEST_F(TrackerDataPlotterInfoBoxTest, TestConstructor) {
 
39
 
 
40
  // Test the default contructor
 
41
  TrackerDataPlotterInfoBox* infoBox = new TrackerDataPlotterInfoBox();
 
42
  EXPECT_FALSE(infoBox->_setup_true);
 
43
  EXPECT_EQ(0, infoBox->_tot_digits_t1);
 
44
  EXPECT_EQ(0, infoBox->_tot_clusters_t1);
 
45
  EXPECT_EQ(0, infoBox->_tot_spoints_t1);
 
46
  EXPECT_EQ(0, infoBox->_tot_5htracks_t1);
 
47
  EXPECT_EQ(0, infoBox->_tot_4htracks_t1);
 
48
  EXPECT_EQ(0, infoBox->_tot_3htracks_t1);
 
49
  EXPECT_EQ(0, infoBox->_tot_5stracks_t1);
 
50
  EXPECT_EQ(0, infoBox->_tot_4stracks_t1);
 
51
  EXPECT_EQ(0, infoBox->_tot_3stracks_t1);
 
52
  EXPECT_EQ(0, infoBox->_tot_digits_t2);
 
53
  EXPECT_EQ(0, infoBox->_tot_clusters_t2);
 
54
  EXPECT_EQ(0, infoBox->_tot_spoints_t2);
 
55
  EXPECT_EQ(0, infoBox->_tot_5htracks_t2);
 
56
  EXPECT_EQ(0, infoBox->_tot_4htracks_t2);
 
57
  EXPECT_EQ(0, infoBox->_tot_3htracks_t2);
 
58
  EXPECT_EQ(0, infoBox->_tot_5stracks_t2);
 
59
  EXPECT_EQ(0, infoBox->_tot_4stracks_t2);
 
60
  EXPECT_EQ(0, infoBox->_tot_3stracks_t2);
 
61
  EXPECT_EQ(275, infoBox->_canvas_width);
 
62
  EXPECT_EQ(600, infoBox->_canvas_height);
 
63
  EXPECT_EQ(0.585, infoBox->_line1_pos);
 
64
  EXPECT_EQ(0.93, infoBox->_line2_pos);
 
65
  delete infoBox;
 
66
 
 
67
  // Test the copy constructor
 
68
  int canvas_width = 1;
 
69
  int canvas_height = 2;
 
70
  double line1_pos = 0.1;
 
71
  double line2_pos = 0.2;
 
72
  infoBox = new TrackerDataPlotterInfoBox(canvas_width, canvas_height, line1_pos, line2_pos);
 
73
  EXPECT_FALSE(infoBox->_setup_true);
 
74
  EXPECT_EQ(0, infoBox->_tot_digits_t1);
 
75
  EXPECT_EQ(0, infoBox->_tot_clusters_t1);
 
76
  EXPECT_EQ(0, infoBox->_tot_spoints_t1);
 
77
  EXPECT_EQ(0, infoBox->_tot_5htracks_t1);
 
78
  EXPECT_EQ(0, infoBox->_tot_4htracks_t1);
 
79
  EXPECT_EQ(0, infoBox->_tot_3htracks_t1);
 
80
  EXPECT_EQ(0, infoBox->_tot_5stracks_t1);
 
81
  EXPECT_EQ(0, infoBox->_tot_4stracks_t1);
 
82
  EXPECT_EQ(0, infoBox->_tot_3stracks_t1);
 
83
  EXPECT_EQ(0, infoBox->_tot_digits_t2);
 
84
  EXPECT_EQ(0, infoBox->_tot_clusters_t2);
 
85
  EXPECT_EQ(0, infoBox->_tot_spoints_t2);
 
86
  EXPECT_EQ(0, infoBox->_tot_5htracks_t2);
 
87
  EXPECT_EQ(0, infoBox->_tot_4htracks_t2);
 
88
  EXPECT_EQ(0, infoBox->_tot_3htracks_t2);
 
89
  EXPECT_EQ(0, infoBox->_tot_5stracks_t2);
 
90
  EXPECT_EQ(0, infoBox->_tot_4stracks_t2);
 
91
  EXPECT_EQ(0, infoBox->_tot_3stracks_t2);
 
92
  EXPECT_EQ(canvas_width, infoBox->_canvas_width);
 
93
  EXPECT_EQ(canvas_height, infoBox->_canvas_height);
 
94
  EXPECT_EQ(line1_pos, infoBox->_line1_pos);
 
95
  EXPECT_EQ(line2_pos, infoBox->_line2_pos);
 
96
  delete infoBox;
 
97
}
 
98
 
 
99
TEST_F(TrackerDataPlotterInfoBoxTest, TestBrackets) {
 
100
  TrackerDataPlotterInfoBox* infoBox = new TrackerDataPlotterInfoBox();
 
101
 
 
102
  // Set up some mock data
 
103
  TrackerData t1;
 
104
  TrackerData t2;
 
105
  t1._num_digits = 1;
 
106
  t1._num_clusters = 1;
 
107
  t1._num_spoints = 1;
 
108
  t1._num_seeds = 1;
 
109
  t1._num_stracks_5pt = 1;
 
110
  t1._num_stracks_4pt = 1;
 
111
  t1._num_stracks_3pt = 1;
 
112
  t1._num_htracks_5pt = 1;
 
113
  t1._num_htracks_4pt = 1;
 
114
  t1._num_htracks_3pt = 1;
 
115
  t2._num_digits = 2;
 
116
  t2._num_clusters = 2;
 
117
  t2._num_spoints = 2;
 
118
  t2._num_seeds = 2;
 
119
  t2._num_stracks_5pt = 2;
 
120
  t2._num_stracks_4pt = 2;
 
121
  t2._num_stracks_3pt = 2;
 
122
  t2._num_htracks_5pt = 2;
 
123
  t2._num_htracks_4pt = 2;
 
124
  t2._num_htracks_3pt = 2;
 
125
 
 
126
  // Send data to infoBox twice to check accumulates, and check Canvases assigned properly
 
127
  TCanvas* c1 = new TCanvas();
 
128
  TCanvas* c2 = (*infoBox)(t1, t2, c1);
 
129
  EXPECT_TRUE(c1 == c2);
 
130
  TCanvas* c3 = (*infoBox)(t1, t2); // No canvas passed so should switch to internal canvas
 
131
  EXPECT_TRUE(c3 == infoBox->_Canvas);
 
132
  delete c1;
 
133
  c1 = NULL;
 
134
  c2 = NULL;
 
135
 
 
136
  // Check infoBox internal state (not bothering to check internal state of root TPaveTexts etc)
 
137
  EXPECT_EQ(2, infoBox->_tot_digits_t1);
 
138
  EXPECT_EQ(2, infoBox->_tot_clusters_t1);
 
139
  EXPECT_EQ(2, infoBox->_tot_spoints_t1);
 
140
  EXPECT_EQ(2, infoBox->_tot_5stracks_t1);
 
141
  EXPECT_EQ(2, infoBox->_tot_4stracks_t1);
 
142
  EXPECT_EQ(2, infoBox->_tot_3stracks_t1);
 
143
  EXPECT_EQ(2, infoBox->_tot_5htracks_t1);
 
144
  EXPECT_EQ(2, infoBox->_tot_4htracks_t1);
 
145
  EXPECT_EQ(2, infoBox->_tot_3htracks_t1);
 
146
  EXPECT_EQ(4, infoBox->_tot_digits_t2);
 
147
  EXPECT_EQ(4, infoBox->_tot_clusters_t2);
 
148
  EXPECT_EQ(4, infoBox->_tot_spoints_t2);
 
149
  EXPECT_EQ(4, infoBox->_tot_5stracks_t2);
 
150
  EXPECT_EQ(4, infoBox->_tot_4stracks_t2);
 
151
  EXPECT_EQ(4, infoBox->_tot_3stracks_t2);
 
152
  EXPECT_EQ(4, infoBox->_tot_5htracks_t2);
 
153
  EXPECT_EQ(4, infoBox->_tot_4htracks_t2);
 
154
  EXPECT_EQ(4, infoBox->_tot_3htracks_t2);
 
155
  delete infoBox; // Deletes the current canvas too
 
156
}
 
157
 
 
158
} // ~namespace MAUS