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_[4];
110 GAPxBorder = ptp.
vitems_[0].vpars_[5];
111 GAPyInterpad = ptp.
vitems_[0].vpars_[6];
112 GAPyBorder = ptp.
vitems_[0].vpars_[7];
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_[4];
120 GAPxBorder = ptp.
vitems_[1].vpars_[5];
121 GAPyInterpad = ptp.
vitems_[1].vpars_[6];
122 GAPyBorder = ptp.
vitems_[1].vpars_[7];
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();
std::vector< Item > vitems_
constexpr SubDetector subDetGeom[21]
ConstGeometricTimingDetContainer deepComponents() const
int mtdSubDetector() const
Detector identifier base class for the MIP Timing Layer.
PixelTopology * build(const Bounds *bounds, int ROWS_PER_ROC, int COLS_PER_ROC, int ROCS_X, int ROCS_Y, int GAPxInterpad, int GAPxBorder, int GAPyInterpad, int GAPyBorder)
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
ConstGeometricTimingDetContainer & components()
ResultType plane(const GeometricTimingDet *gd) const
const MTDTopology * theTopo
void buildGeomDet(MTDGeometry *)
unsigned int endsetDU(unsigned sid) const
MTDGeometry * build(const GeometricTimingDet *gd, const PMTDParameters &ptp, const MTDTopology *tTopo)
void buildPixel(std::vector< const GeometricTimingDet *> const &, MTDGeometry *, GeomDetType::SubDetector det, const PMTDParameters &ptp)
std::map< std::string, const MTDGeomDetType * > theMTDDetTypeMap
PlaneBuilderFromGeometricTimingDet::ResultType buildPlaneWithMaterial(const GeometricTimingDet *gd, double scaleFactor=1.) const
std::vector< GeometricTimingDet const * > ConstGeometricTimingDetContainer
unsigned int offsetDU(unsigned sid) const