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);
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){
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){
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){
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){
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){
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;
685 int& nchX,
double& lowX,
double& highX,
686 int& nchY,
double& lowY,
double& highY)
const {
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();
698 output.resize(size_);
699 memcpy((
void*)&output[0],(
void*)
TkMap[layer]->getBinToDet(),size_*
sizeof(uint32_t));
778 if(in.compare(
"TIB_L1")==0)
780 if(in.compare(
"TIB_L2")==0)
782 if(in.compare(
"TIB_L3")==0)
784 if(in.compare(
"TIB_L4")==0)
786 if(in.compare(
"TIDP_D1")==0)
788 if(in.compare(
"TIDP_D2")==0)
790 if(in.compare(
"TIDP_D3")==0)
792 if(in.compare(
"TIDM_D1")==0)
794 if(in.compare(
"TIDM_D2")==0)
796 if(in.compare(
"TIDM_D3")==0)
798 if(in.compare(
"TOB_L1")==0)
800 if(in.compare(
"TOB_L2")==0)
802 if(in.compare(
"TOB_L3")==0)
804 if(in.compare(
"TOB_L4")==0)
806 if(in.compare(
"TOB_L5")==0)
808 if(in.compare(
"TOB_L6")==0)
810 if(in.compare(
"TECP_W1")==0)
812 if(in.compare(
"TECP_W2")==0)
814 if(in.compare(
"TECP_W3")==0)
816 if(in.compare(
"TECP_W4")==0)
818 if(in.compare(
"TECP_W5")==0)
820 if(in.compare(
"TECP_W6")==0)
822 if(in.compare(
"TECP_W7")==0)
824 if(in.compare(
"TECP_W8")==0)
826 if(in.compare(
"TECP_W9")==0)
828 if(in.compare(
"TECM_W1")==0)
830 if(in.compare(
"TECM_W2")==0)
832 if(in.compare(
"TECM_W3")==0)
834 if(in.compare(
"TECM_W4")==0)
836 if(in.compare(
"TECM_W5")==0)
838 if(in.compare(
"TECM_W6")==0)
840 if(in.compare(
"TECM_W7")==0)
842 if(in.compare(
"TECM_W8")==0)
844 if(in.compare(
"TECM_W9")==0)
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 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