55 edm::LogError(
"TkLayerMap") <<
" TkLayerMap::requested creation of a wrong layer Nb " <<
layer_;
62 std::vector<uint32_t> LayerDetIdList;
65 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB12] layer " <<
layer_ <<
" number of dets " << LayerDetIdList.size() <<
" lowY " <<
lowY_ <<
" high " <<
highY_ <<
" Nstring " <<
nStringExt_;
67 for ( uint32_t det : LayerDetIdList ) {
71 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " << xyb.y;
78 std::vector<uint32_t> LayerDetIdList;
81 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] layer " <<
layer_-10 <<
" number of dets " << LayerDetIdList.size() <<
" lowY " <<
lowY_ <<
" high " <<
highY_ <<
" Nstring " <<
nStringExt_;
83 for ( uint32_t det : LayerDetIdList ) {
87 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " << xyb.y;
94 std::vector<uint32_t> LayerDetIdList;
99 for ( uint32_t det : LayerDetIdList ) {
103 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTID] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " << xyb.y ;
110 std::vector<uint32_t> LayerDetIdList;
115 for ( uint32_t det : LayerDetIdList ) {
119 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTEC] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " << xyb.y;
141 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::getXY] " << detid.
rawId() <<
" layer " << layerEnumNb;
145 if ( layerEnumNb !=
layer_ )
147 <<
"[TkLayerMap::getXY] Fill of DetId " << detid.
rawId() <<
" layerEnumNb " << layerEnumNb <<
" are requested to wrong TkLayerMap " <<
layer_ <<
" \nPlease check the TkDetMap code";
312 if ( in ==
"TIB_L1" )
314 if ( in ==
"TIB_L2" )
316 if ( in ==
"TIB_L3" )
318 if ( in ==
"TIB_L4" )
320 if ( in ==
"TIDP_D1" )
322 if ( in ==
"TIDP_D2" )
324 if ( in ==
"TIDP_D3" )
326 if ( in ==
"TIDM_D1" )
328 if ( in ==
"TIDM_D2" )
330 if ( in ==
"TIDM_D3" )
332 if ( in ==
"TOB_L1" )
334 if ( in ==
"TOB_L2" )
336 if ( in ==
"TOB_L3" )
338 if ( in ==
"TOB_L4" )
340 if ( in ==
"TOB_L5" )
342 if ( in ==
"TOB_L6" )
344 if ( in ==
"TECP_W1" )
346 if ( in ==
"TECP_W2" )
348 if ( in ==
"TECP_W3" )
350 if ( in ==
"TECP_W4" )
352 if ( in ==
"TECP_W5" )
354 if ( in ==
"TECP_W6" )
356 if ( in ==
"TECP_W7" )
358 if ( in ==
"TECP_W8" )
360 if ( in ==
"TECP_W9" )
362 if ( in ==
"TECM_W1" )
364 if ( in ==
"TECM_W2" )
366 if ( in ==
"TECM_W3" )
368 if ( in ==
"TECM_W4" )
370 if ( in ==
"TECM_W5" )
372 if ( in ==
"TECM_W6" )
374 if ( in ==
"TECM_W7" )
376 if ( in ==
"TECM_W8" )
378 if ( in ==
"TECM_W9" )
551 LogTrace(
"TkDetMap") <<
"[getXY] detid " << detid.
rawId() <<
" cache " << cached_detid.
rawId() <<
" layer " << cached_layer <<
" XY " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy <<
" " << cached_XYbin.
x <<
" " << cached_XYbin.
y;
552 if ( detid == cached_detid )
557 findLayer(detid, cached_detid , cached_layer, cached_XYbin);
558 LogTrace(
"TkDetMap") <<
"[getXY] detid " << detid.
rawId() <<
" cache " << cached_detid.
rawId() <<
" layer " << cached_layer <<
" XY " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy <<
" " << cached_XYbin.
x <<
" " << cached_XYbin.
y;
565 if ( detid == cached_detid )
568 cached_detid = detid;
571 LogTrace(
"TkDetMap") <<
"[findLayer] detid " << detid.
rawId() <<
" layer " << layer;
572 if ( layer != cached_layer ) {
575 cached_XYbin =
TkMap[cached_layer].getXY(detid, layer);
576 LogTrace(
"TkDetMap") <<
"[findLayer] detid " << detid.
rawId() <<
" cached_XYbin " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy;
582 int& nchX,
double& lowX,
double& highX,
583 int& nchY,
double& lowY,
double& highY)
const 585 nchX =
TkMap[layer].get_nchX();
586 lowX =
TkMap[layer].get_lowX();
587 highX =
TkMap[layer].get_highX();
588 nchY =
TkMap[layer].get_nchY();
589 lowY =
TkMap[layer].get_lowY();
590 highY =
TkMap[layer].get_highY();
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
static std::string getLayerName(int in)
static void getSubDetLayerSide(int in, SiStripDetId::SubDetector &, uint32_t &layer, uint32_t &side)
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
unsigned int tidRing(const DetId &id) const
bool tobIsStereo(const DetId &id) const
std::vector< uint32_t > binForRing_
const TrackerTopology * tTopo_
unsigned int tecRing(const DetId &id) const
ring id
constexpr uint32_t rawId() const
get the raw id
void initMap_TOB(const std::vector< uint32_t > &tkDetIdList)
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
void initMap(const std::vector< uint32_t > &tkDetIdList)
unsigned int tidWheel(const DetId &id) const
static const int16_t layerSearch(DetId detid, const TrackerTopology *tTopo)
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
void initMap_TIB(const std::vector< uint32_t > &tkDetIdList)
bool tecIsZMinusSide(const DetId &id) const
bool tidIsStereo(const DetId &id) const
bool tidIsZMinusSide(const DetId &id) const
static int getLayerNum(const std::string &in)
XYbin getXY_TID(DetId detid) const
bool tecIsStereo(const DetId &id) const
unsigned int tidSide(const DetId &id) const
bool tibIsZMinusSide(const DetId &id) const
std::vector< uint32_t > modulesInRingBack_
unsigned int tidModule(const DetId &id) const
bool tidIsBackRing(const DetId &id) const
XYbin getXY_TIB(DetId detid) const
bool tobIsZMinusSide(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void initMap_TID(const std::vector< uint32_t > &tkDetIdList)
std::vector< uint32_t > singleExtStr_
unsigned int tibModule(const DetId &id) const
unsigned int tecModule(const DetId &id) const
void getComponents(int layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY) const
bool tecIsBackPetal(const DetId &id) const
std::vector< DetId > binToDet_
int16_t findLayer(DetId detid, DetId &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
const XYbin getXY(DetId detid, int layerEnumNb=TkLayerMap::INVALID) const
XYbin getXY_TEC(DetId detid) const
bool tibIsStereo(const DetId &id) const
unsigned int tobModule(const DetId &id) const
std::size_t bin(std::size_t ix, std::size_t iy) const
std::vector< uint32_t > modulesInRingFront_
XYbin getXY_TOB(DetId detid) const
unsigned int tecPetalNumber(const DetId &id) const
const TkLayerMap::XYbin & getXY(DetId detid, DetId &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
unsigned int tobRod(const DetId &id) const
bool tibIsInternalString(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
void initMap_TEC(const std::vector< uint32_t > &tkDetIdList)
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const