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------------------------------------------";
83 int val=(ix-1)+
nchX*(iy-1);
438 std::vector<uint32_t> LayerDetIdList;
442 siStripSubStructure.
getTIBDetectors(TkDetIdList,LayerDetIdList,layerEnumNb,0,0,0);
444 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTIB12] layer " << layerEnumNb <<
" number of dets " << LayerDetIdList.size() <<
" lowY " <<
lowY <<
" high " <<
highY <<
" Nstring " <<
Nstring_ext;
446 for(
size_t j=0;
j<LayerDetIdList.size();++
j){
455 std::vector<uint32_t> LayerDetIdList;
459 siStripSubStructure.
getTOBDetectors(TkDetIdList,LayerDetIdList,layerEnumNb-10,0,0);
461 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::createTOB] layer " << layerEnumNb-10 <<
" number of dets " << LayerDetIdList.size() <<
" lowY " <<
lowY <<
" high " <<
highY <<
" Nstring " <<
Nstring_ext;
463 for(
size_t j=0;
j<LayerDetIdList.size();++
j){
472 std::vector<uint32_t> LayerDetIdList;
480 for(
size_t j=0;
j<LayerDetIdList.size();++
j){
489 std::vector<uint32_t> LayerDetIdList;
497 for(
size_t j=0;
j<LayerDetIdList.size();++
j){
507 LogTrace(
"TkLayerMap") <<
"[TkLayerMap::getXY] " << detid <<
" layer " << layerEnumNb;
514 <<
"[TkLayerMap::getXY] Fill of DetId " << detid <<
" layerEnumNb " << layerEnumNb <<
" are requested to wrong TkLayerMap " <<
layerEnumNb_ <<
" \nPlease check the TkDetMap code";
616 LogTrace(
"TkDetMap") <<
"TkDetMap::constructor ";
620 for(
int layer=1;layer<35;++layer){
626 detmapType::iterator iter=
TkMap.begin();
627 detmapType::iterator iterE=
TkMap.end();
629 for(;iter!=iterE;++iter)
654 LogTrace(
"TkDetMap") <<
"[FindLayer] detid "<< detid <<
" layer " << layer;
667 int& nchX,
double& lowX,
double& highX,
668 int& nchY,
double& lowY,
double& highY){
669 nchX=
TkMap[layer]->get_nchX();
670 lowX=
TkMap[layer]->get_lowX();
671 highX=
TkMap[layer]->get_highX();
672 nchY=
TkMap[layer]->get_nchY();
673 lowY=
TkMap[layer]->get_lowY();
674 highY=
TkMap[layer]->get_highY();
680 output.resize(size_);
681 memcpy((
void*)&output[0],(
void*)
TkMap[layer]->getBinToDet(),size_*
sizeof(uint32_t));
760 if(in.compare(
"TIB_L1")==0)
762 if(in.compare(
"TIB_L2")==0)
764 if(in.compare(
"TIB_L3")==0)
766 if(in.compare(
"TIB_L4")==0)
768 if(in.compare(
"TIDP_D1")==0)
770 if(in.compare(
"TIDP_D2")==0)
772 if(in.compare(
"TIDP_D3")==0)
774 if(in.compare(
"TIDM_D1")==0)
776 if(in.compare(
"TIDM_D2")==0)
778 if(in.compare(
"TIDM_D3")==0)
780 if(in.compare(
"TOB_L1")==0)
782 if(in.compare(
"TOB_L2")==0)
784 if(in.compare(
"TOB_L3")==0)
786 if(in.compare(
"TOB_L4")==0)
788 if(in.compare(
"TOB_L5")==0)
790 if(in.compare(
"TOB_L6")==0)
792 if(in.compare(
"TECP_W1")==0)
794 if(in.compare(
"TECP_W2")==0)
796 if(in.compare(
"TECP_W3")==0)
798 if(in.compare(
"TECP_W4")==0)
800 if(in.compare(
"TECP_W5")==0)
802 if(in.compare(
"TECP_W6")==0)
804 if(in.compare(
"TECP_W7")==0)
806 if(in.compare(
"TECP_W8")==0)
808 if(in.compare(
"TECP_W9")==0)
810 if(in.compare(
"TECM_W1")==0)
812 if(in.compare(
"TECM_W2")==0)
814 if(in.compare(
"TECM_W3")==0)
816 if(in.compare(
"TECM_W4")==0)
818 if(in.compare(
"TECM_W5")==0)
820 if(in.compare(
"TECM_W6")==0)
822 if(in.compare(
"TECM_W7")==0)
824 if(in.compare(
"TECM_W8")==0)
826 if(in.compare(
"TECM_W9")==0)
bool isZMinusSide() const
unsigned int rodNumber() const
unsigned int petalNumber() const
unsigned int stringNumber() const
XYbin getXY_TOB(uint32_t &detid, int layerEnumNb=0)
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)
unsigned int side() const
positive or negative id
unsigned int layerNumber() const
std::vector< uint32_t > BinForRing
int getLayerNum(std::string &in)
bool isZMinusSide() const
bool isZMinusSide() const
const std::vector< uint32_t > & getAllDetIds() const
void getDetsForLayer(int layer, std::vector< uint32_t > &output)
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
unsigned int moduleNumber() const
unsigned int ring() const
ring id
const XYbin getXY(uint32_t &detid, int layerEnumNb=0)
std::vector< uint32_t > ModulesInRingFront
unsigned int moduleNumber() const
Detector identifier class for the strip tracker.
bool isZMinusSide() const
XYbin getXY_TIB(uint32_t &detid, int layerEnumNb=0)
void createTID(std::vector< uint32_t > &TkDetIdList, int layer)
unsigned int side() const
positive or negative id
void createTOB(std::vector< uint32_t > &TkDetIdList, int layer)
int16_t FindLayer(uint32_t &detid)
bool isInternalString() const
void getSubDetLayerSide(int &in, SiStripDetId::SubDetector &, uint32_t &layer, uint32_t &side)
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
TkLayerMap::XYbin cached_XYbin
void initialize(int layer)
void getComponents(int &layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY)
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
const TkLayerMap::XYbin & getXY(uint32_t &)
std::vector< uint32_t > ModulesInRingBack
std::string getLayerName(int &in)
XYbin getXY_TID(uint32_t &detid, int layerEnumNb=0)
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
std::vector< uint32_t > SingleExtString
XYbin getXY_TEC(uint32_t &detid, int layerEnumNb=0)
uint32_t getDetFromBin(int ix, int iy)
unsigned int moduleNumber() const
DecomposeProduct< arg, typename Div::arg > D
unsigned int moduleNumber() const
unsigned int wheel() const
wheel id