Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:08

0001 #include "DataFormats/ForwardDetId/interface/HGCSiliconDetIdToModule.h"
0002 
0003 HGCSiliconDetIdToModule::HGCSiliconDetIdToModule() {}
0004 
0005 std::vector<HGCSiliconDetId> HGCSiliconDetIdToModule::getDetIds(HGCSiliconDetId const& id) const {
0006   std::vector<HGCSiliconDetId> ids;
0007   int nCells = (id.type() == 0) ? HGCSiliconDetId::HGCalHighDensityN : HGCSiliconDetId::HGCalLowDensityN;
0008   for (int u = 0; u < 2 * nCells; ++u) {
0009     for (int v = 0; v < 2 * nCells; ++v) {
0010       if (((v - u) < nCells) && (u - v) <= nCells) {
0011         HGCSiliconDetId newId(id.det(), id.zside(), id.type(), id.layer(), id.waferU(), id.waferV(), u, v);
0012         ids.emplace_back(newId);
0013       }
0014     }
0015   }
0016   return ids;
0017 }
0018 
0019 std::vector<HGCalTriggerDetId> HGCSiliconDetIdToModule::getDetTriggerIds(HGCSiliconDetId const& id) const {
0020   std::vector<HGCalTriggerDetId> ids;
0021   int nCells = HGCSiliconDetId::HGCalHighDensityN / HGCSiliconDetId::HGCalFineTrigger;
0022   int subdet = (id.det() == DetId::HGCalEE) ? HGCalEETrigger : HGCalHSiTrigger;
0023   for (int u = 0; u < 2 * nCells; ++u) {
0024     for (int v = 0; v < 2 * nCells; ++v) {
0025       if (((v - u) < nCells) && (u - v) <= nCells) {
0026         HGCalTriggerDetId newId(subdet, id.zside(), id.type(), id.layer(), id.waferU(), id.waferV(), u, v);
0027         ids.emplace_back(newId);
0028       }
0029     }
0030   }
0031   return ids;
0032 }