12 #include <klm/bklm/geometry/Module.h>
15 #include <framework/gearbox/Const.h>
21 using namespace Belle2::bklm;
29 m_PhiPositionBase(0.0),
36 m_GlobalOrigin(CLHEP::Hep3Vector()),
37 m_LocalReconstructionShift(CLHEP::Hep3Vector()),
38 m_Rotation(CLHEP::HepRotation()),
39 m_Alignment(HepGeom::Transform3D()),
40 m_AlignmentRotation(CLHEP::HepRotation()),
41 m_AlignmentTranslation(CLHEP::Hep3Vector()),
42 m_AlignmentInverse(HepGeom::Transform3D()),
43 m_AlignmentRotationInverse(CLHEP::HepRotation()),
44 m_DisplacedGeo(HepGeom::Transform3D()),
45 m_DisplacedGeoRotation(CLHEP::HepRotation()),
46 m_DisplacedGeoTranslation(CLHEP::Hep3Vector()),
47 m_DisplacedGeoInverse(HepGeom::Transform3D()),
48 m_DisplacedGeoRotationInverse(CLHEP::HepRotation())
65 const CLHEP::Hep3Vector& globalOrigin,
66 const CLHEP::Hep3Vector& localReconstructionShift,
67 const CLHEP::HepRotation& rotation) :
70 m_PhiStripWidth(phiStripWidth),
71 m_PhiStripMin(phiStripMin),
72 m_PhiStripMax(phiStripMax),
73 m_PhiPositionBase(0.5 * (phiStripMin + phiStripMax - 1) + 1.0),
74 m_ZStripWidth(zStripWidth),
76 m_ZStripMax(zStripNumber),
79 m_SignalSpeed(0.5 *
Const::speedOfLight),
80 m_GlobalOrigin(globalOrigin),
81 m_LocalReconstructionShift(localReconstructionShift),
83 m_Alignment(HepGeom::Transform3D()),
84 m_AlignmentRotation(CLHEP::HepRotation()),
85 m_AlignmentTranslation(CLHEP::Hep3Vector()),
86 m_AlignmentInverse(HepGeom::Transform3D()),
87 m_AlignmentRotationInverse(CLHEP::HepRotation()),
88 m_DisplacedGeo(HepGeom::Transform3D()),
89 m_DisplacedGeoRotation(CLHEP::HepRotation()),
90 m_DisplacedGeoTranslation(CLHEP::Hep3Vector()),
91 m_DisplacedGeoInverse(HepGeom::Transform3D()),
92 m_DisplacedGeoRotationInverse(CLHEP::HepRotation())
108 const CLHEP::Hep3Vector& globalOrigin,
109 const CLHEP::Hep3Vector& localReconstructionShift,
110 const CLHEP::HepRotation& rotation,
113 m_IsFlipped(isFlipped),
114 m_PhiStripWidth(stripWidth),
116 m_PhiStripMax(phiStripNumber),
117 m_PhiPositionBase(0.5 * phiStripNumber + 1.0),
118 m_ZStripWidth(stripWidth),
120 m_ZStripMax(zStripNumber),
121 m_ZPositionBase(1.0),
122 m_PhiSensorSide(phiSensorSide),
123 m_SignalSpeed(0.5671 *
Const::speedOfLight),
124 m_GlobalOrigin(globalOrigin),
125 m_LocalReconstructionShift(localReconstructionShift),
126 m_Rotation(rotation),
127 m_Alignment(HepGeom::Transform3D()),
128 m_AlignmentRotation(CLHEP::HepRotation()),
129 m_AlignmentTranslation(CLHEP::Hep3Vector()),
130 m_AlignmentInverse(HepGeom::Transform3D()),
131 m_AlignmentRotationInverse(CLHEP::HepRotation()),
132 m_DisplacedGeo(HepGeom::Transform3D()),
133 m_DisplacedGeoRotation(CLHEP::HepRotation()),
134 m_DisplacedGeoTranslation(CLHEP::Hep3Vector()),
135 m_DisplacedGeoInverse(HepGeom::Transform3D()),
136 m_DisplacedGeoRotationInverse(CLHEP::HepRotation())
150 m_HasRPCs(m.m_HasRPCs),
151 m_IsFlipped(m.m_IsFlipped),
152 m_PhiStripWidth(m.m_PhiStripWidth),
153 m_PhiStripMin(m.m_PhiStripMin),
154 m_PhiStripMax(m.m_PhiStripMax),
155 m_PhiPositionBase(m.m_PhiPositionBase),
156 m_ZStripWidth(m.m_ZStripWidth),
157 m_ZStripMin(m.m_ZStripMin),
158 m_ZStripMax(m.m_ZStripMax),
159 m_ZPositionBase(m.m_ZPositionBase),
160 m_PhiSensorSide(m.m_PhiSensorSide),
161 m_SignalSpeed(m.m_SignalSpeed),
162 m_GlobalOrigin(m.m_GlobalOrigin),
163 m_LocalReconstructionShift(m.m_LocalReconstructionShift),
164 m_Rotation(m.m_Rotation),
165 m_RotationInverse(m.m_RotationInverse),
166 m_Alignment(m.m_Alignment),
167 m_AlignmentRotation(m.m_AlignmentRotation),
168 m_AlignmentTranslation(m.m_AlignmentTranslation),
169 m_AlignmentInverse(m.m_AlignmentInverse),
170 m_AlignmentRotationInverse(m.m_AlignmentRotationInverse),
171 m_DisplacedGeo(m.m_DisplacedGeo),
172 m_DisplacedGeoRotation(m.m_DisplacedGeoRotation),
173 m_DisplacedGeoTranslation(m.m_DisplacedGeoTranslation),
174 m_DisplacedGeoInverse(m.m_DisplacedGeoInverse),
175 m_DisplacedGeoRotationInverse(m.m_DisplacedGeoRotationInverse),
176 m_PhiScintLengths(m.m_PhiScintLengths),
177 m_PhiScintPositions(m.m_PhiScintPositions),
178 m_PhiScintOffsets(m.m_PhiScintOffsets),
179 m_ZScintLengths(m.m_ZScintLengths),
180 m_ZScintPositions(m.m_ZScintPositions),
181 m_ZScintOffsets(m.m_ZScintOffsets)
256 return CLHEP::Hep3Vector(0.0,
262 int strip,
bool phiReadout)
const
282 return CLHEP::Hep3Vector(0.0, dz, dy);
292 bool phiReadout)
const
299 const CLHEP::Hep3Vector& local,
int stripZ,
int stripPhi)
const
308 CLHEP::Hep3Vector vlocal(v.x(), v.y(), v.z());
366 HepGeom::Scale3D scale;
367 HepGeom::Rotate3D rotation;
368 HepGeom::Translate3D translation;
369 trans.getDecomposition(scale, rotation, translation);
370 CLHEP::Hep3Vector t(translation.dx(), translation.dy(), translation.dz());
376 HepGeom::Scale3D scale;
377 HepGeom::Rotate3D rotation;
378 HepGeom::Translate3D translation;
379 trans.getDecomposition(scale, rotation, translation);
380 CLHEP::HepRep3x3 rRep(rotation.xx(), rotation.xy(), rotation.xz(),
381 rotation.yx(), rotation.yy(), rotation.yz(),
382 rotation.zx(), rotation.zy(), rotation.zz()
384 CLHEP::HepRotation r;