1 #include <mdst/dataobjects/HitPatternVXD.h>
2 #include <gtest/gtest.h>
20 const std::list<unsigned short> pxdNumbering = {1, 2};
21 const std::list<unsigned short> svdNumbering = {3, 4, 5, 6};
29 unsigned int initValue = 16776960;
30 std::bitset<32> initValueAsBitset(
static_cast<std::string
>(
"00000000111111111111111100000000"));
33 EXPECT_EQ(initValueAsBitset, myHitPattern.
getBitset());
34 EXPECT_EQ(initValue, myHitPattern.
getInteger());
44 unsigned short uHits = 2;
45 unsigned short vHits = 1;
47 EXPECT_EQ(uHits, myHitPattern.
getSVDLayer(layerId).first);
48 EXPECT_EQ(vHits, myHitPattern.
getSVDLayer(layerId).second);
50 EXPECT_EQ(0, myHitPattern.
getSVDLayer(layerId).first);
51 EXPECT_EQ(0, myHitPattern.
getSVDLayer(layerId).second);
55 EXPECT_EQ(3, myHitPattern.
getSVDLayer(layerId).first);
56 EXPECT_EQ(3, myHitPattern.
getSVDLayer(layerId).second);
66 for (
unsigned int nHits = 0; nHits <= 3; ++nHits) {
67 myHitPattern.
setPXDLayer(layerId, nHits, HitPatternVXD::PXDMode::normal);
68 EXPECT_EQ(nHits, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::normal));
69 myHitPattern.
resetPXDLayer(layerId, HitPatternVXD::PXDMode::normal);
70 EXPECT_EQ(0, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::normal));
72 myHitPattern.
setPXDLayer(layerId, nHits, HitPatternVXD::PXDMode::gated);
73 EXPECT_EQ(nHits, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::gated));
74 myHitPattern.
resetPXDLayer(layerId, HitPatternVXD::PXDMode::gated);
75 EXPECT_EQ(0, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::gated));
80 unsigned int nHits = 4;
81 myHitPattern.
setPXDLayer(layerId, nHits, HitPatternVXD::PXDMode::normal);
82 EXPECT_EQ(3, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::normal));
83 myHitPattern.
resetPXDLayer(layerId, HitPatternVXD::PXDMode::normal);
84 EXPECT_EQ(0, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::normal));
86 myHitPattern.
setPXDLayer(layerId, nHits, HitPatternVXD::PXDMode::gated);
87 EXPECT_EQ(3, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::gated));
88 myHitPattern.
resetPXDLayer(layerId, HitPatternVXD::PXDMode::gated);
89 EXPECT_EQ(0, myHitPattern.
getPXDLayer(layerId, HitPatternVXD::PXDMode::gated));
97 const unsigned short svdHits = 24;
98 const unsigned short pxdHits = 12;
99 const unsigned short ndf = 2 * pxdHits + svdHits;
102 EXPECT_EQ(ndf, myHitPattern.
getNdf());
110 const unsigned short nSVD = 3;
111 const unsigned short nPXDnormal = 2;
112 const unsigned short nPXDgated = 1;
120 myHitPattern.
setPXDLayer(1, 1, HitPatternVXD::PXDMode::normal);
121 myHitPattern.
setPXDLayer(2, 2, HitPatternVXD::PXDMode::normal);
123 myHitPattern.
setPXDLayer(1, 0, HitPatternVXD::PXDMode::gated);
124 myHitPattern.
setPXDLayer(2, 2, HitPatternVXD::PXDMode::gated);
127 EXPECT_EQ(nPXDnormal, myHitPattern.
getNPXDLayers(HitPatternVXD::PXDMode::normal));
128 EXPECT_EQ(nPXDgated, myHitPattern.
getNPXDLayers(HitPatternVXD::PXDMode::gated));
129 EXPECT_EQ(nSVD + nPXDnormal, myHitPattern.
getNVXDLayers(HitPatternVXD::PXDMode::normal));
130 EXPECT_EQ(nSVD + nPXDgated, myHitPattern.
getNVXDLayers(HitPatternVXD::PXDMode::gated));
139 const unsigned short firstLayerPXD = 1;
140 const unsigned short lastLayerPXD = 2;
141 const unsigned short firstLayerSVD = 4;
142 const unsigned short lastLayerSVD = 6;
150 myHitPattern.
setPXDLayer(1, 1, HitPatternVXD::PXDMode::normal);
151 myHitPattern.
setPXDLayer(2, 2, HitPatternVXD::PXDMode::normal);
153 myHitPattern.
setPXDLayer(1, 1, HitPatternVXD::PXDMode::gated);
154 myHitPattern.
setPXDLayer(2, 2, HitPatternVXD::PXDMode::gated);
158 EXPECT_EQ(firstLayerPXD, myHitPattern.
getFirstPXDLayer(HitPatternVXD::PXDMode::normal));
159 EXPECT_EQ(lastLayerPXD, myHitPattern.
getLastPXDLayer(HitPatternVXD::PXDMode::normal));
160 EXPECT_EQ(firstLayerPXD, myHitPattern.
getFirstPXDLayer(HitPatternVXD::PXDMode::gated));
161 EXPECT_EQ(lastLayerPXD, myHitPattern.
getLastPXDLayer(HitPatternVXD::PXDMode::gated));