23 for (
int i = 1;
i != 2;
i++) {
28 for (
int j = off;
j !=
end; ++
j) {
42 std::vector<const GeometricTimingDet*>
comp;
50 std::vector<GeometricTimingDet::GTDEnumType> gdsubdetmap(
54 LogDebug(
"SubDetectorGeometricTimingDetType") <<
"MTD GeometricTimingDet enumerator values of the subdetectors";
55 for (
unsigned int i = 0;
i < subdetgd.size(); ++
i) {
56 MTDDetId mtdid(subdetgd[
i]->geographicalId());
59 LogTrace(
"SubDetectorGeometricTimingDetType") <<
"MTD subdet " <<
i <<
" type " << subdetgd[
i]->type() <<
" detid "
60 << std::hex << subdetgd[
i]->geographicalId().rawId() <<
std::dec
61 <<
" subdetid " << subdetgd[
i]->geographicalId().subdetId();
64 std::vector<const GeometricTimingDet*> dets[2];
65 std::vector<const GeometricTimingDet*>& btl = dets[0];
66 btl.reserve(
comp.size());
67 std::vector<const GeometricTimingDet*>& etl = dets[1];
68 etl.reserve(
comp.size());
70 for (
auto&
i :
comp) {
72 dets[mtdid.mtdSubDetector() - 1].emplace_back(
i);
79 for (
unsigned int i = 0;
i < 2; ++
i) {
80 if (gdsubdetmap[
i] == GeometricTimingDet::BTL)
82 if (gdsubdetmap[
i] == GeometricTimingDet::ETL)
94 std::vector<const GeometricTimingDet*>
const& gdv,
99 LogDebug(
"BuildingGeomDetUnits") <<
" MTD Pixel type. Size of vector: " << gdv.size()
100 <<
" GeomDetType subdetector: " << det
102 <<
" big pix per ROC x: " << 0 <<
" y: " << 0 <<
" is upgrade: " <<
true;
105 int ROCrows(0), ROCcols(0), ROCSx(0), ROCSy(0);
106 int GAPxInterpad(0), GAPxBorder(0), GAPyInterpad(0), GAPyBorder(0);
109 GAPxInterpad = ptp.
vitems_[0].vpars_[0];
110 GAPxBorder = ptp.
vitems_[0].vpars_[1];
111 GAPyInterpad = ptp.
vitems_[0].vpars_[2];
112 GAPyBorder = ptp.
vitems_[0].vpars_[3];
113 ROCrows = ptp.
vitems_[0].vpars_[8];
114 ROCcols = ptp.
vitems_[0].vpars_[9];
115 ROCSx = ptp.
vitems_[0].vpars_[10];
116 ROCSy = ptp.
vitems_[0].vpars_[11];
119 GAPxInterpad = ptp.
vitems_[1].vpars_[0];
120 GAPxBorder = ptp.
vitems_[1].vpars_[1];
121 GAPyInterpad = ptp.
vitems_[1].vpars_[2];
122 GAPyBorder = ptp.
vitems_[1].vpars_[3];
123 ROCrows = ptp.
vitems_[1].vpars_[8];
124 ROCcols = ptp.
vitems_[1].vpars_[9];
125 ROCSx = ptp.
vitems_[1].vpars_[10];
126 ROCSy = ptp.
vitems_[1].vpars_[11];
130 throw cms::Exception(
"UnknownDet") <<
"MTDGeomBuilderFromGeometricTimingDet got a weird detector: " << det;
141 throw cms::Exception(
"MTDGeomBuilderFromGeometricTimingDet") << det <<
" is not a timing detector!";
147 std::unique_ptr<const Bounds> bounds(
i->bounds());
150 &*bounds, ROCrows, ROCcols, ROCSx, ROCSy, GAPxInterpad, GAPxBorder, GAPyInterpad, GAPyBorder);
160 tracker->addDetUnitId(
i->geographicalID());
170 throw cms::Exception(
"MTDGeomBuilderFromGeometricTimingDet") << det <<
" is not a timing detector!";
175 auto const& gdu =
tracker->detUnits();
176 auto const& gduId =
tracker->detUnitIds();
178 for (u_int32_t
i = 0;
i < gdu.size();
i++) {
181 string gduTypeName = gdu[
i]->type().name();