|
|
Go to the documentation of this file.
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);
108 ROCrows = ptp.
vitems_[0].vpars_[8];
109 ROCcols = ptp.
vitems_[0].vpars_[9];
110 ROCSx = ptp.
vitems_[0].vpars_[10];
111 ROCSy = ptp.
vitems_[0].vpars_[11];
114 ROCrows = ptp.
vitems_[1].vpars_[8];
115 ROCcols = ptp.
vitems_[1].vpars_[9];
116 ROCSx = ptp.
vitems_[1].vpars_[10];
117 ROCSy = ptp.
vitems_[1].vpars_[11];
121 throw cms::Exception(
"UnknownDet") <<
"MTDGeomBuilderFromGeometricTimingDet got a weird detector: " << det;
132 throw cms::Exception(
"MTDGeomBuilderFromGeometricTimingDet") << det <<
" is not a timing detector!";
138 std::unique_ptr<const Bounds> bounds(
i->bounds());
157 tracker->addDetUnitId(
i->geographicalID());
167 throw cms::Exception(
"MTDGeomBuilderFromGeometricTimingDet") << det <<
" is not a timing detector!";
172 auto const& gdu =
tracker->detUnits();
173 auto const& gduId =
tracker->detUnitIds();
175 for (u_int32_t
i = 0;
i < gdu.size();
i++) {
178 string gduTypeName = gdu[
i]->type().name();
std::map< std::string, const MTDGeomDetType * > theMTDDetTypeMap
std::vector< Item > vitems_
PlaneBuilderFromGeometricTimingDet::ResultType buildPlaneWithMaterial(const GeometricTimingDet *gd, double scaleFactor=1.) const
std::vector< GeometricTimingDet const * > ConstGeometricTimingDetContainer
const MTDTopology * theTopo
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)
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
void buildGeomDet(MTDGeometry *)
void buildPixel(std::vector< const GeometricTimingDet * > const &, MTDGeometry *, GeomDetType::SubDetector det, const PMTDParameters &ptp)
int mtdSubDetector() const
MTDGeometry * build(const GeometricTimingDet *gd, const PMTDParameters &ptp, const MTDTopology *tTopo)
unsigned int endsetDU(unsigned sid) const
ConstGeometricTimingDetContainer & components()
ResultType plane(const GeometricTimingDet *gd) const
constexpr SubDetector subDetGeom[21]
Detector identifier base class for the MIP Timing Layer.
unsigned int offsetDU(unsigned sid) const
ConstGeometricTimingDetContainer deepComponents() const