16 LogTrace(
"TkLayerMap") <<
" TkLayerMap::constructor for layer " <<
in;
22 "\n------------------------------------------" 23 "\nUnAvailable Service SiStripDetInfoFileReader: please insert in the configuration file an instance like" 24 "\n\tprocess.SiStripDetInfoFileReader = cms.Service(\"SiStripDetInfoFileReader\")" 25 "\n------------------------------------------";
439 std::vector<uint32_t> LayerDetIdList;
443 siStripSubStructure.
getTIBDetectors(TkDetIdList,LayerDetIdList,layerEnumNb,0,0,0);
445 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB12] layer " << layerEnumNb <<
" number of dets " << LayerDetIdList.size() <<
" lowY " <<
lowY <<
" high " <<
highY <<
" Nstring " <<
Nstring_ext;
449 for(
size_t j=0;j<LayerDetIdList.size();++j){
450 xyb=
getXY_TIB(LayerDetIdList[j],layerEnumNb);
452 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB] " << LayerDetIdList[j]<<
" " << xyb.
ix <<
" " << xyb.
iy <<
" " << xyb.
x <<
" " << xyb.
y ;
458 std::vector<uint32_t> LayerDetIdList;
462 siStripSubStructure.
getTOBDetectors(TkDetIdList,LayerDetIdList,layerEnumNb-10,0,0);
464 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] layer " << layerEnumNb-10 <<
" number of dets " << LayerDetIdList.size() <<
" lowY " <<
lowY <<
" high " <<
highY <<
" Nstring " <<
Nstring_ext;
468 for(
size_t j=0;j<LayerDetIdList.size();++j){
469 xyb=
getXY_TOB(LayerDetIdList[j],layerEnumNb);
471 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] " << LayerDetIdList[j]<<
" " << xyb.
ix <<
" " << xyb.
iy <<
" " << xyb.
x <<
" " << xyb.
y ;
477 std::vector<uint32_t> LayerDetIdList;
487 for(
size_t j=0;j<LayerDetIdList.size();++j){
488 xyb=
getXY_TID(LayerDetIdList[j],layerEnumNb);
490 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTID] " << LayerDetIdList[j]<<
" " << xyb.
ix <<
" " << xyb.
iy <<
" " << xyb.
x <<
" " << xyb.
y ;
496 std::vector<uint32_t> LayerDetIdList;
506 for(
size_t j=0;j<LayerDetIdList.size();++j){
507 xyb=
getXY_TEC(LayerDetIdList[j],layerEnumNb);
509 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTEC] " << LayerDetIdList[j]<<
" " << xyb.
ix <<
" " << xyb.
iy <<
" " << xyb.
x <<
" " << xyb.
y ;
516 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::getXY] " << detid <<
" layer " << layerEnumNb;
523 <<
"[TkLayerMap::getXY] Fill of DetId " << detid <<
" layerEnumNb " << layerEnumNb <<
" are requested to wrong TkLayerMap " <<
layerEnumNb_ <<
" \nPlease check the TkDetMap code";
635 LogTrace(
"TkDetMap") <<
"TkDetMap::constructor ";
639 for(
int layer=1;layer<35;++layer){
645 detmapType::iterator iter=TkMap.begin();
646 detmapType::iterator iterE=TkMap.end();
648 for(;iter!=iterE;++iter)
653 LogTrace(
"TkDetMap") <<
"[getXY] detid "<< detid <<
" cache " << cached_detid <<
" layer " << cached_layer <<
" XY " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy <<
" " << cached_XYbin.
x <<
" " << cached_XYbin.
y ;
654 if(detid==cached_detid)
659 FindLayer(detid , cached_detid , cached_layer , cached_XYbin );
660 LogTrace(
"TkDetMap") <<
"[getXY] detid "<< detid <<
" cache " << cached_detid <<
" layer " << cached_layer <<
" XY " << cached_XYbin.
ix <<
" " << cached_XYbin.
iy <<
" " << cached_XYbin.
x <<
" " << cached_XYbin.
y ;
666 if(detid==cached_detid)
672 LogTrace(
"TkDetMap") <<
"[FindLayer] detid "<< detid <<
" layer " << layer;
673 if(layer!=cached_layer){
676 cached_XYbin=TkMap[cached_layer]->getXY(detid,layer);
677 LogTrace(
"TkDetMap") <<
"[FindLayer] detid "<< detid <<
" cached_XYbin " << cached_XYbin.
ix <<
" "<< cached_XYbin.
iy;
687 nchX=TkMap[layer]->get_nchX();
688 lowX=TkMap[layer]->get_lowX();
689 highX=TkMap[layer]->get_highX();
690 nchY=TkMap[layer]->get_nchY();
691 lowY=TkMap[layer]->get_lowY();
692 highY=TkMap[layer]->get_highY();
697 size_t size_=TkMap[layer]->get_nchX()*TkMap[layer]->get_nchY();
698 output.resize(size_);
699 memcpy((
void*)&output[0],(
void*)TkMap[layer]->
getBinToDet(),size_*
sizeof(uint32_t));
int getLayerNum(const std::string &in) const
bool isZMinusSide() const
unsigned int rodNumber() const
uint32_t getDetFromBin(int ix, int iy) const
unsigned int petalNumber() const
unsigned int stringNumber() const
XYbin getXY_TID(uint32_t detid, int layerEnumNb=0) const
void createTEC(std::vector< uint32_t > &TkDetIdList, int layer)
void createTIB(std::vector< uint32_t > &TkDetIdList, int layer)
static const int16_t layerSearch(uint32_t detid)
XYbin getXY_TEC(uint32_t detid, int layerEnumNb=0) const
unsigned int side() const
positive or negative id
unsigned int layerNumber() const
std::vector< uint32_t > BinForRing
bool isZMinusSide() const
bool isZMinusSide() const
const std::vector< uint32_t > & getAllDetIds() const
unsigned int layerNumber() const
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
void getSubDetLayerSide(int &in, SiStripDetId::SubDetector &, uint32_t &layer, uint32_t &side) const
std::string getLayerName(int &in) const
unsigned int moduleNumber() const
unsigned int ring() const
ring id
void getDetsForLayer(int layer, std::vector< uint32_t > &output) const
std::vector< uint32_t > ModulesInRingFront
unsigned int moduleNumber() const
Detector identifier class for the strip tracker.
void getComponents(int layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY) const
bool isZMinusSide() const
void createTID(std::vector< uint32_t > &TkDetIdList, int layer)
DecomposeProduct< arg, typename Div::arg > D
XYbin getXY_TIB(uint32_t detid, int layerEnumNb=0) const
unsigned int side() const
positive or negative id
void createTOB(std::vector< uint32_t > &TkDetIdList, int layer)
uint32_t get_Offset(TIBDetId) const
bool isInternalString() const
unsigned int wheel() const
wheel id
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, 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) const
const XYbin getXY(uint32_t detid, int layerEnumNb=0) const
void initialize(int layer)
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
unsigned int ring() const
ring id
std::vector< uint32_t > ModulesInRingBack
int16_t FindLayer(uint32_t &detid, uint32_t &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
XYbin getXY_TOB(uint32_t detid, int layerEnumNb=0) const
std::vector< uint32_t > SingleExtString
const uint32_t * getBinToDet() const
const TkLayerMap::XYbin & getXY(uint32_t &, uint32_t &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
unsigned int moduleNumber() const
unsigned int moduleNumber() const
unsigned int wheel() const
wheel id