25 : mPItems(
src.mPItems), mTItems(
src.mTItems), mPItemsById(
src.mPItemsById), mTItemsByTrigId(
src.mTItemsByTrigId) {}
44 return HcalObjectAddons::findByT<PrecisionItem, HcalElectronicsMapAddons::LessById>(&
target,
mPItemsById);
51 if (
i !=
nullptr &&
i->mElId != fElId)
60 if (
i !=
nullptr &&
i->mElId != fElId)
67 return HcalObjectAddons::findByT<TriggerItem, HcalElectronicsMapAddons::LessByTrigId>(&
target,
mTItemsByTrigId);
92 if (
i !=
nullptr &&
i->mId != 0) {
102 if (
i !=
nullptr &&
i->mTrigId != 0) {
111 std::vector<HcalElectronicsId>
result;
123 std::vector<HcalElectronicsId>
result;
131 std::vector<HcalElectronicsId>
result;
140 std::vector<HcalGenericDetId>
result;
141 std::set<unsigned long> allIds;
144 allIds.insert(
item->mId);
145 for (std::set<unsigned long>::const_iterator channel = allIds.begin(); channel != allIds.end(); channel++) {
152 std::vector<HcalTrigTowerDetId>
result;
153 std::set<unsigned long> allIds;
156 allIds.insert(
item->mTrigId);
157 for (std::set<unsigned long>::const_iterator channel = allIds.begin(); channel != allIds.end(); channel++)
171 if (
item.mTrigId == 0) {
173 }
else if (
item.mTrigId != fTriggerId.
rawId()) {
174 edm::LogWarning(
"HCAL") <<
"HcalElectronicsMap::Helper::mapEId2tId-> Electronics channel " << fElectronicsId
176 <<
". New value " << fTriggerId <<
" is ignored";
190 edm::LogWarning(
"HCAL") <<
"HcalElectronicsMap::Helper::mapEId2tId-> Electronics channel " << fElectronicsId
199 HcalObjectAddons::sortByT<PrecisionItem, HcalElectronicsMapAddons::LessById>(mPItems, mPItemsById);
203 HcalObjectAddons::sortByT<TriggerItem, HcalElectronicsMapAddons::LessByTrigId>(mTItems, mTItemsByTrigId);
const TriggerItem * findByTrigId(unsigned long fTrigId) const
std::vector< HcalElectronicsId > allElectronicsIdTrigger() const
bool mapEId2chId(HcalElectronicsId fElectronicsId, DetId fId)
std::vector< PrecisionItem > mPItems
std::vector< HcalTrigTowerDetId > allTriggerId() const
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
void swap(Association< C > &lhs, Association< C > &rhs)
void swap(HcalElectronicsMap &other)
constexpr int32_t linearIndex() const
get a fast, compact, unique index for linear lookups
std::vector< const PrecisionItem * > mPItemsById
std::vector< TriggerItem > mTItems
const PrecisionItem * findPByElId(unsigned long fElId) const
bool mapEId2tId(HcalElectronicsId fElectronicsId, HcalTrigTowerDetId fTriggerId)
std::vector< HcalElectronicsId > allElectronicsId() const
const PrecisionItem * findById(unsigned long fId) const
std::vector< const TriggerItem * > mTItemsByTrigId
constexpr uint32_t rawId() const
get the raw id
HcalElectronicsMap & operator=(const HcalElectronicsMap &rhs)
constexpr uint32_t rawId() const
const TriggerItem * findTByElId(unsigned long fElId) const
std::vector< HcalGenericDetId > allPrecisionId() const
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
const DetId lookupTrigger(HcalElectronicsId fId) const
brief lookup the trigger logical detid associated with the given electronics id
Log< level::Warning, false > LogWarning
Readout chain identification for Hcal.