54 edm::LogError(
"TkLayerMap") <<
" TkLayerMap::requested creation of a wrong layer Nb " <<
layer_;
60 std::vector<uint32_t> LayerDetIdList;
63 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB12] layer " <<
layer_ <<
" number of dets " << LayerDetIdList.size()
66 for (uint32_t det : LayerDetIdList) {
70 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " 77 std::vector<uint32_t> LayerDetIdList;
80 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] layer " <<
layer_ - 10 <<
" number of dets " 81 << LayerDetIdList.size() <<
" lowY " <<
lowY_ <<
" high " <<
highY_ <<
" Nstring " 84 for (uint32_t det : LayerDetIdList) {
88 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " 95 std::vector<uint32_t> LayerDetIdList;
108 for (uint32_t det : LayerDetIdList) {
112 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTID] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " 119 std::vector<uint32_t> LayerDetIdList;
132 for (uint32_t det : LayerDetIdList) {
136 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTEC] " << det <<
" " << xyb.ix <<
" " << xyb.iy <<
" " << xyb.x <<
" " 157 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::getXY] " << detid.
rawId() <<
" layer " << layerEnumNb;
162 if (layerEnumNb !=
layer_)
164 <<
"[TkLayerMap::getXY] Fill of DetId " << detid.
rawId() <<
" layerEnumNb " << layerEnumNb
165 <<
" are requested to wrong TkLayerMap " <<
layer_ <<
" \nPlease check the TkDetMap code";
550 int16_t& cached_layer,
552 LogTrace(
"TkDetMap") <<
"[getXY] detid " << detid.
rawId() <<
" cache " << cached_detid.
rawId() <<
" layer " 553 << cached_layer <<
" XY " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy <<
" " << cached_XYbin.
x 554 <<
" " << cached_XYbin.
y;
555 if (detid == cached_detid)
560 findLayer(detid, cached_detid, cached_layer, cached_XYbin);
561 LogTrace(
"TkDetMap") <<
"[getXY] detid " << detid.
rawId() <<
" cache " << cached_detid.
rawId() <<
" layer " 562 << cached_layer <<
" XY " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy <<
" " << cached_XYbin.
x 563 <<
" " << cached_XYbin.
y;
570 int16_t& cached_layer,
572 if (detid == cached_detid)
575 cached_detid = detid;
579 if (
layer != cached_layer) {
580 cached_layer =
layer;
582 cached_XYbin =
TkMap[cached_layer].getXY(detid,
layer);
583 LogTrace(
"TkDetMap") <<
"[findLayer] detid " << detid.
rawId() <<
" cached_XYbin " << cached_XYbin.
ix <<
" " 590 int layer,
int& nchX,
double& lowX,
double& highX,
int& nchY,
double& lowY,
double& highY)
const {
unsigned int tecPetalNumber(const DetId &id) const
const XYbin getXY(DetId detid, int layerEnumNb=TkLayerMap::INVALID) const
unsigned int tobLayer(const DetId &id) const
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)
bool tobIsZMinusSide(const DetId &id) const
std::vector< uint32_t > binForRing_
static constexpr auto TID
unsigned int tibModule(const DetId &id) const
unsigned int tidSide(const DetId &id) const
const TrackerTopology * tTopo_
unsigned int tidWheel(const DetId &id) const
bool tibIsZMinusSide(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
bool tidIsBackRing(const DetId &id) const
void initMap_TOB(const std::vector< uint32_t > &tkDetIdList)
unsigned int tibString(const DetId &id) const
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)
bool tecIsZMinusSide(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)
Log< level::Error, false > LogError
unsigned int tecRing(const DetId &id) const
ring id
bool tibIsStereo(const DetId &id) const
constexpr std::array< uint8_t, layerIndexSize > layer
bool tidIsZMinusSide(const DetId &id) const
std::size_t bin(std::size_t ix, std::size_t iy) const
bool tobIsStereo(const DetId &id) const
std::vector< TkLayerMap > TkMap
static int getLayerNum(const std::string &in)
unsigned int tidModule(const DetId &id) const
unsigned int tecModule(const DetId &id) const
const TkLayerMap::XYbin & getXY(DetId detid, DetId &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
int16_t findLayer(DetId detid, DetId &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
unsigned int tecSide(const DetId &id) const
std::vector< uint32_t > modulesInRingBack_
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_
static constexpr auto TOB
bool tecIsBackPetal(const DetId &id) const
XYbin getXY_TEC(DetId detid) const
std::vector< DetId > binToDet_
XYbin getXY_TOB(DetId detid) const
void getComponents(int layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY) const
constexpr uint32_t rawId() const
get the raw id
bool tecIsStereo(const DetId &id) const
bool tibIsInternalString(const DetId &id) const
unsigned int tobRod(const DetId &id) const
static constexpr auto TIB
bool tidIsStereo(const DetId &id) const
XYbin getXY_TIB(DetId detid) const
std::vector< uint32_t > modulesInRingFront_
unsigned int tidRing(const DetId &id) const
const TrackerTopology * tTopo_
unsigned int tibLayer(const DetId &id) const
unsigned int tobModule(const DetId &id) 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)
XYbin getXY_TID(DetId detid) const
static constexpr auto TEC
void initMap_TEC(const std::vector< uint32_t > &tkDetIdList)