1 #ifndef CalibTracker_SiStripCommon_TKHistoMap_h 2 #define CalibTracker_SiStripCommon_TKHistoMap_h 5 #include <boost/cstdint.hpp> 14 XYbin(int16_t _ix=-999, int16_t _iy=-999,
float _x=-999.,
float _y=-999.)
15 :
ix(_ix),
iy(_iy),
x(_x),
y(_y) {}
32 , std::size_t nchX,
double lowX,
double highX
33 , std::size_t nchY,
double lowY,
double highY
34 ,
const TrackerTopology* tTopo,
const std::vector<uint32_t>& tkDetIdList
35 ,
const std::vector<uint32_t>& singleExtString = {}
36 ,
const std::vector<uint32_t>& modulesInRingFront = {}
37 ,
const std::vector<uint32_t>& modulesInRingBack = {}
38 ,
const std::vector<uint32_t>& binForRing = {}
39 , uint32_t nstring_ext = 0, uint32_t nrod = 0
49 ,
binToDet_(std::vector<DetId>(std::size_t(nchX*nchY), 0))
55 , std::size_t nchX,
double lowX,
double highX
56 , std::size_t nchY,
double lowY,
double highY
57 ,
const TrackerTopology* tTopo,
const std::vector<uint32_t>& tkDetIdList
58 , std::vector<uint32_t>&& singleExtString = {}
59 , std::vector<uint32_t>&& modulesInRingFront = {}
60 , std::vector<uint32_t>&& modulesInRingBack = {}
61 , std::vector<uint32_t>&& binForRing = {}
62 , uint32_t nstring_ext = 0, uint32_t nrod = 0
72 ,
binToDet_(std::vector<DetId>(std::size_t(nchX*nchY), 0))
77 void initMap(
const std::vector<uint32_t>& tkDetIdList);
79 void initMap_TIB(
const std::vector<uint32_t>& tkDetIdList);
80 void initMap_TOB(
const std::vector<uint32_t>& tkDetIdList);
81 void initMap_TID(
const std::vector<uint32_t>& tkDetIdList);
82 void initMap_TEC(
const std::vector<uint32_t>& tkDetIdList);
84 std::size_t
bin(std::size_t
ix, std::size_t
iy)
const {
return (ix-1)+
nchX_*(iy-1); }
98 const auto idx =
bin(ix, iy);
140 {
return TkMap[layer].getDetFromBin(ix, iy); }
145 {
return TkMap[layer].getBinToDet(); }
150 int16_t findLayer(
DetId detid,
152 void getComponents(
int layer,
153 int& nchX,
double& lowX,
double& highX,
154 int& nchY,
double& lowY,
double& highY)
const;
DetId getDetFromBin(int ix, int iy) const
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)
const TrackerTopology * tTopo_
std::size_t get_nchX() const
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::vector< DetId > getDetsForLayer(int layer) const
std::vector< TkLayerMap > TkMap
XYbin getXY_TID(DetId detid) const
std::vector< uint32_t > modulesInRingBack_
XYbin getXY_TIB(DetId detid) const
std::size_t get_nchY() const
DetId getDetFromBin(const std::string &layerName, int ix, int iy) const
XYbin(int16_t _ix=-999, int16_t _iy=-999, float _x=-999., float _y=-999.)
void initMap_TID(const std::vector< uint32_t > &tkDetIdList)
std::vector< uint32_t > singleExtStr_
std::vector< DetId > binToDet_
const XYbin getXY(DetId detid, int layerEnumNb=TkLayerMap::INVALID) const
XYbin getXY_TEC(DetId detid) const
std::size_t bin(std::size_t ix, std::size_t iy) const
std::vector< uint32_t > modulesInRingFront_
DetId getDetFromBin(int layer, int ix, int iy) const
XYbin getXY_TOB(DetId detid) const
const TrackerTopology * tTopo_
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)
const std::vector< DetId > & getBinToDet() const
void initMap_TEC(const std::vector< uint32_t > &tkDetIdList)