11 #include <vxd/dataobjects/VxdID.h>
12 #include <svd/dataobjects/SVDModeByte.h>
13 #include <svd/dataobjects/SVDRecoDigit.h>
17 #include <gtest/gtest.h>
29 TEST(SVDRecoDigit, ConstructEmpty)
34 EXPECT_EQ(0, digit.getSensorID());
35 EXPECT_TRUE(digit.isUStrip());
36 EXPECT_EQ(0, digit.getCellID());
37 EXPECT_EQ(0, digit.getAmplitude());
38 EXPECT_EQ(10, digit.getAmplitudeError());
39 EXPECT_EQ(0, digit.getTime());
40 EXPECT_EQ(100, digit.getTimeError());
44 EXPECT_EQ(100.0, digit.getChi2Ndf());
46 EXPECT_EQ(
"0-suppr/global/6 samples/???", std::string(digit.getModeByte()));
55 VxdID sensorID(3, 4, 1);
56 short int cellID = 132;
58 float init_charge = 23456;
59 float init_chargeErr = 1234;
60 float init_time = -16;
61 float init_timeErr = 3.21;
62 float init_chi2 = 2.34;
64 std::vector<float> init_probs({0.0, 0.01, 0.10, 0.79, 0.06, 0.04});
65 SVDRecoDigit digit(sensorID,
false, cellID, init_charge, init_chargeErr, init_time,
66 init_timeErr, init_probs, init_chi2, digitModeByte);
68 EXPECT_EQ(sensorID, digit.getSensorID());
69 EXPECT_FALSE(digit.isUStrip());
70 EXPECT_EQ(cellID, digit.getCellID());
71 EXPECT_EQ(init_charge, digit.getCharge());
72 EXPECT_EQ(init_chargeErr, digit.getAmplitudeError());
73 EXPECT_EQ(init_time, digit.getTime());
74 EXPECT_EQ(init_timeErr, digit.getTimeError());
76 for (
size_t ip = 0; ip < pdf.size(); ++ip)
79 float outputNorm = std::accumulate(pdf.begin(), pdf.end(), 0.0);
80 EXPECT_LE(fabs(1.0 - outputNorm), 1.0e-6);
81 EXPECT_EQ(init_chi2, digit.getChi2Ndf());
82 EXPECT_EQ(digitModeByte, digit.getModeByte());
83 EXPECT_EQ(
"0-suppr/global/6 samples/???", std::string(digit.getModeByte()));
88 TEST(SVDRecoDigit, ToString)
91 VxdID sensorID(3, 4, 1);
92 short int cellID = 132;
93 SVDModeByte digitModeByte(151);
94 float init_charge = 23456;
95 float init_chargeErr = 1234;
96 float init_time = -16;
97 float init_timeErr = 3.21;
98 float init_chi2 = 2.34;
100 std::vector<float> init_probs({0.0, 0.01, 0.10, 0.79, 0.06, 0.04});
101 SVDRecoDigit digit(sensorID,
false, cellID, init_charge, init_chargeErr, init_time,
102 init_timeErr, init_probs, init_chi2, digitModeByte);
105 digitString(
"VXDID : 25632 = 3.4.1 strip: V-132 Amplitude: 23456 +/- 1234 Time: -16 +/- 3.21\n probabilities: 0 655 6553 51772 3932 2621 Chi2/ndf: 2.34 0-suppr/global/6 samples/???\n");
106 EXPECT_EQ(digitString, digit.toString());