22 for (
int i=1;
i!=2;
i++) {
25 end = tg.
endsetDU(det); assert(end>=off);
26 for (
int j=off; j!=
end; ++j) {
27 assert(tg.
detUnits()[j]->geographicalId().subdetId()==
i);
28 assert(tg.
detUnits()[j]->index()==j);
40 std::vector<const GeometricTimingDet*>
comp;
50 LogDebug(
"SubDetectorGeometricTimingDetType")
51 <<
"GeometricTimingDet enumerator values of the subdetectors" << std::endl;
52 for(
unsigned int i=0;
i<subdetgd.size();++
i) {
53 MTDDetId mtdid(subdetgd[
i]->geographicalId());
56 LogTrace(
"SubDetectorGeometricTimingDetType")
58 <<
" type " << subdetgd[
i]->type()
59 <<
" detid " << std::hex << subdetgd[
i]->geographicalId().rawId() <<
std::dec 60 <<
" subdetid " << subdetgd[
i]->geographicalId().subdetId() << std::endl;
63 std::vector<const GeometricTimingDet*> dets[2];
64 std::vector<const GeometricTimingDet*> & btl = dets[0]; btl.reserve(comp.size());
65 std::vector<const GeometricTimingDet*> & etl = dets[1]; etl.reserve(comp.size());
67 for(
auto &
i : comp) {
69 dets[mtdid.mtdSubDetector()-1].emplace_back(
i);
76 for(
unsigned int i=0;
i<2;++
i) {
89 verifyDUinTG(*tracker);
100 <<
" Pixel type. Size of vector: " << gdv.size()
101 <<
" GeomDetType subdetector: " << det
103 <<
" big pix per ROC x: " << 0<<
" y: " << 0
104 <<
" is upgrade: " <<
true << std::endl;
107 int ROCrows(0),ROCcols(0),ROCSx(0),ROCSy(0);
110 ROCrows = ptp.
vitems_[0].vpars_[8];
111 ROCcols = ptp.
vitems_[0].vpars_[9];
112 ROCSx = ptp.
vitems_[0].vpars_[10];
113 ROCSy = ptp.
vitems_[0].vpars_[11];
116 ROCrows = ptp.
vitems_[1].vpars_[8];
117 ROCcols = ptp.
vitems_[1].vpars_[9];
118 ROCSx = ptp.
vitems_[1].vpars_[10];
119 ROCSy = ptp.
vitems_[1].vpars_[11];
124 <<
"MTDGeomBuilderFromGeometricTimingDet got a weird detector: " << det;
135 throw cms::Exception(
"MTDGeomBuilderFromGeometricTimingDet") << det <<
" is not a timing detector!";
142 std::unique_ptr<const Bounds> bounds(
i->bounds());
170 throw cms::Exception(
"MTDGeomBuilderFromGeometricTimingDet") << det <<
" is not a timing detector!";
176 auto const & gdu = tracker->
detUnits();
179 for(u_int32_t
i=0;
i<gdu.size();
i++){
183 string gduTypeName = gdu[
i]->type().name();
void setEndsetDU(unsigned sid)
std::vector< Item > vitems_
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
void addType(GeomDetType const *p)
unsigned int endsetDU(unsigned sid) const
Detector identifier base class for the MIP Timing Layer.
ConstGeometricTimingDetContainer & components()
unsigned int offsetDU(unsigned sid) const
const MTDTopology * theTopo
ResultType plane(const GeometricTimingDet *gd) const
PlaneBuilderFromGeometricTimingDet::ResultType buildPlaneWithMaterial(const GeometricTimingDet *gd, double scaleFactor=1.) const
void buildGeomDet(MTDGeometry *)
ConstGeometricTimingDetContainer deepComponents() const
const DetIdContainer & detUnitIds() const override
Returm a vector of all GeomDetUnit DetIds.
SubDetector subDetGeom[21]
MTDGeometry * build(const GeometricTimingDet *gd, const PMTDParameters &ptp, const MTDTopology *tTopo)
PixelTopology * build(const Bounds *bounds, bool upgradeGeometry, int ROWS_PER_ROC, int COLS_PER_ROC, int BIG_PIX_PER_ROC_X, int BIG_PIX_PER_ROC_Y, int ROCS_X, int ROCS_Y)
void addDet(GeomDet const *p)
void addDetUnitId(DetId p)
std::map< std::string, const MTDGeomDetType * > theMTDDetTypeMap
int mtdSubDetector() const
void buildPixel(std::vector< const GeometricTimingDet * > const &, MTDGeometry *, GeomDetType::SubDetector det, const PMTDParameters &ptp)
void setOffsetDU(unsigned sid)
std::vector< GeometricTimingDet const * > ConstGeometricTimingDetContainer
void addDetUnit(GeomDet const *p)