16 #include "Identifier/Identifier.h"
34 const bool phiSymmetric,
35 const bool etaSymmetric,
36 const bool depthSymmetric,
41 const bool swapStripReadout,
44 SiDetectorDesign(thickness, phiSymmetric, etaSymmetric, depthSymmetric, carrierType, readoutSide),
45 m_scheme(crystals, diodes,
cells, shift),
46 m_swapStripReadout(swapStripReadout) {
50 const bool phiSymmetric,
51 const bool etaSymmetric,
52 const bool depthSymmetric,
57 const bool swapStripReadout,
63 SiDetectorDesign(thickness, phiSymmetric, etaSymmetric, depthSymmetric, carrierType, readoutSide,
64 stripDirection, thicknessDirection),
65 m_scheme(crystals, diodes,
cells, shift),
66 m_swapStripReadout(swapStripReadout) {
71 std::vector<SiCellId> &neighbours)
const {
73 neighbours.reserve(2);
80 int stripM =
strip - 1;
81 int stripP =
strip + 1;
84 neighbours.emplace_back(stripM);
87 neighbours.emplace_back(stripP);
111 const std::string errMsg=std::string(
"SCT_ModuleSideDesign already has a mother set!");
112 throw std::runtime_error(errMsg);
140 if (phiDist < -phiTol || etaDist < -etaTol) {
145 if (phiDist > phiTol && etaDist > etaTol) {