1 #ifndef CalibTracker_SiStripCommon_TKHistoMap_h 2 #define CalibTracker_SiStripCommon_TKHistoMap_h 13 XYbin(int16_t _ix = -999, int16_t _iy = -999,
float _x = -999.,
float _y = -999.)
14 :
ix(_ix),
iy(_iy),
x(_x),
y(_y) {}
68 const std::vector<uint32_t>& tkDetIdList,
69 const std::vector<uint32_t>& singleExtString = {},
70 const std::vector<uint32_t>& modulesInRingFront = {},
71 const std::vector<uint32_t>& modulesInRingBack = {},
72 const std::vector<uint32_t>& binForRing = {},
73 uint32_t nstring_ext = 0,
89 binToDet_(std::vector<DetId>(std::size_t(nchX * nchY), 0)) {
101 const std::vector<uint32_t>& tkDetIdList,
102 std::vector<uint32_t>&& singleExtString = {},
103 std::vector<uint32_t>&& modulesInRingFront = {},
104 std::vector<uint32_t>&& modulesInRingBack = {},
105 std::vector<uint32_t>&& binForRing = {},
106 uint32_t nstring_ext = 0,
122 binToDet_(std::vector<DetId>(std::size_t(nchX * nchY), 0)) {
126 void initMap(
const std::vector<uint32_t>& tkDetIdList);
129 void initMap_TIB(
const std::vector<uint32_t>& tkDetIdList);
130 void initMap_TOB(
const std::vector<uint32_t>& tkDetIdList);
131 void initMap_TID(
const std::vector<uint32_t>& tkDetIdList);
132 void initMap_TEC(
const std::vector<uint32_t>& tkDetIdList);
134 std::size_t
bin(std::size_t ix, std::size_t iy)
const {
return (ix - 1) +
nchX_ * (iy - 1); }
148 const auto idx =
bin(ix, iy);
203 int16_t& cached_layer,
206 void getComponents(
int layer,
int& nchX,
double& lowX,
double& highX,
int& nchY,
double& lowY,
double& highY)
const;
const XYbin getXY(DetId detid, int layerEnumNb=TkLayerMap::INVALID) const
static std::string getLayerName(int in)
static void getSubDetLayerSide(int in, SiStripDetId::SubDetector &, uint32_t &layer, uint32_t &side)
std::vector< uint32_t > binForRing_
TkLayerMap(int layer, std::size_t nchX, double lowX, double highX, std::size_t nchY, double lowY, double highY, const TrackerTopology *tTopo, const std::vector< uint32_t > &tkDetIdList, const std::vector< uint32_t > &singleExtString={}, const std::vector< uint32_t > &modulesInRingFront={}, const std::vector< uint32_t > &modulesInRingBack={}, const std::vector< uint32_t > &binForRing={}, uint32_t nstring_ext=0, uint32_t nrod=0)
void setLayerMap(int layer, const TkLayerMap &lyrMap)
TkDetMap(const TrackerTopology *tTopo)
DetId getDetFromBin(int ix, int iy) const
const TrackerTopology * tTopo_
void initMap_TOB(const std::vector< uint32_t > &tkDetIdList)
void initMap(const std::vector< uint32_t > &tkDetIdList)
static const int16_t layerSearch(DetId detid, const TrackerTopology *tTopo)
void initMap_TIB(const std::vector< uint32_t > &tkDetIdList)
std::size_t get_nchX() const
std::vector< DetId > getDetsForLayer(int layer) const
std::size_t bin(std::size_t ix, std::size_t iy) const
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
std::vector< TkLayerMap > TkMap
static int getLayerNum(const std::string &in)
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
std::vector< uint32_t > modulesInRingBack_
XYbin(int16_t _ix=-999, int16_t _iy=-999, float _x=-999., float _y=-999.)
std::size_t get_nchY() const
DetId getDetFromBin(int layer, int ix, int iy) const
void initMap_TID(const std::vector< uint32_t > &tkDetIdList)
std::vector< uint32_t > singleExtStr_
XYbin getXY_TEC(DetId detid) const
std::vector< DetId > binToDet_
const std::vector< DetId > & getBinToDet() const
XYbin getXY_TOB(DetId detid) const
void getComponents(int layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY) const
XYbin getXY_TIB(DetId detid) const
std::vector< uint32_t > modulesInRingFront_
const TrackerTopology * tTopo_
XYbin getXY_TID(DetId detid) const
TkLayerMap(int layer, std::size_t nchX, double lowX, double highX, std::size_t nchY, double lowY, double highY, const TrackerTopology *tTopo, const std::vector< uint32_t > &tkDetIdList, std::vector< uint32_t > &&singleExtString={}, std::vector< uint32_t > &&modulesInRingFront={}, std::vector< uint32_t > &&modulesInRingBack={}, std::vector< uint32_t > &&binForRing={}, uint32_t nstring_ext=0, uint32_t nrod=0)
void setLayerMap(int layer, TkLayerMap &&lyrMap)
DetId getDetFromBin(const std::string &layerName, int ix, int iy) const
void initMap_TEC(const std::vector< uint32_t > &tkDetIdList)