File indexing completed on 2023-10-25 09:33:08
0001
0002
0003
0004
0005
0006
0007 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0008
0009 #include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
0010 #include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
0011 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0012
0013 #include "Alignment/TrackerAlignment/interface/TrackerAlignableId.h"
0014
0015
0016
0017 std::pair<int, int> TrackerAlignableId::typeAndLayerFromDetId(const DetId& detId, const TrackerTopology* tTopo) const {
0018 int layerNumber = 0;
0019
0020 unsigned int subdetId = static_cast<unsigned int>(detId.subdetId());
0021
0022 if (subdetId == StripSubdetector::TIB) {
0023 layerNumber = tTopo->tibLayer(detId.rawId());
0024 } else if (subdetId == StripSubdetector::TOB) {
0025 layerNumber = tTopo->tobLayer(detId.rawId());
0026 } else if (subdetId == StripSubdetector::TID) {
0027 layerNumber = tTopo->tidWheel(detId.rawId());
0028 } else if (subdetId == StripSubdetector::TEC) {
0029 layerNumber = tTopo->tecWheel(detId.rawId());
0030 } else if (subdetId == PixelSubdetector::PixelBarrel) {
0031 layerNumber = tTopo->pxbLayer(detId.rawId());
0032 } else if (subdetId == PixelSubdetector::PixelEndcap) {
0033 layerNumber = tTopo->pxfDisk(detId.rawId());
0034 } else
0035 edm::LogWarning("LogicError") << "Unknown subdetid: " << subdetId;
0036
0037 return std::make_pair(subdetId, layerNumber);
0038 }